[clang] [llvm] [NFC] Partially fix buildbot failures after #210279 (PR #219169)
Alex Voicu via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 27 03:33:11 PDT 2026
https://github.com/AlexVlx created https://github.com/llvm/llvm-project/pull/219169
Some variables were used only in `assert`s, and thus would tickle `-werror` release builds.
>From 3e0abe10c53e08cc1ebf16662d8d58cd7245f70f Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 15 May 2025 23:27:42 +0100
Subject: [PATCH 01/31] Add pass which forwards unimplemented math builtins /
libcalls to the HIPSTDPAR runtime component.
---
.../llvm/Transforms/HipStdPar/HipStdPar.h | 7 +
llvm/lib/Passes/PassRegistry.def | 1 +
.../lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 8 +-
llvm/lib/Transforms/HipStdPar/HipStdPar.cpp | 117 +++++++++
llvm/test/Transforms/HipStdPar/math-fixup.ll | 240 ++++++++++++++++++
5 files changed, 371 insertions(+), 2 deletions(-)
create mode 100644 llvm/test/Transforms/HipStdPar/math-fixup.ll
diff --git a/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h b/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
index 5ff38bdf04812..27195051ed7eb 100644
--- a/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
+++ b/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
@@ -40,6 +40,13 @@ class HipStdParAllocationInterpositionPass
static bool isRequired() { return true; }
};
+class HipStdParMathFixupPass : public PassInfoMixin<HipStdParMathFixupPass> {
+public:
+ PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
+
+ static bool isRequired() { return true; }
+};
+
} // namespace llvm
#endif // LLVM_TRANSFORMS_HIPSTDPAR_HIPSTDPAR_H
diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def
index 94dabe290213d..3acdbf4d49fde 100644
--- a/llvm/lib/Passes/PassRegistry.def
+++ b/llvm/lib/Passes/PassRegistry.def
@@ -80,6 +80,7 @@ MODULE_PASS("global-merge-func", GlobalMergeFuncPass())
MODULE_PASS("globalopt", GlobalOptPass())
MODULE_PASS("globalsplit", GlobalSplitPass())
MODULE_PASS("hipstdpar-interpose-alloc", HipStdParAllocationInterpositionPass())
+MODULE_PASS("hipstdpar-math-fixup", HipStdParMathFixupPass())
MODULE_PASS("hipstdpar-select-accelerator-code",
HipStdParAcceleratorCodeSelectionPass())
MODULE_PASS("hotcoldsplit", HotColdSplittingPass())
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index ccb251b730f16..c3f8cee1e1783 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -819,8 +819,10 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
// When we are not using -fgpu-rdc, we can run accelerator code
// selection relatively early, but still after linking to prevent
// eager removal of potentially reachable symbols.
- if (EnableHipStdPar)
+ if (EnableHipStdPar) {
+ PM.addPass(HipStdParMathFixupPass());
PM.addPass(HipStdParAcceleratorCodeSelectionPass());
+ }
PM.addPass(AMDGPUPrintfRuntimeBindingPass());
}
@@ -899,8 +901,10 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
// selection after linking to prevent, otherwise we end up removing
// potentially reachable symbols that were exported as external in other
// modules.
- if (EnableHipStdPar)
+ if (EnableHipStdPar) {
+ PM.addPass(HipStdParMathFixupPass());
PM.addPass(HipStdParAcceleratorCodeSelectionPass());
+ }
// We want to support the -lto-partitions=N option as "best effort".
// For that, we need to lower LDS earlier in the pipeline before the
// module is partitioned for codegen.
diff --git a/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp b/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
index 5a87cf8c83d79..815878089c69e 100644
--- a/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
+++ b/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
@@ -37,6 +37,16 @@
// memory that ends up in one of the runtime equivalents, since this can
// happen if e.g. a library that was compiled without interposition returns
// an allocation that can be validly passed to `free`.
+//
+// 3. MathFixup (required): Some accelerators might have an incomplete
+// implementation for the intrinsics used to implement some of the math
+// functions in <cmath> / their corresponding libcall lowerings. Since this
+// can vary quite significantly between accelerators, we replace calls to a
+// set of intrinsics / lib functions known to be problematic with calls to a
+// HIPSTDPAR specific forwarding layer, which gives an uniform interface for
+// accelerators to implement in their own runtime components. This pass
+// should run before AcceleratorCodeSelection so as to prevent the spurious
+// removal of the HIPSTDPAR specific forwarding functions.
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/HipStdPar/HipStdPar.h"
@@ -48,6 +58,7 @@
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
+#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
@@ -321,3 +332,109 @@ HipStdParAllocationInterpositionPass::run(Module &M, ModuleAnalysisManager&) {
return PreservedAnalyses::none();
}
+
+static constexpr std::pair<StringLiteral, StringLiteral> MathLibToHipStdPar[]{
+ {"acosh", "__hipstdpar_acosh_f64"},
+ {"acoshf", "__hipstdpar_acosh_f32"},
+ {"asinh", "__hipstdpar_asinh_f64"},
+ {"asinhf", "__hipstdpar_asinh_f32"},
+ {"atanh", "__hipstdpar_atanh_f64"},
+ {"atanhf", "__hipstdpar_atanh_f32"},
+ {"cbrt", "__hipstdpar_cbrt_f64"},
+ {"cbrtf", "__hipstdpar_cbrt_f32"},
+ {"erf", "__hipstdpar_erf_f64"},
+ {"erff", "__hipstdpar_erf_f32"},
+ {"erfc", "__hipstdpar_erfc_f64"},
+ {"erfcf", "__hipstdpar_erfc_f32"},
+ {"fdim", "__hipstdpar_fdim_f64"},
+ {"fdimf", "__hipstdpar_fdim_f32"},
+ {"expm1", "__hipstdpar_expm1_f64"},
+ {"expm1f", "__hipstdpar_expm1_f32"},
+ {"hypot", "__hipstdpar_hypot_f64"},
+ {"hypotf", "__hipstdpar_hypot_f32"},
+ {"ilogb", "__hipstdpar_ilogb_f64"},
+ {"ilogbf", "__hipstdpar_ilogb_f32"},
+ {"lgamma", "__hipstdpar_lgamma_f64"},
+ {"lgammaf", "__hipstdpar_lgamma_f32"},
+ {"log1p", "__hipstdpar_log1p_f64"},
+ {"log1pf", "__hipstdpar_log1p_f32"},
+ {"logb", "__hipstdpar_logb_f64"},
+ {"logbf", "__hipstdpar_logb_f32"},
+ {"nextafter", "__hipstdpar_nextafter_f64"},
+ {"nextafterf", "__hipstdpar_nextafter_f32"},
+ {"nexttoward", "__hipstdpar_nexttoward_f64"},
+ {"nexttowardf", "__hipstdpar_nexttoward_f32"},
+ {"remainder", "__hipstdpar_remainder_f64"},
+ {"remainderf", "__hipstdpar_remainder_f32"},
+ {"remquo", "__hipstdpar_remquo_f64"},
+ {"remquof", "__hipstdpar_remquo_f32"},
+ {"scalbln", "__hipstdpar_scalbln_f64"},
+ {"scalblnf", "__hipstdpar_scalbln_f32"},
+ {"scalbn", "__hipstdpar_scalbn_f64"},
+ {"scalbnf", "__hipstdpar_scalbn_f32"},
+ {"tgamma", "__hipstdpar_tgamma_f64"},
+ {"tgammaf", "__hipstdpar_tgamma_f32"}};
+
+PreservedAnalyses HipStdParMathFixupPass::run(Module &M,
+ ModuleAnalysisManager &) {
+ if (M.empty())
+ return PreservedAnalyses::all();
+
+ SmallVector<std::pair<Function *, std::string>> ToReplace;
+ for (auto &&F : M) {
+ if (!F.hasName())
+ continue;
+
+ auto N = F.getName().str();
+ auto ID = F.getIntrinsicID();
+
+ switch (ID) {
+ case Intrinsic::not_intrinsic: {
+ auto It = find_if(MathLibToHipStdPar,
+ [&](auto &&M) { return M.first == N; });
+ if (It == std::cend(MathLibToHipStdPar))
+ continue;
+ ToReplace.emplace_back(&F, It->second);
+ break;
+ }
+ case Intrinsic::acos:
+ case Intrinsic::asin:
+ case Intrinsic::atan:
+ case Intrinsic::atan2:
+ case Intrinsic::cosh:
+ case Intrinsic::modf:
+ case Intrinsic::sinh:
+ case Intrinsic::tan:
+ case Intrinsic::tanh:
+ break;
+ default: {
+ if (F.getReturnType()->isDoubleTy()) {
+ switch (ID) {
+ case Intrinsic::cos:
+ case Intrinsic::exp:
+ case Intrinsic::exp2:
+ case Intrinsic::log:
+ case Intrinsic::log10:
+ case Intrinsic::log2:
+ case Intrinsic::pow:
+ case Intrinsic::sin:
+ break;
+ default:
+ continue;
+ }
+ break;
+ }
+ continue;
+ }
+ }
+
+ llvm::replace(N, '.', '_');
+ N.replace(0, sizeof("llvm"), "__hipstdpar_");
+ ToReplace.emplace_back(&F, std::move(N));
+ }
+ for (auto &&F : ToReplace)
+ F.first->replaceAllUsesWith(M.getOrInsertFunction(
+ F.second, F.first->getFunctionType()).getCallee());
+
+ return PreservedAnalyses::none();
+}
\ No newline at end of file
diff --git a/llvm/test/Transforms/HipStdPar/math-fixup.ll b/llvm/test/Transforms/HipStdPar/math-fixup.ll
new file mode 100644
index 0000000000000..e0e2ca79c0843
--- /dev/null
+++ b/llvm/test/Transforms/HipStdPar/math-fixup.ll
@@ -0,0 +1,240 @@
+; RUN: opt -S -passes=hipstdpar-math-fixup %s | FileCheck %s
+
+define void @foo(double noundef %dbl, float noundef %flt, i32 noundef %quo) #0 {
+; CHECK-LABEL: define void @foo(
+; CHECK-SAME: double noundef [[DBL:%.*]], float noundef [[FLT:%.*]], i32 noundef [[QUO:%.*]]) #[[ATTR0:[0-9]+]] {
+; CHECK-NEXT: [[ENTRY:.*:]]
+; CHECK-NEXT: [[QUO_ADDR:%.*]] = alloca i32, align 4
+; CHECK-NEXT: store i32 [[QUO]], ptr [[QUO_ADDR]], align 4
+entry:
+ %quo.addr = alloca i32, align 4
+ store i32 %quo, ptr %quo.addr, align 4
+ ; CHECK-NEXT: [[TMP0:%.*]] = tail call contract double @llvm.fabs.f64(double [[DBL]])
+ %0 = tail call contract double @llvm.fabs.f64(double %dbl)
+ ; CHECK-NEXT: [[TMP1:%.*]] = tail call contract float @llvm.fabs.f32(float [[FLT]])
+ %1 = tail call contract float @llvm.fabs.f32(float %flt)
+ ; CHECK-NEXT: [[CALL:%.*]] = tail call contract double @__hipstdpar_remainder_f64(double noundef [[TMP0]], double noundef [[TMP0]]) #[[ATTR4:[0-9]+]]
+ %call = tail call contract double @remainder(double noundef %0, double noundef %0) #4
+ ; CHECK-NEXT: [[CALL1:%.*]] = tail call contract float @__hipstdpar_remainder_f32(float noundef [[TMP1]], float noundef [[TMP1]]) #[[ATTR4]]
+ %call1 = tail call contract float @remainderf(float noundef %1, float noundef %1) #4
+ ; CHECK-NEXT: [[CALL2:%.*]] = call contract double @__hipstdpar_remquo_f64(double noundef [[CALL]], double noundef [[CALL]], ptr noundef nonnull [[QUO_ADDR]]) #[[ATTR3:[0-9]+]]
+ %call2 = call contract double @remquo(double noundef %call, double noundef %call, ptr noundef nonnull %quo.addr) #5
+ ; CHECK-NEXT: [[CALL3:%.*]] = call contract float @__hipstdpar_remquo_f32(float noundef [[CALL1]], float noundef [[CALL1]], ptr noundef nonnull [[QUO_ADDR]]) #[[ATTR3]]
+ %call3 = call contract float @remquof(float noundef %call1, float noundef %call1, ptr noundef nonnull %quo.addr) #5
+ ; CHECK-NEXT: [[TMP2:%.*]] = call contract double @llvm.fma.f64(double [[CALL2]], double [[CALL2]], double [[CALL2]])
+ %2 = call contract double @llvm.fma.f64(double %call2, double %call2, double %call2)
+ ; CHECK-NEXT: [[TMP3:%.*]] = call contract float @llvm.fma.f32(float [[CALL3]], float [[CALL3]], float [[CALL3]])
+ %3 = call contract float @llvm.fma.f32(float %call3, float %call3, float %call3)
+ ; CHECK-NEXT: [[CALL4:%.*]] = call contract double @__hipstdpar_fdim_f64(double noundef [[TMP2]], double noundef [[TMP2]]) #[[ATTR4]]
+ %call4 = call contract double @fdim(double noundef %2, double noundef %2) #4
+ ; CHECK-NEXT: [[CALL5:%.*]] = call contract float @__hipstdpar_fdim_f32(float noundef [[TMP3]], float noundef [[TMP3]]) #[[ATTR4]]
+ %call5 = call contract float @fdimf(float noundef %3, float noundef %3) #4
+ ; CHECK-NEXT: [[TMP4:%.*]] = call contract double @__hipstdpar_exp_f64(double [[CALL4]])
+ %4 = call contract double @llvm.exp.f64(double %call4)
+ ; CHECK-NEXT: [[TMP5:%.*]] = call contract float @llvm.exp.f32(float [[CALL5]])
+ %5 = call contract float @llvm.exp.f32(float %call5)
+ ; CHECK-NEXT: [[TMP6:%.*]] = call contract double @__hipstdpar_exp2_f64(double [[TMP4]])
+ %6 = call contract double @llvm.exp2.f64(double %4)
+ ; CHECK-NEXT: [[TMP7:%.*]] = call contract float @llvm.exp2.f32(float [[TMP5]])
+ %7 = call contract float @llvm.exp2.f32(float %5)
+ ; CHECK-NEXT: [[CALL6:%.*]] = call contract double @__hipstdpar_expm1_f64(double noundef [[TMP6]]) #[[ATTR4]]
+ %call6 = call contract double @expm1(double noundef %6) #4
+ ; CHECK-NEXT: [[CALL7:%.*]] = call contract float @__hipstdpar_expm1_f32(float noundef [[TMP7]]) #[[ATTR4]]
+ %call7 = call contract float @expm1f(float noundef %7) #4
+ ; CHECK-NEXT: [[TMP8:%.*]] = call contract double @__hipstdpar_log_f64(double [[CALL6]])
+ %8 = call contract double @llvm.log.f64(double %call6)
+ ; CHECK-NEXT: [[TMP9:%.*]] = call contract float @llvm.log.f32(float [[CALL7]])
+ %9 = call contract float @llvm.log.f32(float %call7)
+ ; CHECK-NEXT: [[TMP10:%.*]] = call contract double @__hipstdpar_log10_f64(double [[TMP8]])
+ %10 = call contract double @llvm.log10.f64(double %8)
+ ; CHECK-NEXT: [[TMP11:%.*]] = call contract float @llvm.log10.f32(float [[TMP9]])
+ %11 = call contract float @llvm.log10.f32(float %9)
+ ; CHECK-NEXT: [[TMP12:%.*]] = call contract double @__hipstdpar_log2_f64(double [[TMP10]])
+ %12 = call contract double @llvm.log2.f64(double %10)
+ ; CHECK-NEXT: [[TMP13:%.*]] = call contract float @llvm.log2.f32(float [[TMP11]])
+ %13 = call contract float @llvm.log2.f32(float %11)
+ ; CHECK-NEXT: [[CALL8:%.*]] = call contract double @__hipstdpar_log1p_f64(double noundef [[TMP12]]) #[[ATTR4]]
+ %call8 = call contract double @log1p(double noundef %12) #4
+ ; CHECK-NEXT: [[CALL9:%.*]] = call contract float @__hipstdpar_log1p_f32(float noundef [[TMP13]]) #[[ATTR4]]
+ %call9 = call contract float @log1pf(float noundef %13) #4
+ ; CHECK-NEXT: [[TMP14:%.*]] = call contract float @llvm.pow.f32(float [[CALL9]], float [[CALL9]])
+ %14 = call contract float @llvm.pow.f32(float %call9, float %call9)
+ ; CHECK-NEXT: [[TMP15:%.*]] = call contract double @llvm.sqrt.f64(double [[CALL8]])
+ %15 = call contract double @llvm.sqrt.f64(double %call8)
+ ; CHECK-NEXT: [[TMP16:%.*]] = call contract float @llvm.sqrt.f32(float [[TMP14]])
+ %16 = call contract float @llvm.sqrt.f32(float %14)
+ ; CHECK-NEXT: [[CALL10:%.*]] = call contract double @__hipstdpar_cbrt_f64(double noundef [[TMP15]]) #[[ATTR4]]
+ %call10 = call contract double @cbrt(double noundef %15) #4
+ ; CHECK-NEXT: [[CALL11:%.*]] = call contract float @__hipstdpar_cbrt_f32(float noundef [[TMP16]]) #[[ATTR4]]
+ %call11 = call contract float @cbrtf(float noundef %16) #4
+ ; CHECK-NEXT: [[CALL12:%.*]] = call contract double @__hipstdpar_hypot_f64(double noundef [[CALL10]], double noundef [[CALL10]]) #[[ATTR4]]
+ %call12 = call contract double @hypot(double noundef %call10, double noundef %call10) #4
+ ; CHECK-NEXT: [[CALL13:%.*]] = call contract float @__hipstdpar_hypot_f32(float noundef [[CALL11]], float noundef [[CALL11]]) #[[ATTR4]]
+ %call13 = call contract float @hypotf(float noundef %call11, float noundef %call11) #4
+ ; CHECK-NEXT: [[TMP17:%.*]] = call contract float @llvm.sin.f32(float [[CALL13]])
+ %17 = call contract float @llvm.sin.f32(float %call13)
+ ; CHECK-NEXT: [[TMP18:%.*]] = call contract float @llvm.cos.f32(float [[TMP17]])
+ %18 = call contract float @llvm.cos.f32(float %17)
+ ; CHECK-NEXT: [[TMP19:%.*]] = call contract double @__hipstdpar_tan_f64(double [[CALL12]])
+ %19 = call contract double @llvm.tan.f64(double %call12)
+ ; CHECK-NEXT: [[TMP20:%.*]] = call contract double @__hipstdpar_asin_f64(double [[TMP19]])
+ %20 = call contract double @llvm.asin.f64(double %19)
+ ; CHECK-NEXT: [[TMP21:%.*]] = call contract double @__hipstdpar_acos_f64(double [[TMP20]])
+ %21 = call contract double @llvm.acos.f64(double %20)
+ ; CHECK-NEXT: [[TMP22:%.*]] = call contract double @__hipstdpar_atan_f64(double [[TMP21]])
+ %22 = call contract double @llvm.atan.f64(double %21)
+ ; CHECK-NEXT: [[TMP23:%.*]] = call contract double @__hipstdpar_atan2_f64(double [[TMP22]], double [[TMP22]])
+ %23 = call contract double @llvm.atan2.f64(double %22, double %22)
+ ; CHECK-NEXT: [[TMP24:%.*]] = call contract double @__hipstdpar_sinh_f64(double [[TMP23]])
+ %24 = call contract double @llvm.sinh.f64(double %23)
+ ; CHECK-NEXT: [[TMP25:%.*]] = call contract double @__hipstdpar_cosh_f64(double [[TMP24]])
+ %25 = call contract double @llvm.cosh.f64(double %24)
+ ; CHECK-NEXT: [[TMP26:%.*]] = call contract double @__hipstdpar_tanh_f64(double [[TMP25]])
+ %26 = call contract double @llvm.tanh.f64(double %25)
+ ; CHECK-NEXT: [[CALL14:%.*]] = call contract double @__hipstdpar_asinh_f64(double noundef [[TMP26]]) #[[ATTR4]]
+ %call14 = call contract double @asinh(double noundef %26) #4
+ ; CHECK-NEXT: [[CALL15:%.*]] = call contract float @__hipstdpar_asinh_f32(float noundef [[TMP18]]) #[[ATTR4]]
+ %call15 = call contract float @asinhf(float noundef %18) #4
+ ; CHECK-NEXT: [[CALL16:%.*]] = call contract double @__hipstdpar_acosh_f64(double noundef [[CALL14]]) #[[ATTR4]]
+ %call16 = call contract double @acosh(double noundef %call14) #4
+ ; CHECK-NEXT: [[CALL17:%.*]] = call contract float @__hipstdpar_acosh_f32(float noundef [[CALL15]]) #[[ATTR4]]
+ %call17 = call contract float @acoshf(float noundef %call15) #4
+ ; CHECK-NEXT: [[CALL18:%.*]] = call contract double @__hipstdpar_atanh_f64(double noundef [[CALL16]]) #[[ATTR4]]
+ %call18 = call contract double @atanh(double noundef %call16) #4
+ ; CHECK-NEXT: [[CALL19:%.*]] = call contract float @__hipstdpar_atanh_f32(float noundef [[CALL17]]) #[[ATTR4]]
+ %call19 = call contract float @atanhf(float noundef %call17) #4
+ ; CHECK-NEXT: [[CALL20:%.*]] = call contract double @__hipstdpar_erf_f64(double noundef [[CALL18]]) #[[ATTR4]]
+ %call20 = call contract double @erf(double noundef %call18) #4
+ ; CHECK-NEXT: [[CALL21:%.*]] = call contract float @__hipstdpar_erf_f32(float noundef [[CALL19]]) #[[ATTR4]]
+ %call21 = call contract float @erff(float noundef %call19) #4
+ ; CHECK-NEXT: [[CALL22:%.*]] = call contract double @__hipstdpar_erfc_f64(double noundef [[CALL20]]) #[[ATTR4]]
+ %call22 = call contract double @erfc(double noundef %call20) #4
+ ; CHECK-NEXT: [[CALL23:%.*]] = call contract float @__hipstdpar_erfc_f32(float noundef [[CALL21]]) #[[ATTR4]]
+ %call23 = call contract float @erfcf(float noundef %call21) #4
+ ; CHECK-NEXT: [[CALL24:%.*]] = call contract double @__hipstdpar_tgamma_f64(double noundef [[CALL22]]) #[[ATTR4]]
+ %call24 = call contract double @tgamma(double noundef %call22) #4
+ ; CHECK-NEXT: [[CALL25:%.*]] = call contract float @__hipstdpar_tgamma_f32(float noundef [[CALL23]]) #[[ATTR4]]
+ %call25 = call contract float @tgammaf(float noundef %call23) #4
+ ; CHECK-NEXT: [[CALL26:%.*]] = call contract double @__hipstdpar_lgamma_f64(double noundef [[CALL24]]) #[[ATTR3]]
+ %call26 = call contract double @lgamma(double noundef %call24) #5
+ ; CHECK-NEXT: [[CALL27:%.*]] = call contract float @__hipstdpar_lgamma_f32(float noundef [[CALL25]]) #[[ATTR3]]
+ %call27 = call contract float @lgammaf(float noundef %call25) #5
+ ret void
+}
+
+declare double @llvm.fabs.f64(double) #1
+
+declare float @llvm.fabs.f32(float) #1
+
+declare hidden double @remainder(double noundef, double noundef) local_unnamed_addr #2
+
+declare hidden float @remainderf(float noundef, float noundef) local_unnamed_addr #2
+
+declare hidden double @remquo(double noundef, double noundef, ptr noundef) local_unnamed_addr #3
+
+declare hidden float @remquof(float noundef, float noundef, ptr noundef) local_unnamed_addr #3
+
+declare double @llvm.fma.f64(double, double, double) #1
+
+declare float @llvm.fma.f32(float, float, float) #1
+
+declare hidden double @fdim(double noundef, double noundef) local_unnamed_addr #2
+
+declare hidden float @fdimf(float noundef, float noundef) local_unnamed_addr #2
+
+declare double @llvm.exp.f64(double) #1
+
+declare float @llvm.exp.f32(float) #1
+
+declare double @llvm.exp2.f64(double) #1
+
+declare float @llvm.exp2.f32(float) #1
+
+declare hidden double @expm1(double noundef) local_unnamed_addr #2
+
+declare hidden float @expm1f(float noundef) local_unnamed_addr #2
+
+declare double @llvm.log.f64(double) #1
+
+declare float @llvm.log.f32(float) #1
+
+declare double @llvm.log10.f64(double) #1
+
+declare float @llvm.log10.f32(float) #1
+
+declare double @llvm.log2.f64(double) #1
+
+declare float @llvm.log2.f32(float) #1
+
+declare hidden double @log1p(double noundef) local_unnamed_addr #2
+
+declare hidden float @log1pf(float noundef) local_unnamed_addr #2
+
+declare float @llvm.pow.f32(float, float) #1
+
+declare double @llvm.sqrt.f64(double) #1
+
+declare float @llvm.sqrt.f32(float) #1
+
+declare hidden double @cbrt(double noundef) local_unnamed_addr #2
+
+declare hidden float @cbrtf(float noundef) local_unnamed_addr #2
+
+declare hidden double @hypot(double noundef, double noundef) local_unnamed_addr #2
+
+declare hidden float @hypotf(float noundef, float noundef) local_unnamed_addr #2
+
+declare float @llvm.sin.f32(float) #1
+
+declare float @llvm.cos.f32(float) #1
+
+declare double @llvm.tan.f64(double) #1
+
+declare double @llvm.asin.f64(double) #1
+
+declare double @llvm.acos.f64(double) #1
+
+declare double @llvm.atan.f64(double) #1
+
+declare double @llvm.atan2.f64(double, double) #1
+
+declare double @llvm.sinh.f64(double) #1
+
+declare double @llvm.cosh.f64(double) #1
+
+declare double @llvm.tanh.f64(double) #1
+
+declare hidden double @asinh(double noundef) local_unnamed_addr #2
+
+declare hidden float @asinhf(float noundef) local_unnamed_addr #2
+
+declare hidden double @acosh(double noundef) local_unnamed_addr #2
+
+declare hidden float @acoshf(float noundef) local_unnamed_addr #2
+
+declare hidden double @atanh(double noundef) local_unnamed_addr #2
+
+declare hidden float @atanhf(float noundef) local_unnamed_addr #2
+
+declare hidden double @erf(double noundef) local_unnamed_addr #2
+
+declare hidden float @erff(float noundef) local_unnamed_addr #2
+
+declare hidden double @erfc(double noundef) local_unnamed_addr #2
+
+declare hidden float @erfcf(float noundef) local_unnamed_addr #2
+
+declare hidden double @tgamma(double noundef) local_unnamed_addr #2
+
+declare hidden float @tgammaf(float noundef) local_unnamed_addr #2
+
+declare hidden double @lgamma(double noundef) local_unnamed_addr #3
+
+declare hidden float @lgammaf(float noundef) local_unnamed_addr #3
+
+attributes #0 = { convergent mustprogress norecurse nounwind }
+attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
+attributes #2 = { convergent mustprogress nofree nounwind willreturn memory(none) }
+attributes #3 = { convergent nounwind }
+attributes #4 = { convergent nounwind willreturn memory(none) }
+attributes #5 = { convergent nounwind }
>From c0933bf40cee4ed34a14c6b70cab9950194ad6d3 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 9 Dec 2025 21:44:27 +0000
Subject: [PATCH 02/31] i128 is legal in IR / MIR, even though it might yield a
module which requires extensions.
---
llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp | 17 +++++++++--------
llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 4 ++--
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 2078bfee2e767..73e813ef53094 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -115,18 +115,19 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
v4s1, v4s8, v4s16, v4s32, v4s64};
auto allScalarsAndVectors = {
- s1, s8, s16, s32, s64, v2s1, v2s8, v2s16, v2s32, v2s64,
- v3s1, v3s8, v3s16, v3s32, v3s64, v4s1, v4s8, v4s16, v4s32, v4s64,
- v8s1, v8s8, v8s16, v8s32, v8s64, v16s1, v16s8, v16s16, v16s32, v16s64};
+ s1, s8, s16, s32, s64, s128, v2s1, v2s8, v2s16, v2s32,
+ v2s64, v3s1, v3s8, v3s16, v3s32, v3s64, v4s1, v4s8, v4s16, v4s32,
+ v4s64, v8s1, v8s8, v8s16, v8s32, v8s64, v16s1, v16s8, v16s16, v16s32,
+ v16s64};
- auto allIntScalarsAndVectors = {s8, s16, s32, s64, v2s8, v2s16,
- v2s32, v2s64, v3s8, v3s16, v3s32, v3s64,
- v4s8, v4s16, v4s32, v4s64, v8s8, v8s16,
- v8s32, v8s64, v16s8, v16s16, v16s32, v16s64};
+ auto allIntScalarsAndVectors = {
+ s8, s16, s32, s64, s128, v2s8, v2s16, v2s32, v2s64, v3s8,
+ v3s16, v3s32, v3s64, v4s8, v4s16, v4s32, v4s64, v8s8, v8s16, v8s32,
+ v8s64, v16s8, v16s16, v16s32, v16s64};
auto allBoolScalarsAndVectors = {s1, v2s1, v3s1, v4s1, v8s1, v16s1};
- auto allIntScalars = {s8, s16, s32, s64};
+ auto allIntScalars = {s8, s16, s32, s64, s128};
auto allFloatScalarsAndF16Vector2AndVector4s = {s16, s32, s64, v2s16, v4s16};
diff --git a/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
index acc726717743d..9ddbeee92ffb6 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
@@ -388,11 +388,11 @@ static SPIRVType *propagateSPIRVType(MachineInstr *MI, SPIRVGlobalRegistry *GR,
// To support current approach and limitations wrt. bit width here we widen a
// scalar register with a bit width greater than 1 to valid sizes and cap it to
-// 64 width.
+// 128 width.
static unsigned widenBitWidthToNextPow2(unsigned BitWidth) {
if (BitWidth == 1)
return 1; // No need to widen 1-bit values
- return std::min(std::max(1u << Log2_32_Ceil(BitWidth), 8u), 64u);
+ return std::min(std::max(1u << Log2_32_Ceil(BitWidth), 8u), 128u);
}
static void widenScalarType(Register Reg, MachineRegisterInfo &MRI) {
>From 82dbfe9ac050698e040cfacf5bc1ea4125901518 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 9 Dec 2025 21:54:01 +0000
Subject: [PATCH 03/31] Fix formatting.
---
llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 73e813ef53094..30703ee40be06 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -115,15 +115,15 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
v4s1, v4s8, v4s16, v4s32, v4s64};
auto allScalarsAndVectors = {
- s1, s8, s16, s32, s64, s128, v2s1, v2s8, v2s16, v2s32,
- v2s64, v3s1, v3s8, v3s16, v3s32, v3s64, v4s1, v4s8, v4s16, v4s32,
- v4s64, v8s1, v8s8, v8s16, v8s32, v8s64, v16s1, v16s8, v16s16, v16s32,
- v16s64};
+ s1, s8, s16, s32, s64, s128, v2s1, v2s8,
+ v2s16, v2s32, v2s64, v3s1, v3s8, v3s16, v3s32, v3s64,
+ v4s1, v4s8, v4s16, v4s32, v4s64, v8s1, v8s8, v8s16,
+ v8s32, v8s64, v16s1, v16s8, v16s16, v16s32, v16s64};
auto allIntScalarsAndVectors = {
- s8, s16, s32, s64, s128, v2s8, v2s16, v2s32, v2s64, v3s8,
- v3s16, v3s32, v3s64, v4s8, v4s16, v4s32, v4s64, v8s8, v8s16, v8s32,
- v8s64, v16s8, v16s16, v16s32, v16s64};
+ s8, s16, s32, s64, s128, v2s8, v2s16, v2s32, v2s64,
+ v3s8, v3s16, v3s32, v3s64, v4s8, v4s16, v4s32, v4s64, v8s8,
+ v8s16, v8s32, v8s64, v16s8, v16s16, v16s32, v16s64};
auto allBoolScalarsAndVectors = {s1, v2s1, v3s1, v4s1, v8s1, v16s1};
>From 97d5cc2eaa4db8027ecb6f038b356231c745c0a8 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 15 Dec 2025 17:59:30 +0000
Subject: [PATCH 04/31] Handle storing of aggregates via `spv_store`.
---
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 13 ++++++++
.../Target/SPIRV/SPIRVInstructionSelector.cpp | 10 +++++++
.../SPIRV/instructions/nested-composites.ll | 30 +++++++++++++++++++
3 files changed, 53 insertions(+)
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 9b34ff90abe69..73dcec062d3f0 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2021,6 +2021,19 @@ Instruction *SPIRVEmitIntrinsics::visitStoreInst(StoreInst &I) {
MachineMemOperand::Flags Flags =
TLI->getStoreMemOperandFlags(I, CurrF->getDataLayout());
auto *PtrOp = I.getPointerOperand();
+
+ if (I.getValueOperand()->getType()->isAggregateType()) {
+ // It is possible that what used to be an ExtractValueInst has been replaced
+ // with a call to the spv_extractv intrinsic, and that said call hasn't
+ // had its return type replaced with i32 during the dedicated pass (because
+ // it was emitted later); we have to handle this here, because IRTranslator
+ // cannot deal with multi-register types at the moment.
+ CallBase *CB = dyn_cast<CallBase>(I.getValueOperand());
+ assert(CB && CB->getIntrinsicID() == Intrinsic::spv_extractv &&
+ "Unexpected argument of aggregate type, should be spv_extractv!");
+ CB->mutateType(B.getInt32Ty());
+ }
+
auto *NewI = B.CreateIntrinsic(
Intrinsic::spv_store, {I.getValueOperand()->getType(), PtrOp->getType()},
{I.getValueOperand(), PtrOp, B.getInt16(Flags),
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index 2e4563795e8f0..dd2e3f1951850 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -3297,6 +3297,16 @@ bool SPIRVInstructionSelector::selectInsertVal(Register ResVReg,
bool SPIRVInstructionSelector::selectExtractVal(Register ResVReg,
const SPIRVType *ResType,
MachineInstr &I) const {
+ Type *MaybeResTy = nullptr;
+ StringRef ResName;
+ if (GR.findValueAttrs(&I, MaybeResTy, ResName) &&
+ MaybeResTy != GR.getTypeForSPIRVType(ResType)) {
+ assert(!MaybeResTy || MaybeResTy->isAggregateType() &&
+ "Expected aggregate type for extractv instruction");
+ ResType = GR.getOrCreateSPIRVType(MaybeResTy, I,
+ SPIRV::AccessQualifier::ReadWrite, false);
+ GR.assignSPIRVTypeToVReg(ResType, ResVReg, *I.getMF());
+ }
MachineBasicBlock &BB = *I.getParent();
auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCompositeExtract))
.addDef(ResVReg)
diff --git a/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll b/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
index 88e992f183452..7b49002766a26 100644
--- a/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
+++ b/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
@@ -1,13 +1,19 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
; CHECK-DAG: OpName [[FOOBAR:%.+]] "foobar"
; CHECK-DAG: OpName [[PRODUCER:%.+]] "producer"
; CHECK-DAG: OpName [[CONSUMER:%.+]] "consumer"
+; CHECK-DAG: OpName [[SNEAKY:%.+]] "sneaky"
+; CHECK-DAG: OpName [[ARR_RET:%.+]] "arr_ret"
; CHECK-NOT: DAG-FENCE
%ty1 = type {i16, i32}
%ty2 = type {%ty1, i64}
+%ty3 = type {ptr addrspace(4), ptr addrspace(4), [8 x i8]}
; CHECK-DAG: [[I16:%.+]] = OpTypeInt 16
; CHECK-DAG: [[I32:%.+]] = OpTypeInt 32
@@ -18,6 +24,12 @@
; CHECK-DAG: [[UNDEF_I64:%.+]] = OpUndef [[I64]]
; CHECK-DAG: [[UNDEF_TY2:%.+]] = OpUndef [[TY2]]
; CHECK-DAG: [[CST_42:%.+]] = OpConstant [[I32]] 42
+; CHECK-DAG: [[I8:%.+]] = OpTypeInt 8 0
+; CHECK-DAG: [[PTR:%.+]] = OpTypePointer Generic [[I8]]
+; CHECK-DAG: [[CST_8:%.+]] = OpConstant [[I32]] 8
+; CHECK-DAG: [[ARR:%.+]] = OpTypeArray [[I8]] [[CST_8]]
+; CHECK-DAG: [[TY3:%.+]] = OpTypeStruct [[PTR]] [[PTR]] [[ARR]]
+; CHECK-DAG: [[PTR_ARR:%.+]] = OpTypePointer Generic [[ARR]]
; CHECK-NOT: DAG-FENCE
@@ -62,3 +74,21 @@ define i32 @consumer(%ty2 %agg) {
; CHECK: [[RET:%.+]] = OpCompositeExtract [[I32]] [[AGG]] 0 1
; CHECK: OpReturnValue [[RET]]
; CHECK: OpFunctionEnd
+
+declare %ty3 @arr_ret()
+
+define void @sneaky(ptr addrspace(4) %p, [8 x i8] %a) {
+ %1 = call spir_func %ty3 @arr_ret()
+ %2 = getelementptr inbounds nuw %ty3, ptr addrspace(4) %p, i32 0, i32 2
+ %3 = extractvalue %ty3 %1, 2
+ store [8 x i8] %3, ptr addrspace(4) %2, align 8
+ ret void
+}
+
+; CHECK: [[SNEAKY]] = OpFunction
+; CHECK: [[PTR_AGG:%.+]] = OpFunctionParameter
+; CHECK: [[A:%.+]] = OpFunctionParameter [[ARR]]
+; CHECK: [[AGG_RET:%.+]] = OpFunctionCall [[TY3]]
+; CHECK: [[GEP:%.+]] = OpInBoundsPtrAccessChain [[PTR_ARR]] [[PTR_AGG]]
+; CHECK: [[EXTRACTV:%.+]] = OpCompositeExtract [[ARR]] [[AGG_RET]] 2
+; CHECK: OpStore [[GEP]] [[EXTRACTV]]
>From f837bb69c73c38dc2c628fe1e83b87526bd8d4d8 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 15 Dec 2025 18:46:39 +0000
Subject: [PATCH 05/31] Fix formatting.
---
llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index dd2e3f1951850..77c4678bb2210 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -3301,8 +3301,9 @@ bool SPIRVInstructionSelector::selectExtractVal(Register ResVReg,
StringRef ResName;
if (GR.findValueAttrs(&I, MaybeResTy, ResName) &&
MaybeResTy != GR.getTypeForSPIRVType(ResType)) {
- assert(!MaybeResTy || MaybeResTy->isAggregateType() &&
- "Expected aggregate type for extractv instruction");
+ assert(!MaybeResTy ||
+ MaybeResTy->isAggregateType() &&
+ "Expected aggregate type for extractv instruction");
ResType = GR.getOrCreateSPIRVType(MaybeResTy, I,
SPIRV::AccessQualifier::ReadWrite, false);
GR.assignSPIRVTypeToVReg(ResType, ResVReg, *I.getMF());
>From 610c2971b9c16e8ce2b75f5e4bd8430596926f64 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 19 Mar 2026 00:25:37 +0000
Subject: [PATCH 06/31] Add `llvm.spv.named.boolean.spec.constant` intrinsic.
---
llvm/include/llvm/IR/IntrinsicsSPIRV.td | 5 +++++
.../Target/SPIRV/SPIRVInstructionSelector.cpp | 14 +++++++++++++
.../CodeGen/SPIRV/constant/spec-constant.ll | 21 ++++++++++++++++++-
3 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/llvm/include/llvm/IR/IntrinsicsSPIRV.td b/llvm/include/llvm/IR/IntrinsicsSPIRV.td
index 5d467adb08c3d..51cb430f4bd43 100644
--- a/llvm/include/llvm/IR/IntrinsicsSPIRV.td
+++ b/llvm/include/llvm/IR/IntrinsicsSPIRV.td
@@ -43,6 +43,11 @@ let TargetPrefix = "spv" in {
def int_spv_alloca_array : Intrinsic<[llvm_any_ty], [llvm_anyint_ty, llvm_i32_ty], [ImmArg<ArgIndex<1>>]>;
def int_spv_undef : Intrinsic<[llvm_i32_ty], []>;
def int_spv_inline_asm : Intrinsic<[], [llvm_metadata_ty, llvm_metadata_ty, llvm_vararg_ty]>;
+ def int_spv_named_boolean_spec_constant
+ : Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty, llvm_metadata_ty],
+ [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<1>>]>;
+ // TODO: possibly add intrinsics for other types of Spec Constants and a
+ // corresponding Clang builtin.
// Masked Gather/Scatter (SPV_INTEL_masked_gather_scatter)
def int_spv_masked_gather : Intrinsic<[llvm_any_ty],
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index eb30002d2e1a5..c045ab693e9ab 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -4125,6 +4125,20 @@ bool SPIRVInstructionSelector::selectIntrinsic(Register ResVReg,
MIB.constrainAllUses(TII, TRI, RBI);
return true;
}
+ case Intrinsic::spv_named_boolean_spec_constant: {
+ auto Opcode = I.getOperand(3).getImm()
+ ? SPIRV::OpSpecConstantTrue : SPIRV::OpSpecConstantFalse;
+
+ auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
+ .addDef(I.getOperand(0).getReg())
+ .addUse(GR.getSPIRVTypeID(ResType));
+ MIB.constrainAllUses(TII, TRI, RBI);
+ unsigned SpecId = I.getOperand(2).getImm();
+ buildOpDecorate(I.getOperand(0).getReg(), *MIB.getInstr(), TII,
+ SPIRV::Decoration::SpecId, {SpecId});
+
+ return true;
+ }
case Intrinsic::spv_const_composite: {
// If no values are attached, the composite is null constant.
bool IsNull = I.getNumExplicitDefs() + 1 == I.getNumExplicitOperands();
diff --git a/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll b/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
index 299d61d3bffde..5ca7a504addf7 100644
--- a/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
+++ b/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
@@ -8,6 +8,8 @@
; CHECK-DAG: OpDecorate [[float_const:%[0-9]+]] SpecId 8
; CHECK-DAG: OpDecorate [[double_const:%[0-9]+]] SpecId 9
; CHECK-DAG: OpDecorate [[enum_const:%[0-9]+]] SpecId 10
+; CHECK-DAG: OpDecorate [[named_bool_const_true:%[0-9]+]] SpecId 11
+; CHECK-DAG: OpDecorate [[named_bool_const_false:%[0-9]+]] SpecId 12
; CHECK-DAG: [[bool_const]] = OpSpecConstantTrue {{%[0-9]+}}
; CHECK-DAG: [[short_const]] = OpSpecConstant {{%[0-9]+}} 4
@@ -16,6 +18,8 @@
; CHECK-DAG: [[float_const]] = OpSpecConstant {{%[0-9]+}} 1112014848
; CHECK-DAG: [[double_const]] = OpSpecConstant {{%[0-9]+}} 0 1079574528
; CHECK-DAG: [[enum_const]] = OpSpecConstant {{%[0-9]+}} 30
+; CHECK-DAG: [[named_bool_const_true:%[0-9]+]] = OpSpecConstantTrue {{%[0-9]+}}
+; CHECK-DAG: [[named_bool_const_false:%[0-9]+]] = OpSpecConstantFalse {{%[0-9]+}}
@_ZL10bool_const = internal addrspace(10) global i32 0, align 4
@_ZL11short_const = internal addrspace(10) global i16 0, align 2
@@ -58,6 +62,18 @@ entry:
; CHECK: OpStore {{%[0-9]+}} [[enum_const]]
%18 = tail call spir_func i32 @_Z20__spirv_SpecConstantii(i32 10, i32 30)
store i32 %18, ptr addrspace(10) @_ZL10enum_const, align 4
+
+ ; CHECK: [[bt:%[0-9]+]] = OpSelect {{%[0-9]+}} [[named_bool_const_true]]
+ ; CHECK: OpStore {{%[0-9]+}} [[bt]]
+ %19 = tail call spir_func i1 @llvm.spv.named.boolean.spec.constant(i32 11, i1 true, metadata !{})
+ %zext_0 = zext i1 %19 to i32
+ store i32 %zext_0, ptr addrspace(10) @_ZL10bool_const, align 4
+
+ ; CHECK: [[bf:%[0-9]+]] = OpSelect {{%[0-9]+}} [[named_bool_const_false]]
+ ; CHECK: OpStore {{%[0-9]+}} [[bf]]
+ %20 = tail call spir_func i1 @llvm.spv.named.boolean.spec.constant(i32 12, i1 false, metadata !{})
+ %zext_1 = zext i1 %20 to i32
+ store i32 %zext_1, ptr addrspace(10) @_ZL10bool_const, align 4
ret void
}
@@ -69,5 +85,8 @@ declare i32 @_Z20__spirv_SpecConstantii(i32, i32)
declare i64 @_Z20__spirv_SpecConstantix(i32, i64)
declare float @_Z20__spirv_SpecConstantif(i32, float)
declare double @_Z20__spirv_SpecConstantid(i32, double)
+declare i1 @llvm.spv.named.boolean.spec.constant(i32, i1, metadata)
+
+attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
-attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
\ No newline at end of file
+!0 = !{ !"" }
\ No newline at end of file
>From 9544c96e85c5b7ff427f9b977ee8b704f8b81f93 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 19 Mar 2026 00:54:52 +0000
Subject: [PATCH 07/31] Fix formatting.
---
llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index c045ab693e9ab..88169df9ba61c 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -4126,8 +4126,8 @@ bool SPIRVInstructionSelector::selectIntrinsic(Register ResVReg,
return true;
}
case Intrinsic::spv_named_boolean_spec_constant: {
- auto Opcode = I.getOperand(3).getImm()
- ? SPIRV::OpSpecConstantTrue : SPIRV::OpSpecConstantFalse;
+ auto Opcode = I.getOperand(3).getImm() ? SPIRV::OpSpecConstantTrue
+ : SPIRV::OpSpecConstantFalse;
auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
.addDef(I.getOperand(0).getReg())
>From aa1be1fb95eab1f854f3c2743f5d88bc7189ee6b Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 14 Apr 2026 20:52:49 +0100
Subject: [PATCH 08/31] Define `__AMDGCN_UNSAFE_FP_ATOMICS__` for AMDGCN
flavoured SPIR-V when required.
---
clang/lib/Basic/Targets/SPIR.cpp | 3 +++
clang/test/Preprocessor/predefined-macros.c | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/clang/lib/Basic/Targets/SPIR.cpp b/clang/lib/Basic/Targets/SPIR.cpp
index 19f160e279b21..7726c95cc7392 100644
--- a/clang/lib/Basic/Targets/SPIR.cpp
+++ b/clang/lib/Basic/Targets/SPIR.cpp
@@ -145,6 +145,9 @@ void SPIRV64AMDGCNTargetInfo::getTargetDefines(const LangOptions &Opts,
Builder.defineMacro("__AMD__");
Builder.defineMacro("__AMDGPU__");
Builder.defineMacro("__AMDGCN__");
+
+ if (Opts.AtomicIgnoreDenormalMode)
+ Builder.defineMacro("__AMDGCN_UNSAFE_FP_ATOMICS__");
}
void SPIRV64AMDGCNTargetInfo::setAuxTarget(const TargetInfo *Aux) {
diff --git a/clang/test/Preprocessor/predefined-macros.c b/clang/test/Preprocessor/predefined-macros.c
index da25b1efa3984..8dbb477be4c5d 100644
--- a/clang/test/Preprocessor/predefined-macros.c
+++ b/clang/test/Preprocessor/predefined-macros.c
@@ -240,14 +240,18 @@
// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spirv64-amd-amdhsa \
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIRV64-AMDGCN
+// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spirv64-amd-amdhsa -fatomic-ignore-denormal-mode \
+// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIRV64-AMDGCN-UNSAFE-FP-ATOMICS
// CHECK-SPIRV64-AMDGCN-DAG: #define __IMAGE_SUPPORT__ 1
// CHECK-SPIRV64-AMDGCN-DAG: #define __SPIRV__ 1
// CHECK-SPIRV64-AMDGCN-DAG: #define __SPIRV64__ 1
// CHECK-SPIRV64-AMDGCN-DAG: #define __AMD__ 1
// CHECK-SPIRV64-AMDGCN-DAG: #define __AMDGCN__ 1
// CHECK-SPIRV64-AMDGCN-DAG: #define __AMDGPU__ 1
+// CHECK-SPIRV64-AMDGCN-NOT: #define __AMDGCN_UNSAFE_FP_ATOMICS__
// CHECK-SPIRV64-AMDGCN-NOT: #define __SPIRV32__ 1
// CHECK-SPIRV64-AMDGCN-NOT: #define __spirv__ 1
+// CHECK-SPIRV64-AMDGCN-UNSAFE-FP-ATOMICS: #define __AMDGCN_UNSAFE_FP_ATOMICS__ 1
// RUN: %clang_cc1 %s -E -dM -o - -x hip -triple x86_64-unknown-linux-gnu \
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP
>From 444225c9d4b2101a7893d869ee3b9adc104705e4 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 20 Apr 2026 11:58:14 +0100
Subject: [PATCH 09/31] SPIR-V needs AMDGPU atomic metadata.
---
clang/lib/Basic/Targets/SPIR.h | 2 +
clang/lib/CodeGen/Targets/SPIR.cpp | 25 ++
clang/lib/Driver/ToolChains/Clang.cpp | 3 +-
.../test/CodeGen/AMDGPU/amdgpu-atomic-float.c | 129 ++++++-
clang/test/CodeGenCUDA/atomic-options.hip | 322 +++++++++++++++++-
.../CodeGenHIP/amdgpu-flat-atomic-fadd.hip | 219 ++++++++++--
.../CodeGenHIP/amdgpu-global-atomic-fadd.hip | 79 ++++-
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 20 ++
8 files changed, 730 insertions(+), 69 deletions(-)
diff --git a/clang/lib/Basic/Targets/SPIR.h b/clang/lib/Basic/Targets/SPIR.h
index 633eaf3803452..ebf0e8122edfe 100644
--- a/clang/lib/Basic/Targets/SPIR.h
+++ b/clang/lib/Basic/Targets/SPIR.h
@@ -491,6 +491,8 @@ class LLVM_LIBRARY_VISIBILITY SPIRV64AMDGCNTargetInfo final
void adjust(DiagnosticsEngine &Diags, LangOptions &Opts,
const TargetInfo *Aux) override {
TargetInfo::adjust(Diags, Opts, Aux);
+
+ AtomicOpts = AtomicOptions(Opts);
}
bool hasInt128Type() const override { return TargetInfo::hasInt128Type(); }
diff --git a/clang/lib/CodeGen/Targets/SPIR.cpp b/clang/lib/CodeGen/Targets/SPIR.cpp
index d5122f8d65a3e..1e0cfd0be9cba 100644
--- a/clang/lib/CodeGen/Targets/SPIR.cpp
+++ b/clang/lib/CodeGen/Targets/SPIR.cpp
@@ -137,6 +137,9 @@ class SPIRVTargetCodeGenInfo : public CommonSPIRTargetCodeGenInfo {
CodeGen::CodeGenModule &M) const override;
StringRef getLLVMSyncScopeStr(const LangOptions &LangOpts, SyncScope Scope,
llvm::AtomicOrdering Ordering) const override;
+ void setTargetAtomicMetadata(CodeGenFunction &CGF,
+ llvm::Instruction &AtomicInst,
+ const AtomicExpr *Expr = nullptr) const override;
bool supportsLibCall() const override {
return getABIInfo().getTarget().getTriple().getVendor() !=
llvm::Triple::AMD;
@@ -576,6 +579,28 @@ StringRef SPIRVTargetCodeGenInfo::getLLVMSyncScopeStr(
return "";
}
+void SPIRVTargetCodeGenInfo::setTargetAtomicMetadata(
+ CodeGenFunction &CGF, llvm::Instruction &AtomicInst,
+ const AtomicExpr *AE) const {
+ if (CGF.CGM.getTriple().getVendor() != llvm::Triple::VendorType::AMD)
+ return;
+
+ auto *RMW = dyn_cast<llvm::AtomicRMWInst>(&AtomicInst);
+ if (!RMW)
+ return;
+
+ AtomicOptions AO = CGF.CGM.getAtomicOpts();
+ llvm::MDNode *Empty = llvm::MDNode::get(CGF.getLLVMContext(), {});
+ if (!AO.getOption(clang::AtomicOptionKind::FineGrainedMemory))
+ RMW->setMetadata("amdgpu.no.fine.grained.memory", Empty);
+ if (!AO.getOption(clang::AtomicOptionKind::RemoteMemory))
+ RMW->setMetadata("amdgpu.no.remote.memory", Empty);
+ if (AO.getOption(clang::AtomicOptionKind::IgnoreDenormalMode) &&
+ RMW->getOperation() == llvm::AtomicRMWInst::FAdd &&
+ RMW->getType()->isFloatTy())
+ RMW->setMetadata("amdgpu.ignore.denormal.mode", Empty);
+}
+
/// Construct a SPIR-V target extension type for the given OpenCL image type.
static llvm::Type *getSPIRVImageType(llvm::LLVMContext &Ctx, StringRef BaseType,
StringRef OpenCLName,
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 99f511df9e8a1..aa1bb8e310048 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -8063,7 +8063,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
}
}
- if (Triple.isAMDGPU()) {
+ if (Triple.isAMDGPU() ||
+ (Triple.isSPIRV() && Triple.getVendor() == llvm::Triple::AMD)) {
handleAMDGPUCodeObjectVersionOptions(D, Args, CmdArgs);
Args.addOptInFlag(CmdArgs, options::OPT_munsafe_fp_atomics,
diff --git a/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c b/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
index 1b77ead54d2b2..42eeb7dddd913 100644
--- a/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
+++ b/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
@@ -1,19 +1,33 @@
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5
// RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple amdgcn-amd-amdhsa-gnu -target-cpu gfx900 -emit-llvm -o - %s | FileCheck -check-prefixes=CHECK,SAFE %s
// RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple amdgcn-amd-amdhsa-gnu -target-cpu gfx900 -emit-llvm -munsafe-fp-atomics -o - %s | FileCheck -check-prefixes=CHECK,UNSAFE %s
+// RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple spirv64-amd-amdhsa -emit-llvm -o - %s | FileCheck -check-prefixes=CHECK-SPIRV,SAFE-SPIRV %s
+// RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple spirv64-amd-amdhsa -emit-llvm -munsafe-fp-atomics -o - %s | FileCheck -check-prefixes=CHECK-SPIRV,UNSAFE-SPIRV %s
// SAFE-LABEL: define dso_local float @test_float_post_inc(
// SAFE-SAME: ) #[[ATTR0:[0-9]+]] {
// SAFE-NEXT: [[ENTRY:.*:]]
-// SAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]]
+// SAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
// SAFE-NEXT: ret float [[TMP0]]
//
// UNSAFE-LABEL: define dso_local float @test_float_post_inc(
// UNSAFE-SAME: ) #[[ATTR0:[0-9]+]] {
// UNSAFE-NEXT: [[ENTRY:.*:]]
-// UNSAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
+// UNSAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
// UNSAFE-NEXT: ret float [[TMP0]]
//
+// SAFE-SPIRV-LABEL: define spir_func float @test_float_post_inc(
+// SAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SAFE-SPIRV-NEXT: [[ENTRY:.*:]]
+// SAFE-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
+// SAFE-SPIRV-NEXT: ret float [[TMP0]]
+//
+// UNSAFE-SPIRV-LABEL: define spir_func float @test_float_post_inc(
+// UNSAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0:[0-9]+]] {
+// UNSAFE-SPIRV-NEXT: [[ENTRY:.*:]]
+// UNSAFE-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
+// UNSAFE-SPIRV-NEXT: ret float [[TMP0]]
+//
float test_float_post_inc()
{
static _Atomic float n;
@@ -23,9 +37,15 @@ float test_float_post_inc()
// CHECK-LABEL: define dso_local float @test_float_post_dc(
// CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_post_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_post_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: ret float [[TMP0]]
//
+// CHECK-SPIRV-LABEL: define spir_func float @test_float_post_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0:[0-9]+]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_post_dc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: ret float [[TMP0]]
+//
float test_float_post_dc()
{
static _Atomic float n;
@@ -35,10 +55,17 @@ float test_float_post_dc()
// CHECK-LABEL: define dso_local float @test_float_pre_dc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_pre_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_pre_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: [[TMP1:%.*]] = fsub float [[TMP0]], 1.000000e+00
// CHECK-NEXT: ret float [[TMP1]]
//
+// CHECK-SPIRV-LABEL: define spir_func float @test_float_pre_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_pre_dc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: [[TMP1:%.*]] = fsub float [[TMP0]], 1.000000e+00
+// CHECK-SPIRV-NEXT: ret float [[TMP1]]
+//
float test_float_pre_dc()
{
static _Atomic float n;
@@ -48,17 +75,31 @@ float test_float_pre_dc()
// SAFE-LABEL: define dso_local float @test_float_pre_inc(
// SAFE-SAME: ) #[[ATTR0]] {
// SAFE-NEXT: [[ENTRY:.*:]]
-// SAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// SAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// SAFE-NEXT: [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
// SAFE-NEXT: ret float [[TMP1]]
//
// UNSAFE-LABEL: define dso_local float @test_float_pre_inc(
// UNSAFE-SAME: ) #[[ATTR0]] {
// UNSAFE-NEXT: [[ENTRY:.*:]]
-// UNSAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
+// UNSAFE-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
// UNSAFE-NEXT: [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
// UNSAFE-NEXT: ret float [[TMP1]]
//
+// SAFE-SPIRV-LABEL: define spir_func float @test_float_pre_inc(
+// SAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// SAFE-SPIRV-NEXT: [[ENTRY:.*:]]
+// SAFE-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// SAFE-SPIRV-NEXT: [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
+// SAFE-SPIRV-NEXT: ret float [[TMP1]]
+//
+// UNSAFE-SPIRV-LABEL: define spir_func float @test_float_pre_inc(
+// UNSAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// UNSAFE-SPIRV-NEXT: [[ENTRY:.*:]]
+// UNSAFE-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
+// UNSAFE-SPIRV-NEXT: [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
+// UNSAFE-SPIRV-NEXT: ret float [[TMP1]]
+//
float test_float_pre_inc()
{
static _Atomic float n;
@@ -68,9 +109,15 @@ float test_float_pre_inc()
// CHECK-LABEL: define dso_local double @test_double_post_inc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_post_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_post_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: ret double [[TMP0]]
//
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_post_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_post_inc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: ret double [[TMP0]]
+//
double test_double_post_inc()
{
static _Atomic double n;
@@ -80,9 +127,15 @@ double test_double_post_inc()
// CHECK-LABEL: define dso_local double @test_double_post_dc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_post_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_post_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: ret double [[TMP0]]
//
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_post_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_post_dc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: ret double [[TMP0]]
+//
double test_double_post_dc()
{
static _Atomic double n;
@@ -92,10 +145,17 @@ double test_double_post_dc()
// CHECK-LABEL: define dso_local double @test_double_pre_dc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_pre_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_pre_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: [[TMP1:%.*]] = fsub double [[TMP0]], 1.000000e+00
// CHECK-NEXT: ret double [[TMP1]]
//
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_pre_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_pre_dc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: [[TMP1:%.*]] = fsub double [[TMP0]], 1.000000e+00
+// CHECK-SPIRV-NEXT: ret double [[TMP1]]
+//
double test_double_pre_dc()
{
static _Atomic double n;
@@ -105,10 +165,17 @@ double test_double_pre_dc()
// CHECK-LABEL: define dso_local double @test_double_pre_inc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_pre_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_pre_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: [[TMP1:%.*]] = fadd double [[TMP0]], 1.000000e+00
// CHECK-NEXT: ret double [[TMP1]]
//
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_pre_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_pre_inc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: [[TMP1:%.*]] = fadd double [[TMP0]], 1.000000e+00
+// CHECK-SPIRV-NEXT: ret double [[TMP1]]
+//
double test_double_pre_inc()
{
static _Atomic double n;
@@ -118,9 +185,15 @@ double test_double_pre_inc()
// CHECK-LABEL: define dso_local half @test__Float16_post_inc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_post_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_post_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: ret half [[TMP0]]
//
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_post_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_post_inc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: ret half [[TMP0]]
+//
_Float16 test__Float16_post_inc()
{
static _Atomic _Float16 n;
@@ -130,9 +203,15 @@ _Float16 test__Float16_post_inc()
// CHECK-LABEL: define dso_local half @test__Float16_post_dc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_post_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_post_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: ret half [[TMP0]]
//
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_post_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_post_dc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: ret half [[TMP0]]
+//
_Float16 test__Float16_post_dc()
{
static _Atomic _Float16 n;
@@ -142,10 +221,17 @@ _Float16 test__Float16_post_dc()
// CHECK-LABEL: define dso_local half @test__Float16_pre_dc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: [[TMP1:%.*]] = fsub half [[TMP0]], 0xH3C00
// CHECK-NEXT: ret half [[TMP1]]
//
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_pre_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_pre_dc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: [[TMP1:%.*]] = fsub half [[TMP0]], 0xH3C00
+// CHECK-SPIRV-NEXT: ret half [[TMP1]]
+//
_Float16 test__Float16_pre_dc()
{
static _Atomic _Float16 n;
@@ -155,17 +241,28 @@ _Float16 test__Float16_pre_dc()
// CHECK-LABEL: define dso_local half @test__Float16_pre_inc(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT: [[ENTRY:.*:]]
-// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
// CHECK-NEXT: [[TMP1:%.*]] = fadd half [[TMP0]], 0xH3C00
// CHECK-NEXT: ret half [[TMP1]]
//
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_pre_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT: [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_pre_inc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT: [[TMP1:%.*]] = fadd half [[TMP0]], 0xH3C00
+// CHECK-SPIRV-NEXT: ret half [[TMP1]]
+//
_Float16 test__Float16_pre_inc()
{
static _Atomic _Float16 n;
return ++n;
}
//.
-// SAFE: [[META3]] = !{}
+// SAFE: [[META2]] = !{}
+//.
+// UNSAFE: [[META2]] = !{}
+//.
+// SAFE-SPIRV: [[META2]] = !{}
//.
-// UNSAFE: [[META3]] = !{}
+// UNSAFE-SPIRV: [[META2]] = !{}
//.
diff --git a/clang/test/CodeGenCUDA/atomic-options.hip b/clang/test/CodeGenCUDA/atomic-options.hip
index dbc8c3175cbc2..28ef6c3e8521f 100644
--- a/clang/test/CodeGenCUDA/atomic-options.hip
+++ b/clang/test/CodeGenCUDA/atomic-options.hip
@@ -6,6 +6,12 @@
// RUN: %clang_cc1 -triple amdgcn-amd-amdhsa \
// RUN: -fatomic-fine-grained-memory -fatomic-ignore-denormal-mode \
// RUN: -emit-llvm -o - -fcuda-is-device %s | FileCheck --check-prefix=OPT %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa \
+// RUN: -emit-llvm -o - -fcuda-is-device %s | FileCheck --check-prefix=SPIRV-DEV %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa \
+// RUN: -fatomic-fine-grained-memory -fatomic-ignore-denormal-mode \
+// RUN: -emit-llvm -o - -fcuda-is-device %s | FileCheck --check-prefix=SPIRV-OPT %s
+
#include "Inputs/cuda.h"
@@ -37,7 +43,7 @@
// DEV-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// DEV-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]]
// DEV-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: ret void
@@ -55,11 +61,47 @@
// OPT-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// OPT-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3:![0-9]+]], !amdgpu.ignore.denormal.mode [[META3]]
// OPT-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: ret void
//
+// SPIRV-DEV-LABEL: define spir_func void @_Z12test_defaultPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-DEV-NEXT: [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z12test_defaultPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-OPT-NEXT: [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: ret void
+//
__device__ __host__ void test_default(float *a) {
__scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
}
@@ -92,7 +134,7 @@ __device__ __host__ void test_default(float *a) {
// DEV-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// DEV-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
// DEV-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: ret void
@@ -110,11 +152,47 @@ __device__ __host__ void test_default(float *a) {
// OPT-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// OPT-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
// OPT-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: ret void
//
+// SPIRV-DEV-LABEL: define spir_func void @_Z8test_onePf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT: [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z8test_onePf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT: [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: ret void
+//
__device__ __host__ void test_one(float *a) {
[[clang::atomic(no_remote_memory)]] {
__scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -149,7 +227,7 @@ __device__ __host__ void test_one(float *a) {
// DEV-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// DEV-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
// DEV-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: ret void
@@ -167,11 +245,47 @@ __device__ __host__ void test_one(float *a) {
// OPT-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// OPT-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META3]]
// OPT-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: ret void
//
+// SPIRV-DEV-LABEL: define spir_func void @_Z8test_twoPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT: [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z8test_twoPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT: [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: ret void
+//
__device__ __host__ void test_two(float *a) {
[[clang::atomic(remote_memory, ignore_denormal_mode)]] {
__scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -206,7 +320,7 @@ __device__ __host__ void test_two(float *a) {
// DEV-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// DEV-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]]
// DEV-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: ret void
@@ -224,11 +338,47 @@ __device__ __host__ void test_two(float *a) {
// OPT-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// OPT-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]]
// OPT-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: ret void
//
+// SPIRV-DEV-LABEL: define spir_func void @_Z10test_threePf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT: [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z10test_threePf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT: [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: ret void
+//
__device__ __host__ void test_three(float *a) {
[[clang::atomic(no_remote_memory, fine_grained_memory, no_ignore_denormal_mode)]] {
__scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -263,7 +413,7 @@ __device__ __host__ void test_three(float *a) {
// DEV-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// DEV-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]]
// DEV-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: ret void
@@ -281,11 +431,47 @@ __device__ __host__ void test_three(float *a) {
// OPT-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// OPT-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META3]]
// OPT-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: ret void
//
+// SPIRV-DEV-LABEL: define spir_func void @_Z19test_multiple_attrsPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT: [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z19test_multiple_attrsPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT: [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: ret void
+//
__device__ __host__ void test_multiple_attrs(float *a) {
[[clang::atomic(no_remote_memory)]] [[clang::atomic(remote_memory)]] {
__scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -356,7 +542,7 @@ __device__ __host__ void test_multiple_attrs(float *a) {
// DEV-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// DEV-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
// DEV-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// DEV-NEXT: [[TMP4:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
@@ -368,13 +554,13 @@ __device__ __host__ void test_multiple_attrs(float *a) {
// DEV-NEXT: [[TMP8:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 3.000000e+00, ptr [[DOTATOMICTMP3_ASCAST]], align 4
// DEV-NEXT: [[TMP9:%.*]] = load float, ptr [[DOTATOMICTMP3_ASCAST]], align 4
-// DEV-NEXT: [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT: [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META3]]
// DEV-NEXT: store float [[TMP10]], ptr [[ATOMIC_TEMP4_ASCAST]], align 4
// DEV-NEXT: [[TMP11:%.*]] = load float, ptr [[ATOMIC_TEMP4_ASCAST]], align 4
// DEV-NEXT: [[TMP12:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// DEV-NEXT: store float 4.000000e+00, ptr [[DOTATOMICTMP5_ASCAST]], align 4
// DEV-NEXT: [[TMP13:%.*]] = load float, ptr [[DOTATOMICTMP5_ASCAST]], align 4
-// DEV-NEXT: [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// DEV-NEXT: [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META3]]
// DEV-NEXT: store float [[TMP14]], ptr [[ATOMIC_TEMP6_ASCAST]], align 4
// DEV-NEXT: [[TMP15:%.*]] = load float, ptr [[ATOMIC_TEMP6_ASCAST]], align 4
// DEV-NEXT: ret void
@@ -404,7 +590,7 @@ __device__ __host__ void test_multiple_attrs(float *a) {
// OPT-NEXT: [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
// OPT-NEXT: [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
// OPT-NEXT: store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
// OPT-NEXT: [[TMP4:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
@@ -416,17 +602,113 @@ __device__ __host__ void test_multiple_attrs(float *a) {
// OPT-NEXT: [[TMP8:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 3.000000e+00, ptr [[DOTATOMICTMP3_ASCAST]], align 4
// OPT-NEXT: [[TMP9:%.*]] = load float, ptr [[DOTATOMICTMP3_ASCAST]], align 4
-// OPT-NEXT: [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// OPT-NEXT: [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META3]]
// OPT-NEXT: store float [[TMP10]], ptr [[ATOMIC_TEMP4_ASCAST]], align 4
// OPT-NEXT: [[TMP11:%.*]] = load float, ptr [[ATOMIC_TEMP4_ASCAST]], align 4
// OPT-NEXT: [[TMP12:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
// OPT-NEXT: store float 4.000000e+00, ptr [[DOTATOMICTMP5_ASCAST]], align 4
// OPT-NEXT: [[TMP13:%.*]] = load float, ptr [[DOTATOMICTMP5_ASCAST]], align 4
-// OPT-NEXT: [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// OPT-NEXT: [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META3]]
// OPT-NEXT: store float [[TMP14]], ptr [[ATOMIC_TEMP6_ASCAST]], align 4
// OPT-NEXT: [[TMP15:%.*]] = load float, ptr [[ATOMIC_TEMP6_ASCAST]], align 4
// OPT-NEXT: ret void
//
+// SPIRV-DEV-LABEL: define spir_func void @_Z11test_nestedPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT: [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP1:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP2:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP3:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP4:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP5:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP6:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP1_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP1]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP2_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP2]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP3_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP3]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP4_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP4]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[DOTATOMICTMP5_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP5]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: [[ATOMIC_TEMP6_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP6]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP4:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 2.000000e+00, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP5:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP6:%.*]] = atomicrmw fmax ptr addrspace(4) [[TMP4]], float [[TMP5]] syncscope("device") seq_cst, align 4
+// SPIRV-DEV-NEXT: store float [[TMP6]], ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP7:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP8:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 3.000000e+00, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP9:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP10:%.*]] = atomicrmw fmin ptr addrspace(4) [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP10]], ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP11:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP12:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT: store float 4.000000e+00, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP13:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP14:%.*]] = atomicrmw fsub ptr addrspace(4) [[TMP12]], float [[TMP13]] syncscope("subgroup") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// SPIRV-DEV-NEXT: store float [[TMP14]], ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-DEV-NEXT: [[TMP15:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-DEV-NEXT: ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z11test_nestedPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT: [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT: [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP1:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP2:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP3:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP4:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP5:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP6:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT: [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP1_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP1]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP2_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP2]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP3_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP3]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP4_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP4]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[DOTATOMICTMP5_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP5]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: [[ATOMIC_TEMP6_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP6]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT: store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP4:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 2.000000e+00, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP5:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP6:%.*]] = atomicrmw fmax ptr addrspace(4) [[TMP4]], float [[TMP5]] syncscope("device") seq_cst, align 4
+// SPIRV-OPT-NEXT: store float [[TMP6]], ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP7:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP8:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 3.000000e+00, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP9:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP10:%.*]] = atomicrmw fmin ptr addrspace(4) [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP10]], ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP11:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP12:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT: store float 4.000000e+00, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP13:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP14:%.*]] = atomicrmw fsub ptr addrspace(4) [[TMP12]], float [[TMP13]] syncscope("subgroup") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// SPIRV-OPT-NEXT: store float [[TMP14]], ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-OPT-NEXT: [[TMP15:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-OPT-NEXT: ret void
+//
__device__ __host__ void test_nested(float *a) {
__scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
{
@@ -459,7 +741,11 @@ template<typename T> __device__ __host__ void test_template(T *a) {
template __device__ __host__ void test_template<float>(float *a);
//.
-// DEV: [[META4]] = !{}
+// DEV: [[META3]] = !{}
+//.
+// OPT: [[META3]] = !{}
+//.
+// SPIRV-DEV: [[META4]] = !{}
//.
-// OPT: [[META4]] = !{}
+// SPIRV-OPT: [[META4]] = !{}
//.
diff --git a/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip b/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
index 97b26d2a097ed..620e7f836e840 100644
--- a/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
+++ b/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
@@ -1,6 +1,7 @@
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 6
// REQUIRES: amdgpu-registered-target
// RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx942 -emit-llvm -fcuda-is-device %s -o - | FileCheck %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa -emit-llvm -fcuda-is-device %s -o - | FileCheck --check-prefix=SPIRV %s
#define __device__ __attribute__((device))
#define __shared__ __attribute__((shared))
@@ -24,13 +25,36 @@ __device__ double global_double;
// CHECK-NEXT: store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP1:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.ignore.denormal.mode [[META3]]
// CHECK-NEXT: store float [[TMP2]], ptr [[RESULT_ASCAST]], align 4
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z30test_flat_atomic_fadd_f32_flatPff(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4:![0-9]+]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], float [[TMP3]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5:![0-9]+]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT: store float [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f32_flat(float *ptr, float val) {
- float result;
- result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+ float result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
}
// CHECK-LABEL: define dso_local void @_Z30test_flat_atomic_fadd_f64_flatPdd(
@@ -46,13 +70,36 @@ __device__ void test_flat_atomic_fadd_f32_flat(float *ptr, float val) {
// CHECK-NEXT: store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP1:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
// CHECK-NEXT: store double [[TMP2]], ptr [[RESULT_ASCAST]], align 8
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z30test_flat_atomic_fadd_f64_flatPdd(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6:![0-9]+]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT: [[TMP3:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], double [[TMP3]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT: store double [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f64_flat(double *ptr, double val) {
- double result;
- result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+ double result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
}
// CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f32_sharedPff(
@@ -68,13 +115,36 @@ __device__ void test_flat_atomic_fadd_f64_flat(double *ptr, double val) {
// CHECK-NEXT: store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP1:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
// CHECK-NEXT: store float [[TMP2]], ptr [[RESULT_ASCAST]], align 4
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f32_sharedPff(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], float [[TMP3]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT: store float [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f32_shared(__shared__ float *ptr, float val) {
- float result;
- result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+ float result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
}
// CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f64_sharedPdd(
@@ -90,13 +160,36 @@ __device__ void test_flat_atomic_fadd_f32_shared(__shared__ float *ptr, float va
// CHECK-NEXT: store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP1:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
// CHECK-NEXT: store double [[TMP2]], ptr [[RESULT_ASCAST]], align 8
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f64_sharedPdd(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT: [[TMP3:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], double [[TMP3]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT: store double [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f64_shared(__shared__ double *ptr, double val) {
- double result;
- result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+ double result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
}
// CHECK-LABEL: define dso_local void @_Z34test_flat_atomic_fadd_f32_constantf(
@@ -108,13 +201,31 @@ __device__ void test_flat_atomic_fadd_f64_shared(__shared__ double *ptr, double
// CHECK-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
// CHECK-NEXT: store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
// CHECK-NEXT: [[TMP0:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
// CHECK-NEXT: store float [[TMP1]], ptr [[RESULT_ASCAST]], align 4
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z34test_flat_atomic_fadd_f32_constantf(
+// SPIRV-SAME: float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @const_float to ptr), float [[TMP1]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT: store float [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f32_constant(float val) {
- float result;
- result = __builtin_amdgcn_flat_atomic_fadd_f32(&const_float, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+ float result = __builtin_amdgcn_flat_atomic_fadd_f32(&const_float, val);
}
// CHECK-LABEL: define dso_local void @_Z34test_flat_atomic_fadd_f64_constantd(
@@ -126,13 +237,31 @@ __device__ void test_flat_atomic_fadd_f32_constant(float val) {
// CHECK-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
// CHECK-NEXT: store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP0:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
// CHECK-NEXT: store double [[TMP1]], ptr [[RESULT_ASCAST]], align 8
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z34test_flat_atomic_fadd_f64_constantd(
+// SPIRV-SAME: double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @const_double to ptr), double [[TMP1]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT: store double [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f64_constant(double val) {
- double result;
- result = __builtin_amdgcn_flat_atomic_fadd_f64(&const_double, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+ double result = __builtin_amdgcn_flat_atomic_fadd_f64(&const_double, val);
}
// CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f32_globalf(
@@ -144,13 +273,31 @@ __device__ void test_flat_atomic_fadd_f64_constant(double val) {
// CHECK-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
// CHECK-NEXT: store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
// CHECK-NEXT: [[TMP0:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
// CHECK-NEXT: store float [[TMP1]], ptr [[RESULT_ASCAST]], align 4
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f32_globalf(
+// SPIRV-SAME: float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_float to ptr), float [[TMP1]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT: store float [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f32_global(float val) {
- float result;
- result = __builtin_amdgcn_flat_atomic_fadd_f32(&global_float, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+ float result = __builtin_amdgcn_flat_atomic_fadd_f32(&global_float, val);
}
// CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f64_globald(
@@ -162,14 +309,36 @@ __device__ void test_flat_atomic_fadd_f32_global(float val) {
// CHECK-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
// CHECK-NEXT: store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP0:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT: [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
// CHECK-NEXT: store double [[TMP1]], ptr [[RESULT_ASCAST]], align 8
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f64_globald(
+// SPIRV-SAME: double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_double to ptr), double [[TMP1]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT: store double [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_flat_atomic_fadd_f64_global(double val) {
- double result;
- result = __builtin_amdgcn_flat_atomic_fadd_f64(&global_double, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+ double result = __builtin_amdgcn_flat_atomic_fadd_f64(&global_double, val);
}
//.
-// CHECK: [[META4]] = !{}
+// CHECK: [[META3]] = !{}
+//.
+// SPIRV: [[META4]] = !{!"has.gfx940-insts"}
+// SPIRV: [[META5]] = !{}
+// SPIRV: [[META6]] = !{!"has.gfx90a-insts"}
//.
diff --git a/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip b/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
index 1fa3a20442064..86c4bb205f2c1 100644
--- a/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
+++ b/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
@@ -1,6 +1,7 @@
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 6
// REQUIRES: amdgpu-registered-target
// RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx942 -emit-llvm -fcuda-is-device %s -o - | FileCheck %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa -emit-llvm -fcuda-is-device %s -o - | FileCheck --check-prefix=SPIRV %s
#define __device__ __attribute__((device))
@@ -21,17 +22,45 @@ __device__ double global_double;
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP1:%.*]] = addrspacecast ptr [[TMP0]] to ptr addrspace(1)
// CHECK-NEXT: [[TMP2:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT: [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], float [[TMP2]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT: [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], float [[TMP2]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.ignore.denormal.mode [[META3]]
// CHECK-NEXT: store float [[TMP3]], ptr [[RESULT_ASCAST]], align 4
// CHECK-NEXT: [[TMP4:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT: [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_float, float [[TMP4]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT: [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_float, float [[TMP4]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
// CHECK-NEXT: store float [[TMP5]], ptr [[RESULT_ASCAST]], align 4
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z33test_global_atomic_fadd_f32_validPff(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT: [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4:![0-9]+]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr addrspace(1)
+// SPIRV-NEXT: [[TMP3:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP4:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP2]], float [[TMP3]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5:![0-9]+]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT: store float [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP5:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT: [[TMP6:%.*]] = atomicrmw fadd ptr addrspace(1) @global_float, float [[TMP5]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT: store float [[TMP6]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_global_atomic_fadd_f32_valid(float *ptr, float val) {
float result;
- result = __builtin_amdgcn_global_atomic_fadd_f32(ptr, val);
- result = __builtin_amdgcn_global_atomic_fadd_f32(&global_float, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_global_atomic_fadd_f32)) {
+ result = __builtin_amdgcn_global_atomic_fadd_f32(ptr, val);
+ result = __builtin_amdgcn_global_atomic_fadd_f32(&global_float, val);
+ }
}
// CHECK-LABEL: define dso_local void @_Z33test_global_atomic_fadd_f64_validPdd(
@@ -48,18 +77,50 @@ __device__ void test_global_atomic_fadd_f32_valid(float *ptr, float val) {
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
// CHECK-NEXT: [[TMP1:%.*]] = addrspacecast ptr [[TMP0]] to ptr addrspace(1)
// CHECK-NEXT: [[TMP2:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT: [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], double [[TMP2]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT: [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], double [[TMP2]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
// CHECK-NEXT: store double [[TMP3]], ptr [[RESULT_ASCAST]], align 8
// CHECK-NEXT: [[TMP4:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT: [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_double, double [[TMP4]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT: [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_double, double [[TMP4]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
// CHECK-NEXT: store double [[TMP5]], ptr [[RESULT_ASCAST]], align 8
// CHECK-NEXT: ret void
//
+// SPIRV-LABEL: define spir_func void @_Z33test_global_atomic_fadd_f64_validPdd(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT: [[ENTRY:.*:]]
+// SPIRV-NEXT: [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT: [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT: [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT: [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT: store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6:![0-9]+]])
+// SPIRV-NEXT: br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV: [[IF_THEN]]:
+// SPIRV-NEXT: [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr addrspace(1)
+// SPIRV-NEXT: [[TMP3:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP4:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP2]], double [[TMP3]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT: store double [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP5:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT: [[TMP6:%.*]] = atomicrmw fadd ptr addrspace(1) @global_double, double [[TMP5]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT: store double [[TMP6]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT: br label %[[IF_END]]
+// SPIRV: [[IF_END]]:
+// SPIRV-NEXT: ret void
+//
__device__ void test_global_atomic_fadd_f64_valid(double *ptr, double val) {
double result;
- result = __builtin_amdgcn_global_atomic_fadd_f64(ptr, val);
- result = __builtin_amdgcn_global_atomic_fadd_f64(&global_double, val);
+ if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_global_atomic_fadd_f64)) {
+ result = __builtin_amdgcn_global_atomic_fadd_f64(ptr, val);
+ result = __builtin_amdgcn_global_atomic_fadd_f64(&global_double, val);
+ }
}
//.
-// CHECK: [[META4]] = !{}
+// CHECK: [[META3]] = !{}
+//.
+// SPIRV: [[META4]] = !{!"has.atomic-fadd-rtn-insts"}
+// SPIRV: [[META5]] = !{}
+// SPIRV: [[META6]] = !{!"has.gfx90a-insts"}
//.
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 7a886de005b88..10fa49ca7688c 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2539,6 +2539,26 @@ void SPIRVEmitIntrinsics::insertSpirvDecorations(Instruction *I,
{I->getType()},
{I, MetadataAsValue::get(I->getContext(), MD)});
}
+ if (I->getModule()->getTargetTriple().getVendor() == Triple::AMD &&
+ isa<AtomicRMWInst>(I)) {
+ auto &Ctx = B.getContext();
+ auto US = ConstantAsMetadata::get(ConstantInt::get(
+ B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
+
+ SmallVector<Metadata *> MDs;
+ if (I->hasMetadata("amdgpu.no.fine.grained.memory"))
+ MDs.push_back(MDNode::get(
+ Ctx, {US, MDString::get(Ctx, "amdgpu.no.fine.grained.memory")}));
+ if (I->hasMetadata("amdgpu.no.remote.memory"))
+ MDs.push_back(MDNode::get(
+ Ctx, {US, MDString::get(Ctx, "amdgpu.no.remote.memory")}));
+ if (I->hasMetadata("amdgpu.ignore.denormal.mode"))
+ MDs.push_back(MDNode::get(
+ Ctx, {US, MDString::get(Ctx, "amdgpu.ignore.denormal.mode")}));
+ if (!MDs.empty())
+ B.CreateIntrinsic(Intrinsic::spv_assign_decoration, {I->getType()},
+ {I, MetadataAsValue::get(Ctx, MDNode::get(Ctx, MDs))});
+ }
}
static SPIRV::FPFastMathDefaultInfoVector &getOrCreateFPFastMathDefaultInfoVec(
>From fc2a89b5ad496fb4b4fe9b9625fc289773a1e748 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 20 Apr 2026 16:43:11 +0100
Subject: [PATCH 10/31] Add clarifying comment.
---
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 10fa49ca7688c..2188ea5732014 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2541,8 +2541,10 @@ void SPIRVEmitIntrinsics::insertSpirvDecorations(Instruction *I,
}
if (I->getModule()->getTargetTriple().getVendor() == Triple::AMD &&
isa<AtomicRMWInst>(I)) {
+ // If present, we encode AMDGPU atomic metadata as UserSemantic string
+ // decorations, which will be parsed during reverse translation.
auto &Ctx = B.getContext();
- auto US = ConstantAsMetadata::get(ConstantInt::get(
+ auto *US = ConstantAsMetadata::get(ConstantInt::get(
B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
SmallVector<Metadata *> MDs;
>From 811c1d3e159db013cd9a511a87a5889d107716ed Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 20 Apr 2026 19:06:10 +0100
Subject: [PATCH 11/31] Fix formatting.
---
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 2188ea5732014..609c997746505 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2544,8 +2544,8 @@ void SPIRVEmitIntrinsics::insertSpirvDecorations(Instruction *I,
// If present, we encode AMDGPU atomic metadata as UserSemantic string
// decorations, which will be parsed during reverse translation.
auto &Ctx = B.getContext();
- auto *US = ConstantAsMetadata::get(ConstantInt::get(
- B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
+ auto *US = ConstantAsMetadata::get(
+ ConstantInt::get(B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
SmallVector<Metadata *> MDs;
if (I->hasMetadata("amdgpu.no.fine.grained.memory"))
>From 1625df344db9d2f8f3a8710ba74cb072167b1638 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 21 Apr 2026 22:49:15 +0100
Subject: [PATCH 12/31] Add lowering test.
---
.../amdgcnspirv-atomic-metadata-decoration.ll | 20 +++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
diff --git a/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
new file mode 100644
index 0000000000000..1b64780767673
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
@@ -0,0 +1,20 @@
+; RUN: llc -O0 -mtriple=spirv64-amd-amdhsa %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa %s -o - -filetype=obj | spirv-val %}
+
+; CHECK: OpDecorate %[[#Add:]] UserSemantic "amdgpu.no.fine.grained.memory"
+; CHECK-NEXT: OpDecorate %[[#Add]] UserSemantic "amdgpu.no.remote.memory"
+; CHECK-NEXT: OpDecorate %[[#FAdd:]] UserSemantic "amdgpu.no.fine.grained.memory"
+; CHECK-NEXT: OpDecorate %[[#FAdd]] UserSemantic "amdgpu.no.remote.memory"
+; CHECK-NEXT: OpDecorate %[[#FAdd]] UserSemantic "amdgpu.ignore.denormal.mode"
+; CHECK: %[[#Add]] = OpAtomicIAdd
+; CHECK: %[[#FAdd]] = OpAtomicFAddEXT
+
+define spir_kernel void @foo(ptr addrspace(1) %p) {
+entry:
+ %atomic.add = atomicrmw add ptr addrspace(1) %p, i32 1 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1
+ %atomic.fadd = atomicrmw fadd ptr addrspace(1) %p, float 1.0 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1, !amdgpu.ignore.denormal.mode !1
+ ret void
+}
+
+!0 = !{i32 5, i32 6}
+!1 = !{}
>From 34f1c6d39233f2e56a2fd78c8cfa2bd61ad395cf Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 23 Apr 2026 01:28:00 +0100
Subject: [PATCH 13/31] Clean up test.
---
.../SPIRV/amdgcnspirv-atomic-metadata-decoration.ll | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
index 1b64780767673..9c6300f374261 100644
--- a/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
+++ b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
@@ -9,12 +9,11 @@
; CHECK: %[[#Add]] = OpAtomicIAdd
; CHECK: %[[#FAdd]] = OpAtomicFAddEXT
-define spir_kernel void @foo(ptr addrspace(1) %p) {
+define spir_func void @foo(ptr addrspace(1) %p) {
entry:
- %atomic.add = atomicrmw add ptr addrspace(1) %p, i32 1 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1
- %atomic.fadd = atomicrmw fadd ptr addrspace(1) %p, float 1.0 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1, !amdgpu.ignore.denormal.mode !1
+ %atomic.add = atomicrmw add ptr addrspace(1) %p, i32 1 seq_cst, !amdgpu.no.fine.grained.memory !0, !amdgpu.no.remote.memory !0
+ %atomic.fadd = atomicrmw fadd ptr addrspace(1) %p, float 1.0 seq_cst, !amdgpu.no.fine.grained.memory !0, !amdgpu.no.remote.memory !0, !amdgpu.ignore.denormal.mode !0
ret void
}
-!0 = !{i32 5, i32 6}
-!1 = !{}
+!0 = !{}
>From b2e6f4efa026afb2fbd99712ab5091edb120e46c Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 09:55:24 +0100
Subject: [PATCH 14/31] Add support for `SPV_EXT_long_vector`.
---
llvm/docs/SPIRVUsage.rst | 2 +
llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp | 15 +-
llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp | 5 +-
llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp | 3 +-
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 80 +-
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 96 +-
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h | 10 +-
llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp | 111 +-
llvm/lib/Target/SPIRV/SPIRVInstrInfo.td | 14 +-
.../Target/SPIRV/SPIRVInstructionSelector.cpp | 177 +-
.../Target/SPIRV/SPIRVLegalizePointerCast.cpp | 14 +-
llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp | 34 +-
llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 24 +-
llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp | 5 +-
.../lib/Target/SPIRV/SPIRVSymbolicOperands.td | 2 +
llvm/lib/Target/SPIRV/SPIRVUtils.cpp | 5 +
llvm/lib/Target/SPIRV/SPIRVUtils.h | 25 +-
.../bool-vector-bitcast.ll | 373 ++
.../extensions/SPV_EXT_long_vector/ctpop.ll | 21 +
.../getelementptr-vector-index.ll | 26 +
.../SPV_EXT_long_vector/integer-casts.ll | 334 ++
.../llvm-vector-reduce/add.ll | 64 +
.../llvm-vector-reduce/and.ll | 64 +
.../llvm-vector-reduce/fadd.ll | 68 +
.../llvm-vector-reduce/fmax.ll | 64 +
.../llvm-vector-reduce/fmaximum.ll | 64 +
.../llvm-vector-reduce/fmin.ll | 64 +
.../llvm-vector-reduce/fminimum.ll | 64 +
.../llvm-vector-reduce/fmul.ll | 68 +
.../llvm-vector-reduce/mul.ll | 64 +
.../llvm-vector-reduce/or.ll | 64 +
.../llvm-vector-reduce/smax.ll | 64 +
.../llvm-vector-reduce/smin.ll | 64 +
.../llvm-vector-reduce/umax.ll | 64 +
.../llvm-vector-reduce/umin.ll | 64 +
.../llvm-vector-reduce/xor.ll | 64 +
.../SPV_EXT_long_vector/phi-large-vector.ll | 38 +
.../SPV_EXT_long_vector/ptrmask-vec.ll | 34 +
.../single-element-vector-nested-aggregate.ll | 137 +
.../single-element-vector.ll | 54 +
.../spv-extractelt-legalization.ll | 49 +
.../SPV_EXT_long_vector/unmerge-crash-0.ll | 3606 +++++++++++++++++
.../SPV_EXT_long_vector/unmerge-crash-1.ll | 2426 +++++++++++
.../SPV_EXT_long_vector/vector-arithmetic.ll | 129 +
.../vector-index-scalarization.ll | 89 +
.../vector-legalization-kernel.ll | 27 +
.../vector-of-pointers-gep.ll | 259 ++
47 files changed, 9027 insertions(+), 165 deletions(-)
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll
diff --git a/llvm/docs/SPIRVUsage.rst b/llvm/docs/SPIRVUsage.rst
index a820e2e6ff6e4..6d30ec3cbd682 100644
--- a/llvm/docs/SPIRVUsage.rst
+++ b/llvm/docs/SPIRVUsage.rst
@@ -161,6 +161,8 @@ Below is a list of supported SPIR-V extensions, sorted alphabetically by their e
- Adds an instruction that prevents fast-math optimizations between its argument and the expression that contains it.
* - ``SPV_EXT_demote_to_helper_invocation``
- Adds an instruction that demotes a fragment shader invocation to a helper invocation.
+ * - ``SPV_EXT_long_vector``
+ - Adds support for any vector rank.
* - ``SPV_EXT_optnone``
- Adds OptNoneEXT value for Function Control mask that indicates a request to not optimize the function.
* - ``SPV_EXT_shader_atomic_float16_add``
diff --git a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
index 9a6b6e3fd4d7b..262d586196f49 100644
--- a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
@@ -440,7 +440,7 @@ buildBoolRegister(MachineIRBuilder &MIRBuilder, SPIRVTypeInst ResultType,
LLT Type;
SPIRVTypeInst BoolType = GR->getOrCreateSPIRVBoolType(MIRBuilder, true);
- if (ResultType->getOpcode() == SPIRV::OpTypeVector) {
+ if (isVectorType(ResultType)) {
unsigned VectorElements = GR->getScalarOrVectorComponentCount(ResultType);
BoolType = GR->getOrCreateSPIRVVectorType(BoolType, VectorElements,
MIRBuilder, true);
@@ -465,7 +465,7 @@ static bool buildSelectInst(MachineIRBuilder &MIRBuilder,
SPIRVTypeInst ReturnType, SPIRVGlobalRegistry *GR) {
Register TrueConst, FalseConst;
- if (ReturnType->getOpcode() == SPIRV::OpTypeVector) {
+ if (isVectorType(ReturnType)) {
unsigned Bits = GR->getScalarOrVectorBitWidth(ReturnType);
uint64_t AllOnes = APInt::getAllOnes(Bits).getZExtValue();
TrueConst =
@@ -1790,7 +1790,7 @@ static bool generateBuiltinVar(const SPIRV::IncomingCall *Call,
// Build a load instruction for the builtin variable.
unsigned BitWidth = GR->getScalarOrVectorBitWidth(Call->ReturnType);
LLT LLType;
- if (Call->ReturnType->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(Call->ReturnType))
LLType = LLT::fixed_vector(
GR->getScalarOrVectorComponentCount(Call->ReturnType), BitWidth);
else
@@ -1906,9 +1906,8 @@ static bool generateDotOrFMulInst(StringRef DemangledCall,
return buildOpFromWrapper(MIRBuilder, SPIRV::OpDot, Call,
GR->getSPIRVTypeID(Call->ReturnType));
- bool IsVec = GR->getSPIRVTypeForVReg(Call->Arguments[0])->getOpcode() ==
- SPIRV::OpTypeVector;
// Use OpDot only in case of vector args and OpFMul in case of scalar args.
+ bool IsVec = isVectorType(GR->getSPIRVTypeForVReg(Call->Arguments[0]));
uint32_t OC = IsVec ? SPIRV::OpDot : SPIRV::OpFMulS;
bool IsSwapReq = false;
@@ -2043,7 +2042,7 @@ static bool generateICarryBorrowInst(const SPIRV::IncomingCall *Call,
SPIRVTypeInst OpType2 = GR->getSPIRVTypeForVReg(Call->Arguments[2]);
if (!OpType1 || !OpType2 || OpType1 != OpType2)
report_fatal_error("Operands must have the same type");
- if (OpType1->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(OpType1))
switch (Opcode) {
case SPIRV::OpIAddCarryS:
Opcode = SPIRV::OpIAddCarryV;
@@ -2212,7 +2211,7 @@ static bool generateImageSizeQueryInst(const SPIRV::IncomingCall *Call,
"Invalid composite index!");
Register TypeReg = GR->getSPIRVTypeID(Call->ReturnType);
SPIRVTypeInst NewType = nullptr;
- if (QueryResultType->getOpcode() == SPIRV::OpTypeVector) {
+ if (isVectorType(QueryResultType)) {
NewType = GR->getScalarOrVectorComponentType(QueryResultType);
Register NewTypeReg = GR->getSPIRVTypeID(NewType);
if (TypeReg != NewTypeReg)
@@ -2346,7 +2345,7 @@ static bool generateReadImageInst(StringRef DemangledCall,
Register Lod = GR->buildConstantFP(APFloat::getZero(APFloat::IEEEsingle()),
MIRBuilder);
- if (Call->ReturnType->getOpcode() != SPIRV::OpTypeVector) {
+ if (!isVectorType(Call->ReturnType)) {
SPIRVTypeInst TempType =
GR->getOrCreateSPIRVVectorType(Call->ReturnType, 4, MIRBuilder, true);
Register TempRegister =
diff --git a/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp b/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
index 660bee0f7a2cd..72627f872bd7b 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
@@ -279,7 +279,7 @@ SPIRVCombinerHelper::extractRows(Register MatrixReg, uint32_t NumRows,
// If there is only one column, then each row is a scalar that needs
// to be extracted.
if (NumCols == 1) {
- assert(SpvRowType->getOpcode() != SPIRV::OpTypeVector);
+ assert(!isVectorType(SpvRowType));
for (uint32_t I = 0; I < NumRows; ++I)
Rows.push_back(MRI.createGenericVirtualRegister(VecTy));
Builder.buildUnmerge(Rows, MatrixReg);
@@ -310,13 +310,12 @@ SPIRVCombinerHelper::extractRows(Register MatrixReg, uint32_t NumRows,
Register SPIRVCombinerHelper::computeDotProduct(Register RowA, Register ColB,
SPIRVTypeInst SpvVecType,
SPIRVGlobalRegistry *GR) const {
- bool IsVectorOp = SpvVecType->getOpcode() == SPIRV::OpTypeVector;
SPIRVTypeInst SpvScalarType = GR->getScalarOrVectorComponentType(SpvVecType);
bool IsFloatOp = SpvScalarType->getOpcode() == SPIRV::OpTypeFloat;
LLT VecTy = GR->getRegType(SpvVecType);
Register DotRes;
- if (IsVectorOp) {
+ if (isVectorType(SpvVecType)) {
LLT ScalarTy = VecTy.getElementType();
Intrinsic::SPVIntrinsics DotIntrinsic =
(IsFloatOp ? Intrinsic::spv_fdot : Intrinsic::spv_udot);
diff --git a/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp b/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
index 4608f560e1acf..2fe23996b8cc2 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
@@ -179,7 +179,8 @@ static const StringMap<SPIRV::Extension::Extension> SPIRVExtensionMap = {
{"SPV_AMD_weak_linkage", SPIRV::Extension::Extension::SPV_AMD_weak_linkage},
{"SPV_KHR_abort", SPIRV::Extension::Extension::SPV_KHR_abort},
{"SPV_KHR_poison_freeze",
- SPIRV::Extension::Extension::SPV_KHR_poison_freeze}};
+ SPIRV::Extension::Extension::SPV_KHR_poison_freeze},
+ {"SPV_EXT_long_vector", SPIRV::Extension::Extension::SPV_EXT_long_vector}};
bool SPIRVExtensionsParser::parse(cl::Option &O, StringRef ArgName,
StringRef ArgValue, ExtensionSet &Vals) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 19e1e71488ee3..792214b547339 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -188,6 +188,7 @@ class SPIRVEmitIntrinsics
Function *CurrF = nullptr;
bool TrackConstants = true;
bool HaveFunPtrs = false;
+ bool CanUseAnyVectorRank = false;
DenseMap<Instruction *, Constant *> AggrConsts;
DenseMap<Instruction *, Type *> AggrConstTypes;
SmallPtrSet<Instruction *, 0> AggrStores;
@@ -617,8 +618,9 @@ CallInst *SPIRVEmitIntrinsics::buildSpvPtrcast(Function *F, Value *Op,
}
Type *OpTy = Op->getType();
SmallVector<Type *, 2> Types = {OpTy, OpTy};
- SmallVector<Value *, 2> Args = {Op, buildMD(getNormalizedPoisonValue(ElemTy)),
- B.getInt32(getPointerAddressSpace(OpTy))};
+ SmallVector<Value *, 2> Args = {
+ Op, buildMD(getNormalizedPoisonValue(ElemTy, CanUseAnyVectorRank)),
+ B.getInt32(getPointerAddressSpace(OpTy))};
CallInst *PtrCasted =
B.CreateIntrinsicWithoutFolding(Intrinsic::spv_ptrcast, {Types}, Args);
GR->buildAssignPtr(B, ElemTy, PtrCasted);
@@ -1092,7 +1094,7 @@ Type *SPIRVEmitIntrinsics::deduceElementTypeHelper(
// remember the found relationship
if (Ty && !IgnoreKnownType) {
// specify nested types if needed, otherwise return unchanged
- GR->addDeducedElementType(I, normalizeType(Ty));
+ GR->addDeducedElementType(I, normalizeType(Ty, CanUseAnyVectorRank));
}
return Ty;
@@ -1178,7 +1180,8 @@ SPIRVEmitIntrinsics::deduceNestedTypeHelper(User *U, Type *OrigTy,
}
if (Ty != OpTy) {
Type *NewTy = VectorType::get(Ty, VecTy->getElementCount());
- GR->addDeducedCompositeType(U, normalizeType(NewTy));
+ GR->addDeducedCompositeType(U,
+ normalizeType(NewTy, CanUseAnyVectorRank));
return NewTy;
}
}
@@ -1335,7 +1338,7 @@ bool SPIRVEmitIntrinsics::deduceOperandElementTypeFunctionRet(
if (KnownElemTy)
return false;
if (Type *OpElemTy = GR->findDeducedElementType(Op)) {
- OpElemTy = normalizeType(OpElemTy);
+ OpElemTy = normalizeType(OpElemTy, CanUseAnyVectorRank);
GR->addDeducedElementType(F, OpElemTy);
GR->addReturnType(
F, TypedPointerType::get(OpElemTy,
@@ -1349,7 +1352,8 @@ bool SPIRVEmitIntrinsics::deduceOperandElementTypeFunctionRet(
if (CallInst *AssignCI = GR->findAssignPtrTypeInstr(CI)) {
if (Type *PrevElemTy = GR->findDeducedElementType(CI)) {
GR->updateAssignType(AssignCI, CI,
- getNormalizedPoisonValue(OpElemTy));
+ getNormalizedPoisonValue(OpElemTy,
+ CanUseAnyVectorRank));
propagateElemType(CI, PrevElemTy, VisitedSubst);
}
}
@@ -1533,7 +1537,7 @@ void SPIRVEmitIntrinsics::deduceOperandElementType(
Type *Ty = AskTy ? AskTy : GR->findDeducedElementType(Op);
if (Ty == KnownElemTy)
continue;
- Value *OpTyVal = getNormalizedPoisonValue(KnownElemTy);
+ Value *OpTyVal = getNormalizedPoisonValue(KnownElemTy, CanUseAnyVectorRank);
Type *OpTy = Op->getType();
// Do not let a non-pointer element type clobber an already-deduced pointer
// pointee.
@@ -1543,7 +1547,8 @@ void SPIRVEmitIntrinsics::deduceOperandElementType(
if (Op->hasUseList() && !WouldClobberPtrWithNonPtr &&
(!Ty || AskTy || isUntypedPointerTy(Ty) || isTodoType(Op))) {
Type *PrevElemTy = GR->findDeducedElementType(Op);
- GR->addDeducedElementType(Op, normalizeType(KnownElemTy));
+ GR->addDeducedElementType(Op, normalizeType(KnownElemTy,
+ CanUseAnyVectorRank));
// check if KnownElemTy is complete
if (!Incomplete)
eraseTodoType(Op);
@@ -2124,7 +2129,7 @@ void SPIRVEmitIntrinsics::insertAssignPtrTypeTargetExt(
CallInst *AssignCI = GR->findAssignPtrTypeInstr(V);
if (!AssignCI) {
- GR->buildAssignType(B, AssignedType, V);
+ GR->buildAssignType(B, AssignedType, V, CanUseAnyVectorRank);
return;
}
@@ -2144,7 +2149,8 @@ void SPIRVEmitIntrinsics::insertAssignPtrTypeTargetExt(
// Our previous guess about the type seems to be wrong, let's update
// inferred type according to a new, more precise type information.
- GR->updateAssignType(AssignCI, V, getNormalizedPoisonValue(AssignedType));
+ GR->updateAssignType(
+ AssignCI, V, getNormalizedPoisonValue(AssignedType, CanUseAnyVectorRank));
}
void SPIRVEmitIntrinsics::replacePointerOperandWithPtrCast(
@@ -2159,7 +2165,8 @@ void SPIRVEmitIntrinsics::replacePointerOperandWithPtrCast(
return;
setInsertPointSkippingPhis(B, I);
- Value *ExpectedElementVal = getNormalizedPoisonValue(ExpectedElementType);
+ Value *ExpectedElementVal = getNormalizedPoisonValue(ExpectedElementType,
+ CanUseAnyVectorRank);
MetadataAsValue *VMD = buildMD(ExpectedElementVal);
unsigned AddressSpace = getPointerAddressSpace(Pointer->getType());
bool FirstPtrCastOrAssignPtrType = true;
@@ -2333,7 +2340,8 @@ void SPIRVEmitIntrinsics::insertPtrCastOrAssignTypeInstr(Instruction *I,
if (!ElemTy) {
ElemTy = getPointeeTypeByCallInst(DemangledName, CalledF, OpIdx);
if (ElemTy) {
- GR->addDeducedElementType(CalledArg, normalizeType(ElemTy));
+ GR->addDeducedElementType(CalledArg,
+ normalizeType(ElemTy, CanUseAnyVectorRank));
} else {
for (User *U : CalledArg->users()) {
if (Instruction *Inst = dyn_cast<Instruction>(U)) {
@@ -2386,7 +2394,7 @@ void SPIRVEmitIntrinsics::insertPtrCastOrAssignTypeInstr(Instruction *I,
Instruction *SPIRVEmitIntrinsics::visitInsertElementInst(InsertElementInst &I) {
// If it's a <1 x Type> vector type, don't modify it. It's not a legal vector
// type in LLT and IRTranslator will replace it by the scalar.
- if (isVector1(I.getType()))
+ if (isVector1(I.getType()) && !CanUseAnyVectorRank)
return &I;
SmallVector<Type *, 4> Types = {I.getType(), I.getOperand(0)->getType(),
@@ -2405,7 +2413,7 @@ Instruction *
SPIRVEmitIntrinsics::visitExtractElementInst(ExtractElementInst &I) {
// If it's a <1 x Type> vector type, don't modify it. It's not a legal vector
// type in LLT and IRTranslator will replace it by the scalar.
- if (isVector1(I.getVectorOperandType()))
+ if (isVector1(I.getVectorOperandType()) && !CanUseAnyVectorRank)
return &I;
IRBuilder<> B(I.getParent());
@@ -2843,7 +2851,8 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
switch (ResIt->second) {
case WellKnownTypes::Event:
GR->buildAssignType(
- B, TargetExtType::get(I->getContext(), "spirv.Event"), I);
+ B, TargetExtType::get(I->getContext(), "spirv.Event"), I,
+ CanUseAnyVectorRank);
break;
}
}
@@ -2891,7 +2900,7 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
} else if (auto It = AggrConstTypes.find(I); It != AggrConstTypes.end())
TypeToAssign = It->second;
TypeToAssign = restoreMutatedType(GR, I, TypeToAssign);
- GR->buildAssignType(B, TypeToAssign, I);
+ GR->buildAssignType(B, TypeToAssign, I, CanUseAnyVectorRank);
}
for (const auto &Op : I->operands()) {
if (isa<ConstantPointerNull>(Op) || isa<UndefValue>(Op) ||
@@ -2920,11 +2929,13 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
if (OpTy->isTargetExtTy()) {
// We need to do this in order to be consistent with how target ext
// types are handled in `processInstrAfterVisit`
- OpTyVal = getNormalizedPoisonValue(OpTy);
+ OpTyVal = getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank);
}
CallInst *AssignCI =
buildIntrWithMD(Intrinsic::spv_assign_type, {OpTy},
- getNormalizedPoisonValue(OpTy), OpTyVal, {}, B);
+ getNormalizedPoisonValue(OpTy,
+ CanUseAnyVectorRank),
+ OpTyVal, {}, B);
GR->addAssignPtrTypeInstr(OpTyVal, AssignCI);
}
}
@@ -3238,7 +3249,7 @@ void SPIRVEmitIntrinsics::processInstrAfterVisit(Instruction *I,
if (OpTy->isTargetExtTy()) {
// Since this value is replaced by poison, we need to do the same in
// `insertAssignTypeIntrs`.
- Value *OpTyVal = getNormalizedPoisonValue(OpTy);
+ Value *OpTyVal = getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank);
NewOp = buildIntrWithMD(Intrinsic::spv_track_constant,
{OpTy, OpTyVal->getType()}, Op, OpTyVal, {}, B);
}
@@ -3246,7 +3257,8 @@ void SPIRVEmitIntrinsics::processInstrAfterVisit(Instruction *I,
OpElemTy != IntegerType::getInt8Ty(I->getContext())) {
SmallVector<Type *, 2> Types = {OpTy, OpTy};
SmallVector<Value *, 2> Args = {
- NewOp, buildMD(getNormalizedPoisonValue(OpElemTy)),
+ NewOp,
+ buildMD(getNormalizedPoisonValue(OpElemTy, CanUseAnyVectorRank)),
B.getInt32(getPointerAddressSpace(OpTy))};
CallInst *PtrCasted = B.CreateIntrinsicWithoutFolding(
Intrinsic::spv_ptrcast, {Types}, Args);
@@ -3393,7 +3405,9 @@ void SPIRVEmitIntrinsics::processParamTypes(Function *F, IRBuilder<> &B) {
if (!ElemTy && (ElemTy = deduceFunParamElementType(F, OpIdx)) != nullptr) {
if (CallInst *AssignCI = GR->findAssignPtrTypeInstr(Arg)) {
DenseSet<std::pair<Value *, Value *>> VisitedSubst;
- GR->updateAssignType(AssignCI, Arg, getNormalizedPoisonValue(ElemTy));
+ GR->updateAssignType(
+ AssignCI, Arg,
+ getNormalizedPoisonValue(ElemTy, CanUseAnyVectorRank));
propagateElemType(Arg, IntegerType::getInt8Ty(F->getContext()),
VisitedSubst);
} else {
@@ -3447,7 +3461,8 @@ bool SPIRVEmitIntrinsics::processFunctionPointers(Module &M) {
continue;
if (II->getIntrinsicID() == Intrinsic::spv_assign_ptr_type ||
II->getIntrinsicID() == Intrinsic::spv_ptrcast) {
- GR->updateAssignType(II, &F, getNormalizedPoisonValue(FPElemTy));
+ GR->updateAssignType(
+ II, &F, getNormalizedPoisonValue(FPElemTy, CanUseAnyVectorRank));
break;
}
}
@@ -3464,7 +3479,8 @@ bool SPIRVEmitIntrinsics::processFunctionPointers(Module &M) {
for (Function *F : Worklist) {
SmallVector<Value *> Args;
for (const auto &Arg : F->args())
- Args.push_back(getNormalizedPoisonValue(Arg.getType()));
+ Args.push_back(getNormalizedPoisonValue(Arg.getType(),
+ CanUseAnyVectorRank));
IRB.CreateCall(F, Args);
}
IRB.CreateRetVoid();
@@ -3495,10 +3511,11 @@ void SPIRVEmitIntrinsics::applyDemangledPtrArgTypes(IRBuilder<> &B) {
GR->buildAssignPtr(B, ElemTy, Arg);
}
} else if (isaGEP(Param)) {
- replaceUsesOfWithSpvPtrcast(Param, normalizeType(ElemTy), CI,
- Ptrcasts);
+ replaceUsesOfWithSpvPtrcast(
+ Param, normalizeType(ElemTy, CanUseAnyVectorRank), CI, Ptrcasts);
} else if (isa<Instruction>(Param)) {
- GR->addDeducedElementType(Param, normalizeType(ElemTy));
+ GR->addDeducedElementType(Param, normalizeType(ElemTy,
+ CanUseAnyVectorRank));
// insertAssignTypeIntrs() will complete buildAssignPtr()
} else {
B.SetInsertPoint(CI->getParent()
@@ -3514,7 +3531,7 @@ void SPIRVEmitIntrinsics::applyDemangledPtrArgTypes(IRBuilder<> &B) {
if (!RefF || !isPointerTy(RefF->getReturnType()) ||
GR->findDeducedElementType(RefF))
continue;
- ElemTy = normalizeType(ElemTy);
+ ElemTy = normalizeType(ElemTy, CanUseAnyVectorRank);
GR->addDeducedElementType(RefF, ElemTy);
GR->addReturnType(
RefF, TypedPointerType::get(
@@ -3619,6 +3636,8 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
HaveFunPtrs =
ST.canUseExtension(SPIRV::Extension::SPV_INTEL_function_pointers);
+ CanUseAnyVectorRank =
+ ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
CurrF = &Func;
IRBuilder<> B(Func.getContext());
AggrConsts.clear();
@@ -3638,8 +3657,9 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
continue;
if (SGEP) {
- GR->addDeducedElementType(SGEP,
- normalizeType(SGEP->getResultElementType()));
+ GR->addDeducedElementType(
+ SGEP, normalizeType(SGEP->getResultElementType(),
+ CanUseAnyVectorRank));
continue;
}
@@ -3650,7 +3670,7 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
GEP = NewGEP;
}
if (Type *GepTy = getGEPType(GEP))
- GR->addDeducedElementType(GEP, normalizeType(GepTy));
+ GR->addDeducedElementType(GEP, normalizeType(GepTy, CanUseAnyVectorRank));
}
// Remove dead instructions that were simplified and replaced.
for (auto *I : DeadInsts) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 4ba98651fb2d6..11166a3d6eb3f 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -325,11 +325,10 @@ const MachineInstr *SPIRVGlobalRegistry::createConstOrTypeAtFunctionEntry(
}
SPIRVTypeInst
-SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
- MachineIRBuilder &MIRBuilder) {
+SPIRVGlobalRegistry::getOpTypeVectorImpl(
+ uint32_t NumElems, SPIRVTypeInst ElemType,
+ MachineIRBuilder &MIRBuilder, bool IsLongVector) {
auto EleOpc = ElemType->getOpcode();
- assert(NumElems >= 2 && "SPIR-V OpTypeVector requires at least 2 components");
-
if (EleOpc == SPIRV::OpTypePointer) {
if (!cast<SPIRVSubtarget>(MIRBuilder.getMF().getSubtarget())
.canUseExtension(
@@ -349,13 +348,30 @@ SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
return createConstOrTypeAtFunctionEntry(
MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
- return MIRBuilder.buildInstr(SPIRV::OpTypeVector)
+ return MIRBuilder.buildInstr(IsLongVector ? SPIRV::OpTypeVectorIdEXT
+ : SPIRV::OpTypeVector)
.addDef(createTypeVReg(MIRBuilder))
.addUse(getSPIRVTypeID(ElemType))
.addImm(NumElems);
});
}
+SPIRVTypeInst
+SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
+ MachineIRBuilder &MIRBuilder) {
+ assert(NumElems >= 2 && "SPIR-V OpTypeVector requires at least 2 components");
+ return getOpTypeVectorImpl(NumElems, ElemType, MIRBuilder);
+}
+
+SPIRVTypeInst
+SPIRVGlobalRegistry::getOpTypeVectorIdEXT(
+ uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder) {
+ assert((NumElems < 2 || NumElems > 16 ||
+ (NumElems != 3 && NumElems != 4 && NumElems != 8)) &&
+ "SPIR-V OpTypeVectorIdExt should only be used for extended vectors");
+ return getOpTypeVectorImpl(NumElems, ElemType, MIRBuilder, true);
+}
+
Register SPIRVGlobalRegistry::getOrCreateConstFP(APFloat Val, MachineInstr &I,
SPIRVTypeInst SpvType,
const SPIRVInstrInfo &TII,
@@ -558,8 +574,7 @@ Register SPIRVGlobalRegistry::getOrCreateBaseRegister(
Constant *Val, MachineInstr &I, SPIRVTypeInst SpvType,
const SPIRVInstrInfo &TII, unsigned BitWidth, bool ZeroAsNull) {
SPIRVTypeInst Type = SpvType;
- if (SpvType->getOpcode() == SPIRV::OpTypeVector ||
- SpvType->getOpcode() == SPIRV::OpTypeArray) {
+ if (isVectorType(SpvType) || SpvType->getOpcode() == SPIRV::OpTypeArray) {
auto EleTypeReg = SpvType->getOperand(1).getReg();
Type = getSPIRVTypeForVReg(EleTypeReg);
}
@@ -1142,9 +1157,11 @@ SPIRVTypeInst SPIRVGlobalRegistry::findSPIRVType(
const Type *Ty, MachineIRBuilder &MIRBuilder,
SPIRV::AccessQualifier::AccessQualifier AccQual,
bool ExplicitLayoutRequired, bool EmitIR) {
- // Treat <1 x T> as T.
+ const auto &STI = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
+ // Treat <1 x T> as T if the SPV_EXT_long_vector extension is not available.
if (auto *FVT = dyn_cast<FixedVectorType>(Ty);
- FVT && FVT->getNumElements() == 1)
+ FVT && FVT->getNumElements() == 1 &&
+ !STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
return findSPIRVType(FVT->getElementType(), MIRBuilder, AccQual,
ExplicitLayoutRequired, EmitIR);
Ty = adjustIntTypeByWidth(Ty);
@@ -1217,8 +1234,12 @@ SPIRVTypeInst SPIRVGlobalRegistry::createSPIRVType(
SPIRVTypeInst El =
findSPIRVType(cast<FixedVectorType>(Ty)->getElementType(), MIRBuilder,
AccQual, ExplicitLayoutRequired, EmitIR);
- return getOpTypeVector(cast<FixedVectorType>(Ty)->getNumElements(), El,
- MIRBuilder);
+ unsigned NumElts = cast<FixedVectorType>(Ty)->getNumElements();
+ const auto &STI = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
+ if (isLongVector(Ty) &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
+ return getOpTypeVectorIdEXT(NumElts, El, MIRBuilder);
+ return getOpTypeVector(NumElts, El, MIRBuilder);
}
if (Ty->isArrayTy()) {
SPIRVTypeInst El = findSPIRVType(Ty->getArrayElementType(), MIRBuilder,
@@ -1343,9 +1364,12 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVType(
const Type *Ty, MachineIRBuilder &MIRBuilder,
SPIRV::AccessQualifier::AccessQualifier AccessQual,
bool ExplicitLayoutRequired, bool EmitIR) {
- // SPIR-V doesn't support single-element vectors. Treat <1 x T> as T.
+ // SPIR-V doesn't support single-element vectors. Treat <1 x T> as T if the
+ // SPV_EXT_long_vector extension is not available.
+ const auto &STI = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
if (auto *FVT = dyn_cast<FixedVectorType>(Ty);
- FVT && FVT->getNumElements() == 1)
+ FVT && FVT->getNumElements() == 1 &&
+ !STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
return getOrCreateSPIRVType(FVT->getElementType(), MIRBuilder, AccessQual,
ExplicitLayoutRequired, EmitIR);
const MachineFunction *MF = &MIRBuilder.getMF();
@@ -1399,12 +1423,11 @@ bool SPIRVGlobalRegistry::isScalarOrVectorOfType(Register VReg,
assert(Type && "isScalarOrVectorOfType VReg has no type assigned");
if (Type->getOpcode() == TypeOpcode)
return true;
- if (Type->getOpcode() == SPIRV::OpTypeVector) {
- Register ScalarTypeVReg = Type->getOperand(1).getReg();
- SPIRVTypeInst ScalarType = getSPIRVTypeForVReg(ScalarTypeVReg);
- return ScalarType->getOpcode() == TypeOpcode;
- }
- return false;
+ if (!isVectorType(Type))
+ return false;
+ Register ScalarTypeVReg = Type->getOperand(1).getReg();
+ SPIRVTypeInst ScalarType = getSPIRVTypeForVReg(ScalarTypeVReg);
+ return ScalarType->getOpcode() == TypeOpcode;
}
bool SPIRVGlobalRegistry::isResourceType(SPIRVTypeInst Type) const {
@@ -1429,7 +1452,7 @@ unsigned
SPIRVGlobalRegistry::getScalarOrVectorComponentCount(SPIRVTypeInst Type) const {
if (!Type)
return 0;
- return Type->getOpcode() == SPIRV::OpTypeVector
+ return (isVectorType(Type))
? static_cast<unsigned>(Type->getOperand(2).getImm())
: 1;
}
@@ -1438,9 +1461,8 @@ SPIRVTypeInst
SPIRVGlobalRegistry::getScalarOrVectorComponentType(SPIRVTypeInst Type) const {
if (!Type)
return nullptr;
- Register ScalarReg = Type->getOpcode() == SPIRV::OpTypeVector
- ? Type->getOperand(1).getReg()
- : Type->getOperand(0).getReg();
+ Register ScalarReg = (isVectorType(Type)) ? Type->getOperand(1).getReg()
+ : Type->getOperand(0).getReg();
SPIRVTypeInst ScalarType = getSPIRVTypeForVReg(ScalarReg);
assert(isScalarOrVectorOfType(Type->getOperand(0).getReg(),
ScalarType->getOpcode()));
@@ -1966,9 +1988,12 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
SPIRVTypeInst BaseType, unsigned NumElements, MachineInstr &I,
const SPIRVInstrInfo &TII) {
- // At this point of time all 1-element vectors are resolved. Add assertion
- // to fire if anything changes.
- assert(NumElements >= 2 && "SPIR-V vectors must have at least 2 components");
+ const auto &STI = I.getMF()->getSubtarget<SPIRVSubtarget>();
+ if (!STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
+ // At this point of time all 1-element vectors are resolved. Add assertion
+ // to fire if anything changes.
+ assert(NumElements >= 2 &&
+ "SPIR-V vectors must have at least 2 components");
Type *Ty = FixedVectorType::get(
const_cast<Type *>(getTypeForSPIRVType(BaseType)), NumElements);
if (const MachineInstr *MI = findMI(Ty, false, CurMF))
@@ -1978,8 +2003,10 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
MachineIRBuilder MIRBuilder(*DepMI->getParent(), DepMI->getIterator());
const MachineInstr *NewMI = createConstOrTypeAtFunctionEntry(
MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
+ auto OpTy =
+ (isLongVector(Ty)) ? SPIRV::OpTypeVectorIdEXT : SPIRV::OpTypeVector;
return BuildMI(MIRBuilder.getMBB(), *MIRBuilder.getInsertPt(),
- MIRBuilder.getDL(), TII.get(SPIRV::OpTypeVector))
+ MIRBuilder.getDL(), TII.get(OpTy))
.addDef(createTypeVReg(CurMF->getRegInfo()))
.addUse(getSPIRVTypeID(BaseType))
.addImm(NumElements);
@@ -2104,7 +2131,8 @@ SPIRVGlobalRegistry::getRegClass(SPIRVTypeInst SpvType) const {
return &SPIRV::fIDRegClass;
case SPIRV::OpTypePointer:
return &SPIRV::pIDRegClass;
- case SPIRV::OpTypeVector: {
+ case SPIRV::OpTypeVector:
+ case SPIRV::OpTypeVectorIdEXT: {
SPIRVTypeInst ElemType = getScalarOrVectorComponentType(SpvType);
unsigned ElemOpcode = ElemType ? ElemType->getOpcode() : 0;
if (ElemOpcode == SPIRV::OpTypeFloat)
@@ -2132,7 +2160,8 @@ LLT SPIRVGlobalRegistry::getRegType(SPIRVTypeInst SpvType) const {
return LLT::scalar(getScalarOrVectorBitWidth(SpvType));
case SPIRV::OpTypePointer:
return LLT::pointer(getAS(SpvType), getPointerSize());
- case SPIRV::OpTypeVector: {
+ case SPIRV::OpTypeVector:
+ case SPIRV::OpTypeVectorIdEXT: {
SPIRVTypeInst ElemType = getScalarOrVectorComponentType(SpvType);
LLT ET;
switch (ElemType ? ElemType->getOpcode() : 0) {
@@ -2147,7 +2176,8 @@ LLT SPIRVGlobalRegistry::getRegType(SPIRVTypeInst SpvType) const {
default:
ET = LLT::scalar(64);
}
- return LLT::fixed_vector(getScalarOrVectorComponentCount(SpvType), ET);
+ auto EC = ElementCount::getFixed(getScalarOrVectorComponentCount(SpvType));
+ return LLT::scalarOrVector(EC, ET);
}
}
return LLT::scalar(64);
@@ -2229,9 +2259,9 @@ void SPIRVGlobalRegistry::replaceAllUsesWith(Value *Old, Value *New,
updateIfExistAssignPtrTypeInstr(Old, New, DeleteOld);
}
-void SPIRVGlobalRegistry::buildAssignType(IRBuilder<> &B, Type *Ty,
- Value *Arg) {
- Value *OfType = getNormalizedPoisonValue(Ty);
+void SPIRVGlobalRegistry::buildAssignType(IRBuilder<> &B, Type *Ty, Value *Arg,
+ bool CanUseAnyVectorRank) {
+ Value *OfType = getNormalizedPoisonValue(Ty, CanUseAnyVectorRank);
CallInst *AssignCI = nullptr;
if (Arg->getType()->isAggregateType() && Ty->isAggregateType() &&
allowEmitFakeUse(Arg)) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
index fcb8b3fd66f91..481bdd2005c88 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
@@ -451,9 +451,16 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
SPIRVTypeInst getOpTypeVoid(MachineIRBuilder &MIRBuilder);
+ SPIRVTypeInst getOpTypeVectorImpl(uint32_t NumElems, SPIRVTypeInst ElemType,
+ MachineIRBuilder &MIRBuilder,
+ bool IsLongVector = false);
+
SPIRVTypeInst getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
MachineIRBuilder &MIRBuilder);
+ SPIRVTypeInst getOpTypeVectorIdEXT(uint32_t NumElems, SPIRVTypeInst ElemType,
+ MachineIRBuilder &MIRBuilder);
+
SPIRVTypeInst getOpTypeArray(uint32_t NumElems, SPIRVTypeInst ElemType,
MachineIRBuilder &MIRBuilder,
bool ExplicitLayoutRequired, bool EmitIR);
@@ -688,7 +695,8 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
// mappings.
void replaceAllUsesWith(Value *Old, Value *New, bool DeleteOld = true);
- void buildAssignType(IRBuilder<> &B, Type *Ty, Value *Arg);
+ void buildAssignType(IRBuilder<> &B, Type *Ty, Value *Arg,
+ bool CanUseAnyVectorRank);
void buildAssignPtr(IRBuilder<> &B, Type *ElemTy, Value *Arg);
void updateAssignType(CallInst *AssignCI, Value *Arg, Value *OfType);
};
diff --git a/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp b/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
index 64c61d9f6a0c8..f6d78fe5f6f32 100644
--- a/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
@@ -96,11 +96,19 @@ MVT SPIRVTargetLowering::getRegisterTypeForCallingConv(LLVMContext &Context,
// This code avoids CallLowering fail inside getVectorTypeBreakdown
// on v3i1 arguments. Maybe we need to return i32 for all types.
// TODO: remove it once this case is supported by the default implementation.
- if (VT.isVector() && VT.getVectorNumElements() == 3) {
- if (VT.getVectorElementType() == MVT::i1)
- return MVT::v4i1;
- else if (VT.getVectorElementType() == MVT::i8)
- return MVT::v4i8;
+ if (VT.isVector()) {
+ if (VT.getVectorNumElements() == 3) {
+ if (VT.getVectorElementType() == MVT::i1)
+ return MVT::v4i1;
+ else if (VT.getVectorElementType() == MVT::i8)
+ return MVT::v4i8;
+ } else if (!isPowerOf2_32(VT.getVectorNumElements()) &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)) {
+ // Non POT element counts are not yet supported by GISEL.
+ return MVT::getVectorVT(
+ VT.getVectorElementType().getSimpleVT(),
+ ElementCount::getFixed(VT.getVectorNumElements()));
+ }
}
return getRegisterType(Context, VT);
}
@@ -325,7 +333,7 @@ static void validatePtrUnwrapStructField(const SPIRVSubtarget &STI,
if (!MemberType)
return;
unsigned MemberTypeOp = MemberType->getOpcode();
- if (MemberTypeOp != SPIRV::OpTypeVector && MemberTypeOp != SPIRV::OpTypeInt &&
+ if (!isVectorType(MemberType) && MemberTypeOp != SPIRV::OpTypeInt &&
MemberTypeOp != SPIRV::OpTypeFloat && MemberTypeOp != SPIRV::OpTypeBool)
return;
// It's a structure-wrapper around a valid type. Insert a bitcast before the
@@ -424,6 +432,94 @@ void validateAccessChain(const SPIRVSubtarget &STI, MachineRegisterInfo *MRI,
}
}
+inline void validateVec1Ops(const SPIRVSubtarget &STI, MachineRegisterInfo *MRI,
+ SPIRVGlobalRegistry &GR, MachineInstr &MI) {
+ // IRTranslator does not believe that rank-1 vectors exist, unlike upstream
+ // LLVM which happily creates <1 x T> vectors. This leads to operations over
+ // <1 x T> vectors getting translated as their scalar counterparts, which is
+ // wrong if we used SPV_EXT_long_vector we to preserve the actual vector-ness.
+ switch (MI.getOpcode()) {
+ case SPIRV::OpBitwiseAndS:
+ case SPIRV::OpBitwiseOrS:
+ case SPIRV::OpBitwiseXorS:
+ case SPIRV::OpFAddS:
+ case SPIRV::OpFDivS:
+ case SPIRV::OpFMulS:
+ case SPIRV::OpFNegate:
+ case SPIRV::OpFRemS:
+ case SPIRV::OpFSubS:
+ case SPIRV::OpIAddCarryS:
+ case SPIRV::OpIAddS:
+ case SPIRV::OpIMulS:
+ case SPIRV::OpISubBorrowS:
+ case SPIRV::OpISubS:
+ case SPIRV::OpSDivS:
+ case SPIRV::OpSRemS:
+ case SPIRV::OpShiftLeftLogicalS:
+ case SPIRV::OpShiftRightArithmeticS:
+ case SPIRV::OpShiftRightLogicalS:
+ case SPIRV::OpStrictFAddS:
+ case SPIRV::OpStrictFDivS:
+ case SPIRV::OpStrictFMulS:
+ case SPIRV::OpStrictFRemS:
+ case SPIRV::OpStrictFSubS:
+ case SPIRV::OpUDivS:
+ case SPIRV::OpUModS: {
+ SPIRVTypeInst ResTy = GR.getSPIRVTypeForVReg(MI.getOperand(1).getReg());
+
+ if (!isVectorType(ResTy))
+ return;
+
+ // Restore original Vec1 type.
+ Register NewResultReg = createVirtualRegister(ResTy, &GR, MRI, *MI.getMF());
+ MRI->replaceRegWith(MI.getOperand(0).getReg(), NewResultReg);
+ // Vector opcodes are always next after scalar (if this ceases to hold we
+ // will have to adapt).
+ MI.setDesc(STI.getInstrInfo()->get(MI.getOpcode() + 1));
+ // IRTranslator would've inserted COPYs from the vector into a scalar, which
+ // are spurious and have to be walked through.
+ for (unsigned I = 2; I != MI.getNumOperands(); ++I) {
+ MachineOperand &Op = MI.getOperand(I);
+ if (!Op.isReg())
+ continue;
+
+ SPIRVTypeInst OpTy = GR.getSPIRVTypeForVReg(Op.getReg());
+ if (OpTy == ResTy)
+ continue;
+
+ MachineInstr *OpDef = getDef(Op, MRI);
+ assert(OpDef &&
+ GR.getSPIRVTypeForVReg(OpDef->getOperand(0).getReg()) == ResTy &&
+ "Expected to find Result Type (Vec1)!");
+ MI.substituteRegister(Op.getReg(), OpDef->getOperand(0).getReg(), 0,
+ *STI.getRegisterInfo());
+ }
+ break;
+ }
+ case TargetOpcode::COPY: {
+ Register ResVReg = MI.getOperand(0).getReg();
+ SPIRVTypeInst SrcTy = GR.getSPIRVTypeForVReg(MI.getOperand(1).getReg());
+ SPIRVTypeInst DstTy = GR.getSPIRVTypeForVReg(ResVReg);
+
+ if (!SrcTy || !DstTy || isVectorType(DstTy) || !isVectorType(SrcTy))
+ return;
+
+ Register ExtractReg = createVirtualRegister(DstTy, &GR, MRI, *MI.getMF());
+ BuildMI(*MI.getParent(), MI, MI.getDebugLoc(),
+ STI.getInstrInfo()->get(SPIRV::OpCompositeExtract))
+ .addDef(ExtractReg)
+ .addUse(GR.getSPIRVTypeID(DstTy))
+ .addUse(MI.getOperand(1).getReg())
+ .addImm(0);
+ for (auto &&U : MRI->use_instructions(ResVReg))
+ U.substituteRegister(ResVReg, ExtractReg, 0, *STI.getRegisterInfo());
+ break;
+ }
+ default:
+ break;
+ }
+}
+
// TODO: the logic of inserting additional bitcast's is to be moved
// to pre-IRTranslation passes eventually
void SPIRVTargetLowering::finalizeLowering(MachineFunction &MF) const {
@@ -440,6 +536,7 @@ void SPIRVTargetLowering::finalizeLowering(MachineFunction &MF) const {
for (MachineBasicBlock::iterator MBBI = MBB->begin(), MBBE = MBB->end();
MBBI != MBBE;) {
MachineInstr &MI = *MBBI++;
+ validateVec1Ops(STI, MRI, GR, MI);
switch (MI.getOpcode()) {
case SPIRV::OpAtomicLoad:
case SPIRV::OpAtomicExchange:
@@ -580,7 +677,7 @@ void SPIRVTargetLowering::finalizeLowering(MachineFunction &MF) const {
assert(RetType && "Expected return type");
validatePtrTypes(
STI, MRI, GR, MI, MI.getNumOperands() - 1,
- RetType->getOpcode() != SPIRV::OpTypeVector
+ (!isVectorType(RetType))
? Int32Type
: GR.getOrCreateSPIRVVectorType(
Int32Type, GR.getScalarOrVectorComponentCount(RetType),
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
index 66e5d2f6a626e..82b5460f0e8c9 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
+++ b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
@@ -213,6 +213,8 @@ def OpTypeCooperativeMatrixNV: Op<5358, (outs TYPE:$res),
def OpTypeCooperativeMatrixKHR: Op<4456, (outs TYPE:$res),
(ins TYPE:$compType, ID:$scope, ID:$rows, ID:$cols, ID:$use),
"$res = OpTypeCooperativeMatrixKHR $compType $scope $rows $cols $use">;
+def OpTypeVectorIdEXT: Op<5288, (outs TYPE:$type), (ins TYPE:$compType, i32imm:$compCount),
+ "$type = OpTypeVectorIdEXT $compType $compCount">;
// 3.42.7 Constant-Creation Instructions
@@ -782,7 +784,7 @@ def OpWritePipe: Op<275, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$Pointer,
"$res = OpWritePipe $type $Pipe $Pointer $PcktSize $PcktAlign">;
def OpReservedReadPipe : Op<276, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
"$res = OpReservedReadPipe $type $Pipe $ReserveId $Index $Pointer $PcktSize $PcktAlign">;
-def OpReservedWritePipe : Op<277, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
+def OpReservedWritePipe : Op<277, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
"$res = OpReservedWritePipe $type $Pipe $ReserveId $Index $Pointer $PcktSize $PcktAlign">;
def OpReserveReadPipePackets : Op<278, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$NumPckts, ID:$PcktSize, ID:$PcktAlign),
"$res = OpReserveReadPipePackets $type $Pipe $NumPckts $PcktSize $PcktAlign">;
@@ -984,15 +986,15 @@ def OpBitwiseFunctionINTEL: Op<6242, (outs ID:$res), (ins TYPE:$type, ID:$a, ID:
"$res = OpBitwiseFunctionINTEL $type $a $b $c $lut_index">;
// SPV_ALTERA_arbitrary_precision_floating_point
-def OpArbitraryFloatGTALTERA: Op<5850, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatGTALTERA: Op<5850, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatGTALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatGEALTERA: Op<5851, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatGEALTERA: Op<5851, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatGEALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatLTALTERA: Op<5852, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatLTALTERA: Op<5852, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatLTALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatLEALTERA: Op<5853, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatLEALTERA: Op<5853, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatLEALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatEQALTERA: Op<5854, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatEQALTERA: Op<5854, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatEQALTERA $type $A $Ma $B $Mb">;
def OpArbitraryFloatRecipALTERA: Op<5855, (outs ID:$res),
(ins TYPE:$type, ID:$A, i32imm:$Ma, i32imm:$Mresult, i32imm:$subnormalMode, i32imm:$RoundingMode, i32imm:$RoundingAccuracy),
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index 15bb399c2ca09..93e56ebab93f1 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -759,6 +759,7 @@ static bool isOpcodeWithNoSideEffects(unsigned Opcode) {
case SPIRV::OpTypeInt:
case SPIRV::OpTypeFloat:
case SPIRV::OpTypeVector:
+ case SPIRV::OpTypeVectorIdEXT:
case SPIRV::OpTypeMatrix:
case SPIRV::OpTypeImage:
case SPIRV::OpTypeSampler:
@@ -1238,15 +1239,13 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
return selectFrexp(ResVReg, ResType, I);
case TargetOpcode::G_UADDO:
- return selectOverflowArith(ResVReg, ResType, I,
- ResType->getOpcode() == SPIRV::OpTypeVector
- ? SPIRV::OpIAddCarryV
- : SPIRV::OpIAddCarryS);
+ return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
+ ? SPIRV::OpIAddCarryV
+ : SPIRV::OpIAddCarryS);
case TargetOpcode::G_USUBO:
- return selectOverflowArith(ResVReg, ResType, I,
- ResType->getOpcode() == SPIRV::OpTypeVector
- ? SPIRV::OpISubBorrowV
- : SPIRV::OpISubBorrowS);
+ return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
+ ? SPIRV::OpISubBorrowV
+ : SPIRV::OpISubBorrowS);
case TargetOpcode::G_UMULO:
return selectOverflowArith(ResVReg, ResType, I, SPIRV::OpUMulExtended);
case TargetOpcode::G_SMULO:
@@ -1384,9 +1383,8 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
case TargetOpcode::G_ATOMICRMW_FSUB:
// Translate G_ATOMICRMW_FSUB to OpAtomicFAddEXT with negative value operand
return selectAtomicRMW(ResVReg, ResType, I, SPIRV::OpAtomicFAddEXT,
- ResType->getOpcode() == SPIRV::OpTypeVector
- ? SPIRV::OpFNegateV
- : SPIRV::OpFNegate);
+ isVectorType(ResType) ? SPIRV::OpFNegateV
+ : SPIRV::OpFNegate);
case TargetOpcode::G_ATOMICRMW_FMIN:
return selectAtomicRMW(ResVReg, ResType, I, SPIRV::OpAtomicFMinEXT);
case TargetOpcode::G_ATOMICRMW_FMAX:
@@ -2106,6 +2104,23 @@ bool SPIRVInstructionSelector::selectStore(MachineInstr &I) const {
}
}
+ SPIRVTypeInst PointeeTy = GR.getPointeeType(GR.getSPIRVTypeForVReg(Ptr));
+ SPIRVTypeInst StoreTy = GR.getSPIRVTypeForVReg(StoreVal);
+ if (PointeeTy->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ StoreTy->getOpcode() != SPIRV::OpTypeVectorIdEXT &&
+ GR.getScalarOrVectorComponentCount(PointeeTy) == 1) {
+ MachineInstr *StoreValDef = getVRegDef(*MRI, StoreVal);
+ Register Reg = StoreValDef->getOperand(0).getReg();
+ if (auto FC = GFConstant::getConstant(Reg, *MRI))
+ StoreVal =
+ GR.getOrCreateConstVector(FC->getScalarValue(), I, PointeeTy, TII);
+ else if (auto IC = GIConstant::getConstant(Reg, *MRI))
+ StoreVal =
+ GR.getOrCreateConstVector(IC->getScalarValue(), I, PointeeTy, TII);
+ else
+ llvm_unreachable("Unexpected <1 x T> Store type!");
+ }
+
if (I.getNumMemOperands()) {
const MachineMemOperand *MemOp = *I.memoperands_begin();
if (MemOp->isAtomic())
@@ -2574,7 +2589,7 @@ bool SPIRVInstructionSelector::selectUnmergeValues(MachineInstr &I) const {
I.getOperand(ArgI).isReg() ? I.getOperand(ArgI).getReg() : Register(0);
SPIRVTypeInst SrcType =
SrcReg.isValid() ? GR.getSPIRVTypeForVReg(SrcReg) : nullptr;
- if (!SrcType || SrcType->getOpcode() != SPIRV::OpTypeVector)
+ if (!SrcType || !isVectorType(SrcType))
report_fatal_error(
"cannot select G_UNMERGE_VALUES with a non-vector argument");
@@ -2597,7 +2612,7 @@ bool SPIRVInstructionSelector::selectUnmergeValues(MachineInstr &I) const {
GR.assignSPIRVTypeToVReg(ResType, ResVReg, *GR.CurMF);
}
- if (ResType->getOpcode() == SPIRV::OpTypeVector) {
+ if (isVectorType(ResType)) {
Register UndefReg = GR.getOrCreateUndef(I, SrcType, TII);
auto MIB =
BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpVectorShuffle))
@@ -2628,11 +2643,11 @@ bool SPIRVInstructionSelector::selectUnmergeValues(MachineInstr &I) const {
bool SPIRVInstructionSelector::selectFence(MachineInstr &I) const {
AtomicOrdering AO = AtomicOrdering(I.getOperand(0).getImm());
uint32_t MemSem = static_cast<uint32_t>(getMemSemantics(AO));
- Register MemSemReg = buildI32Constant(MemSem, I);
+ Register MemSemReg = buildI32ConstantInEntryBlock(MemSem, I);
SyncScope::ID Ord = SyncScope::ID(I.getOperand(1).getImm());
uint32_t Scope = static_cast<uint32_t>(
getMemScope(GR.CurMF->getFunction().getContext(), Ord));
- Register ScopeReg = buildI32Constant(Scope, I);
+ Register ScopeReg = buildI32ConstantInEntryBlock(Scope, I);
MachineBasicBlock &BB = *I.getParent();
BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpMemoryBarrier))
.addUse(ScopeReg)
@@ -2666,7 +2681,9 @@ bool SPIRVInstructionSelector::selectOverflowArith(Register ResVReg,
assert(I.getNumDefs() > 1 && "Not enought operands");
SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
unsigned N = GR.getScalarOrVectorComponentCount(ResType);
- if (N > 1)
+ if (N > 1 ||
+ (isVectorType(ResType) &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
Register ZeroReg = buildZerosVal(ResType, I);
@@ -3107,8 +3124,7 @@ bool SPIRVInstructionSelector::selectAnyOrAll(Register ResVReg,
assert(InputType && "VReg has no type assigned");
bool IsBoolTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeBool);
- bool IsVectorTy = InputType->getOpcode() == SPIRV::OpTypeVector;
- if (IsBoolTy && !IsVectorTy) {
+ if (IsBoolTy && !isVectorType(InputType)) {
assert(ResVReg == I.getOperand(0).getReg());
return BuildCOPY(ResVReg, InputRegister, I);
}
@@ -3120,7 +3136,7 @@ bool SPIRVInstructionSelector::selectAnyOrAll(Register ResVReg,
SPIRVTypeInst SpvBoolTy = SpvBoolScalarTy;
Register NotEqualReg = ResVReg;
- if (IsVectorTy) {
+ if (isVectorType(InputType)) {
NotEqualReg =
IsBoolTy ? InputRegister
: createVirtualRegister(SpvBoolTy, &GR, MRI, MRI->getMF());
@@ -3140,7 +3156,7 @@ bool SPIRVInstructionSelector::selectAnyOrAll(Register ResVReg,
.constrainAllUses(TII, TRI, RBI);
}
- if (IsVectorTy)
+ if (isVectorType(InputType))
BuildMI(BB, I, I.getDebugLoc(), TII.get(OpAnyOrAll))
.addDef(ResVReg)
.addUse(GR.getSPIRVTypeID(SpvBoolScalarTy))
@@ -3172,8 +3188,9 @@ bool SPIRVInstructionSelector::selectFloatDot(Register ResVReg,
[[maybe_unused]] SPIRVTypeInst VecType =
GR.getSPIRVTypeForVReg(I.getOperand(2).getReg());
- assert(VecType->getOpcode() == SPIRV::OpTypeVector &&
- GR.getScalarOrVectorComponentCount(VecType) > 1 &&
+ assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
+ GR.getScalarOrVectorComponentCount(VecType) > 1) ||
+ VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
"dot product requires a vector of at least 2 components");
[[maybe_unused]] SPIRVTypeInst EltType =
@@ -3232,8 +3249,9 @@ bool SPIRVInstructionSelector::selectIntegerDotExpansion(
.addUse(Vec1)
.constrainAllUses(TII, TRI, RBI);
- assert(VecType->getOpcode() == SPIRV::OpTypeVector &&
- GR.getScalarOrVectorComponentCount(VecType) > 1 &&
+ assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
+ GR.getScalarOrVectorComponentCount(VecType) > 1) ||
+ VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
"dot product requires a vector of at least 2 components");
Register Res = MRI->createVirtualRegister(GR.getRegClass(ResType));
@@ -3590,7 +3608,9 @@ bool SPIRVInstructionSelector::selectWaveActiveAllEqual(Register ResVReg,
// Determine if input is vector
unsigned NumElems = GR.getScalarOrVectorComponentCount(InputType);
- bool IsVector = NumElems > 1;
+ bool IsVector = NumElems > 1 ||
+ (InputType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector));
// Determine element types
SPIRVTypeInst ElemInputType = GR.getScalarOrVectorComponentType(InputType);
@@ -3881,7 +3901,9 @@ bool SPIRVInstructionSelector::selectBitreverseViaI32(Register ResVReg,
? SPIRV::OpSConvert
: SPIRV::OpUConvert;
- if (N > 1) {
+ if (N > 1 ||
+ (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
Int32Type = GR.getOrCreateSPIRVVectorType(Int32Type, N, I, TII);
ShiftOp = SPIRV::OpShiftRightLogicalV;
@@ -4088,7 +4110,9 @@ bool SPIRVInstructionSelector::selectBitreverse(Register ResVReg,
unsigned OrOp = SPIRV::OpBitwiseOrS;
unsigned ShlOp = SPIRV::OpShiftLeftLogicalS;
unsigned ShrOp = SPIRV::OpShiftRightLogicalS;
- if (N > 1) {
+ if (N > 1 ||
+ (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
AndOp = SPIRV::OpBitwiseAndV;
OrOp = SPIRV::OpBitwiseOrV;
ShlOp = SPIRV::OpShiftLeftLogicalV;
@@ -4100,7 +4124,9 @@ bool SPIRVInstructionSelector::selectBitreverse(Register ResVReg,
auto SwapBits = [&](const Register Input, const uint64_t Mask,
const unsigned Shift) -> Register {
auto CreateConst = [&](const uint64_t Value) -> Register {
- if (N == 1)
+ if (N == 1 &&
+ (ResType->getOpcode() != SPIRV::OpTypeVectorIdEXT ||
+ !STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
return GR.getOrCreateConstInt(
Value, I, GR.retrieveScalarOrVectorIntType(ResType), TII);
return GR.getOrCreateConstVector(Value, I, ResType, TII);
@@ -4199,7 +4225,7 @@ bool SPIRVInstructionSelector::selectBuildVector(Register ResVReg,
SPIRVTypeInst ResType,
MachineInstr &I) const {
unsigned N = 0;
- if (ResType->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(ResType))
N = GR.getScalarOrVectorComponentCount(ResType);
else if (ResType->getOpcode() == SPIRV::OpTypeArray)
N = getArrayComponentCount(MRI, ResType);
@@ -4215,7 +4241,7 @@ bool SPIRVInstructionSelector::selectBuildVector(Register ResVReg,
if (!isConstReg(MRI, I.getOperand(i).getReg()))
IsConst = false;
- if (!IsConst && N < 2)
+ if (!IsConst && (N < 2 && ResType->getOpcode() != SPIRV::OpTypeVectorIdEXT))
return diagnoseUnsupported(
I, "There must be at least two constituent operands in a vector");
@@ -4251,7 +4277,7 @@ bool SPIRVInstructionSelector::selectSplatVector(Register ResVReg,
SPIRVTypeInst ResType,
MachineInstr &I) const {
unsigned N = 0;
- if (ResType->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(ResType))
N = GR.getScalarOrVectorComponentCount(ResType);
else if (ResType->getOpcode() == SPIRV::OpTypeArray)
N = getArrayComponentCount(MRI, ResType);
@@ -4266,7 +4292,7 @@ bool SPIRVInstructionSelector::selectSplatVector(Register ResVReg,
Register OpReg = I.getOperand(OpIdx).getReg();
bool IsConst = isConstReg(MRI, OpReg);
- if (!IsConst && N < 2)
+ if (!IsConst && (N < 2 && ResType->getOpcode() != SPIRV::OpTypeVectorIdEXT))
return diagnoseUnsupported(
I, "There must be at least two constituent operands in a vector");
@@ -4453,8 +4479,7 @@ bool SPIRVInstructionSelector::selectExp10(Register ResVReg,
/// There is no exp10 in GLSL. Use exp10(x) = exp2(x * log2(10)) instead
/// log2(10) ~= 3.3219280948874l
- if (ResType->getOpcode() != SPIRV::OpTypeVector &&
- ResType->getOpcode() != SPIRV::OpTypeFloat)
+ if (!isVectorType(ResType) && !ResType.isAnyTypeFloat())
return false;
MachineIRBuilder MIRBuilder(I);
@@ -4472,9 +4497,8 @@ bool SPIRVInstructionSelector::selectExp10(Register ResVReg,
Register ConstReg =
GR.buildConstantFP(ConstVal, MIRBuilder, SpirvScalarType);
Register ArgReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
- auto Opcode = ResType->getOpcode() == SPIRV::OpTypeVector
- ? SPIRV::OpVectorTimesScalar
- : SPIRV::OpFMulS;
+ auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
+ : SPIRV::OpFMulS;
if (!selectOpWithSrcs(ArgReg, ResType, I,
{I.getOperand(1).getReg(), ConstReg}, Opcode))
@@ -4494,7 +4518,7 @@ Register SPIRVInstructionSelector::buildZerosVal(SPIRVTypeInst ResType,
MachineInstr &I) const {
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
bool ZeroAsNull = !STI.isShader();
- if (ResType->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(ResType))
return GR.getOrCreateConstVector(0UL, I, ResType, TII, ZeroAsNull);
return GR.getOrCreateConstInt(0, I, ResType, TII, ZeroAsNull);
}
@@ -4550,7 +4574,7 @@ Register SPIRVInstructionSelector::buildZerosValF(SPIRVTypeInst ResType,
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
bool ZeroAsNull = !STI.isShader();
APFloat VZero = getZeroFP(GR.getTypeForSPIRVType(ResType));
- if (ResType->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(ResType))
return GR.getOrCreateConstVector(VZero, I, ResType, TII, ZeroAsNull);
return GR.getOrCreateConstFP(VZero, I, ResType, TII, ZeroAsNull);
}
@@ -4560,7 +4584,7 @@ Register SPIRVInstructionSelector::buildOnesValF(SPIRVTypeInst ResType,
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
bool ZeroAsNull = !STI.isShader();
APFloat VOne = getOneFP(GR.getTypeForSPIRVType(ResType));
- if (ResType->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(ResType))
return GR.getOrCreateConstVector(VOne, I, ResType, TII, ZeroAsNull);
return GR.getOrCreateConstFP(VOne, I, ResType, TII, ZeroAsNull);
}
@@ -4571,7 +4595,7 @@ Register SPIRVInstructionSelector::buildOnesVal(bool AllOnes,
unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
APInt One =
AllOnes ? APInt::getAllOnes(BitWidth) : APInt::getOneBitSet(BitWidth, 0);
- if (ResType->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(ResType))
return GR.getOrCreateConstVector(One, I, ResType, TII);
return GR.getOrCreateConstInt(One, I, ResType, TII);
}
@@ -4588,13 +4612,11 @@ bool SPIRVInstructionSelector::selectSelect(Register ResVReg,
GR.isScalarOrVectorOfType(SelectFirstArg, SPIRV::OpTypeFloat);
bool IsPtrTy =
GR.isScalarOrVectorOfType(SelectFirstArg, SPIRV::OpTypePointer);
- bool IsVectorTy = GR.getSPIRVTypeForVReg(SelectFirstArg)->getOpcode() ==
- SPIRV::OpTypeVector;
bool IsScalarBool =
GR.isScalarOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool);
unsigned Opcode;
- if (IsVectorTy) {
+ if (isVectorType(GR.getSPIRVTypeForVReg(SelectFirstArg))) {
if (IsFloatTy) {
Opcode = IsScalarBool ? SPIRV::OpSelectVFSCond : SPIRV::OpSelectVFVCond;
} else if (IsPtrTy) {
@@ -4657,7 +4679,7 @@ bool SPIRVInstructionSelector::selectIToF(Register ResVReg,
if (GR.isScalarOrVectorOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool)) {
unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
SPIRVTypeInst TmpType = GR.getOrCreateSPIRVIntegerType(BitWidth, I, TII);
- if (ResType->getOpcode() == SPIRV::OpTypeVector) {
+ if (isVectorType(ResType)) {
const unsigned NumElts = GR.getScalarOrVectorComponentCount(ResType);
TmpType = GR.getOrCreateSPIRVVectorType(TmpType, NumElts, I, TII);
}
@@ -4693,7 +4715,9 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
// Ensure we have bool.
SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
unsigned N = GR.getScalarOrVectorComponentCount(ResType);
- if (N > 1)
+ if (N > 1 ||
+ (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
// Build less-than-equal and less-than.
@@ -4722,7 +4746,10 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
MRI->setType(NegOneOrZeroReg, LLT::scalar(64));
GR.assignSPIRVTypeToVReg(ResType, NegOneOrZeroReg, MIRBuilder.getMF());
unsigned SelectOpcode =
- N > 1 ? SPIRV::OpSelectVIVCond : SPIRV::OpSelectSISCond;
+ (N > 1 ||
+ (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+ ? SPIRV::OpSelectVIVCond : SPIRV::OpSelectSISCond;
BuildMI(BB, I, I.getDebugLoc(), TII.get(SelectOpcode))
.addDef(NegOneOrZeroReg)
.addUse(ResTypeReg)
@@ -4747,8 +4774,8 @@ bool SPIRVInstructionSelector::selectIntToBool(Register IntReg,
SPIRVTypeInst BoolTy) const {
// To truncate to a bool, we use OpBitwiseAnd 1 and OpINotEqual to zero.
Register BitIntReg = createVirtualRegister(IntTy, &GR, MRI, MRI->getMF());
- bool IsVectorTy = IntTy->getOpcode() == SPIRV::OpTypeVector;
- unsigned Opcode = IsVectorTy ? SPIRV::OpBitwiseAndV : SPIRV::OpBitwiseAndS;
+ unsigned Opcode = isVectorType(IntTy) ? SPIRV::OpBitwiseAndV
+ : SPIRV::OpBitwiseAndS;
Register Zero = buildZerosVal(IntTy, I);
Register One = buildOnesVal(false, IntTy, I);
MachineBasicBlock &BB = *I.getParent();
@@ -4918,6 +4945,36 @@ bool SPIRVInstructionSelector::selectGEP(Register ResVReg,
for (unsigned i = StartingIndex; i < I.getNumExplicitOperands(); ++i)
Res.addUse(I.getOperand(i).getReg());
Res.constrainAllUses(TII, TRI, RBI);
+
+ // IRTranslator doesn't like <1 x T> vectors, and treats them as scalars. This
+ // creates an information loss issue, and also broken code where a
+ // OpCompositeExtract is applied to the scalar return of an OpPtrAccessChain,
+ // when it was meant to be applied to the OpCompositeInsert created <1 x T>.
+ // TODO: should we also re-create the index <1 x T>?
+ if (MRI->hasOneUse(ResVReg)) {
+ MachineInstr &Extract = *MRI->use_instr_begin(ResVReg);
+ if (Extract.getOpcode() == SPIRV::OpCompositeExtract) {
+ SPIRVTypeInst V = GR.getOrCreateSPIRVVectorType(ResType, 1, Extract, TII);
+ // We cannot use GlobalRegistry::getOrCreateUndef directly here because it
+ // tries to use UndefVal::get, which does not work for TypedPointerType,
+ // which we can get here if we're dealing with <1 x T*>.
+ Register Tmp = createVirtualRegister(V, &GR, MRI, *I.getMF());
+ BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpUndef))
+ .addDef(Tmp)
+ .addUse(GR.getSPIRVTypeID(V))
+ .constrainAllUses(TII, TRI, RBI);
+ Register InsertReg = createVirtualRegister(V, &GR, MRI, *I.getMF());
+ BuildMI(*I.getParent(), Extract, Extract.getDebugLoc(),
+ TII.get(SPIRV::OpCompositeInsert))
+ .addDef(InsertReg)
+ .addUse(GR.getSPIRVTypeID(V))
+ .addUse(ResVReg)
+ .addUse(Tmp)
+ .addImm(0)
+ .constrainAllUses(TII, TRI, RBI);
+ Extract.substituteRegister(ResVReg, InsertReg, 0, TRI);
+ }
+ }
return true;
}
@@ -6447,8 +6504,10 @@ bool SPIRVInstructionSelector::extractSubvector(
[[maybe_unused]] uint64_t InputSize =
GR.getScalarOrVectorComponentCount(InputType);
uint64_t ResultSize = GR.getScalarOrVectorComponentCount(ResType);
- assert(InputSize > 1 && "The input must be a vector.");
- assert(ResultSize > 1 && "The result must be a vector.");
+ bool IsLongVector =
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
+ assert((InputSize > 1 || IsLongVector) && "The input must be a vector.");
+ assert((ResultSize > 1 || IsLongVector) && "The result must be a vector.");
assert(ResultSize < InputSize &&
"Cannot extract more element than there are in the input.");
SmallVector<Register> ComponentRegisters;
@@ -6496,7 +6555,7 @@ bool SPIRVInstructionSelector::selectImageWriteIntrinsic(
Register CoordinateReg = I.getOperand(2).getReg();
Register DataReg = I.getOperand(3).getReg();
- assert(GR.getResultType(DataReg)->getOpcode() == SPIRV::OpTypeVector);
+ assert(isVectorType(GR.getResultType(DataReg)));
assert(GR.getScalarOrVectorComponentCount(GR.getResultType(DataReg)) == 4);
BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpImageWrite))
.addUse(NewImageReg)
@@ -6578,6 +6637,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64(
// algoritm below converts i64 -> i32x2 and i64x4 -> i32x8 it can only
// operate on vectors with 2 or less components. When largers vectors are
// seen. Split them, recurse, then recombine them.
+ // TODO: handle the case where SPV_EXT_long_vector is enabled.
if (ComponentCount > 2) {
auto Func = [this, SwapPrimarySide](Register ResVReg, SPIRVTypeInst ResType,
MachineInstr &I, Register SrcReg,
@@ -6609,7 +6669,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64(
Register HighReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
Register LowReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
- bool IsScalarRes = ResType->getOpcode() != SPIRV::OpTypeVector;
+ bool IsScalarRes = !isVectorType(ResType);
if (IsScalarRes) {
// if scalar do a vector extract
if (!selectOpWithSrcs(HighReg, ResType, I, {FBSReg, ConstIntOne},
@@ -6827,6 +6887,7 @@ static bool isConcreteSPIRVType(SPIRVTypeInst Ty,
case SPIRV::OpTypePointer:
break;
case SPIRV::OpTypeVector:
+ case SPIRV::OpTypeVectorIdEXT:
case SPIRV::OpTypeMatrix:
case SPIRV::OpTypeArray: {
Register OperandReg = T->getOperand(1).getReg();
@@ -7118,8 +7179,7 @@ bool SPIRVInstructionSelector::selectLog10(Register ResVReg,
.constrainAllUses(TII, TRI, RBI);
// Build 0.30103.
- assert(ResType->getOpcode() == SPIRV::OpTypeVector ||
- ResType->getOpcode() == SPIRV::OpTypeFloat);
+ assert(isVectorType(ResType) || ResType.isAnyTypeFloat());
// TODO: Add matrix implementation once supported by the HLSL frontend.
SPIRVTypeInst SpirvScalarType = GR.getScalarOrVectorComponentType(ResType);
// The literal must match the precision of the scalar type, otherwise the
@@ -7133,9 +7193,8 @@ bool SPIRVInstructionSelector::selectLog10(Register ResVReg,
Register ScaleReg = GR.buildConstantFP(ScaleVal, MIRBuilder, SpirvScalarType);
// Multiply log2(x) by 0.30103 to get log10(x) result.
- auto Opcode = ResType->getOpcode() == SPIRV::OpTypeVector
- ? SPIRV::OpVectorTimesScalar
- : SPIRV::OpFMulS;
+ auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
+ : SPIRV::OpFMulS;
BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
.addDef(ResVReg)
.addUse(GR.getSPIRVTypeID(ResType))
@@ -7337,7 +7396,7 @@ bool SPIRVInstructionSelector::loadBuiltinInputID(
SPIRVTypeInst SPIRVInstructionSelector::widenTypeToVec4(SPIRVTypeInst Type,
MachineInstr &I) const {
MachineIRBuilder MIRBuilder(I);
- if (Type->getOpcode() != SPIRV::OpTypeVector)
+ if (!isVectorType(Type))
return GR.getOrCreateSPIRVVectorType(Type, 4, MIRBuilder, false);
if (GR.getScalarOrVectorComponentCount(Type) == 4)
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
index 38960b23b26db..8ef15cb72205d 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
@@ -240,8 +240,11 @@ class SPIRVLegalizePointerCastImpl {
buildVectorFromLoadedElements(IRBuilder<> &B, FixedVectorType *TargetType,
SmallVector<Value *, 4> &LoadedElements) {
// <1 x T> shares the SPIR-V type with T, so emitting OpCompositeInsert on
- // a scalar would be invalid. Bridge with spv_bitcast instead.
- if (TargetType->getNumElements() == 1) {
+ // a scalar would be invalid. Bridge with spv_bitcast instead unless
+ // SPV_EXT_long_vector is available.
+ bool CanUseAnyVectorRank = TM.getSubtargetImpl()->canUseExtension(
+ SPIRV::Extension::SPV_EXT_long_vector);
+ if (TargetType->getNumElements() == 1 && !CanUseAnyVectorRank) {
Value *Scalar = LoadedElements[0];
Value *NewVector = B.CreateIntrinsic(
Intrinsic::spv_bitcast, {TargetType, Scalar->getType()}, {Scalar});
@@ -383,8 +386,11 @@ class SPIRVLegalizePointerCastImpl {
GR->buildAssignPtr(B, ElemTy, ElementPtr);
// Extract the element from the vector and store it.
- Value *Element =
- E == 1 ? SrcVector : makeExtractElement(B, ElemTy, SrcVector, I);
+ bool CanUseAnyVectorRank = TM.getSubtargetImpl()->canUseExtension(
+ SPIRV::Extension::SPV_EXT_long_vector);
+ Value *Element = (E == 1 && !CanUseAnyVectorRank)
+ ? SrcVector
+ : makeExtractElement(B, ElemTy, SrcVector, I);
StoreInst *SI = B.CreateStore(Element, ElementPtr);
SI->setAlignment(commonAlignment(Alignment, I * ElemSize));
}
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 89d4e3144b41b..4676d7585b73b 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -38,6 +38,13 @@ LegalityPredicate typeOfExtendedScalars(unsigned TypeIdx, bool IsExtendedInts) {
};
}
+LegalityPredicate typeOfLongVectors(unsigned TypeIdx, bool IsLongVecs) {
+ return [TypeIdx, IsLongVecs](const LegalityQuery &Query) {
+ const LLT Ty = Query.Types[TypeIdx];
+ return IsLongVecs && Ty.isValid() && Ty.isVector();
+ };
+}
+
SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
using namespace TargetOpcode;
@@ -165,6 +172,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
HasArbitraryPrecisionInts ||
ST.canUseExtension(SPIRV::Extension::SPV_KHR_bit_instructions) ||
ST.canUseExtension(SPIRV::Extension::SPV_INTEL_int4);
+ bool IsLongVecs = ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
auto extendedScalarsAndVectors =
[IsExtendedInts](const LegalityQuery &Query) {
const LLT Ty = Query.Types[0];
@@ -204,6 +212,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
getActionDefinitionsBuilder(Opc)
.customFor(allScalars)
.customFor(allowedVectorTypes)
+ .customIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
@@ -216,6 +225,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
getActionDefinitionsBuilder({G_UREM, G_SREM, G_SDIV, G_UDIV, G_FREM})
.customFor(allScalars)
.customFor(allowedVectorTypes)
+ .customIf(typeOfLongVectors(0, IsLongVecs))
.scalarizeIf(numElementsNotPow2(0), 0)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
@@ -225,6 +235,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
getActionDefinitionsBuilder({G_FMA, G_STRICT_FMA})
.legalFor(allScalars)
.legalFor(allowedVectorTypes)
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
@@ -235,12 +246,15 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
getActionDefinitionsBuilder(G_SHUFFLE_VECTOR)
.legalForCartesianProduct(allowedVectorTypes, allowedVectorTypes)
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
+ .legalIf(typeOfLongVectors(1, IsLongVecs))
.moreElementsToNextPow2(0)
.lowerIf(vectorElementCountIsGreaterThan(0, MaxVectorSize))
.moreElementsToNextPow2(1)
.lowerIf(vectorElementCountIsGreaterThan(1, MaxVectorSize));
getActionDefinitionsBuilder(G_EXTRACT_VECTOR_ELT)
+ .customIf(typeOfLongVectors(1, IsLongVecs))
.moreElementsToNextPow2(1)
.fewerElementsIf(vectorElementCountIsGreaterThan(1, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
@@ -248,6 +262,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
.custom();
getActionDefinitionsBuilder(G_INSERT_VECTOR_ELT)
+ .customIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
@@ -257,6 +272,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
// Illegal G_UNMERGE_VALUES instructions should be handled
// during the combine phase.
getActionDefinitionsBuilder(G_BUILD_VECTOR)
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.legalIf(vectorElementCountIsLessThanOrEqualTo(0, MaxVectorSize));
// When entering the legalizer, there should be no G_BITCAST instructions.
@@ -266,6 +282,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
// we turn it back into a call to the intrinsic with a custom rule to avoid
// potential machine verifier failures.
getActionDefinitionsBuilder(G_BITCAST)
+ .customIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0)
.moreElementsToNextPow2(1)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
@@ -276,10 +293,13 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
// If the result is still illegal, the combiner should be able to remove it.
getActionDefinitionsBuilder(G_CONCAT_VECTORS)
- .legalForCartesianProduct(allowedVectorTypes, allowedVectorTypes);
+ .legalForCartesianProduct(allowedVectorTypes, allowedVectorTypes)
+ .legalIf(LegalityPredicates::any(typeOfLongVectors(0, IsLongVecs),
+ typeOfLongVectors(1, IsLongVecs)));
getActionDefinitionsBuilder(G_SPLAT_VECTOR)
.legalFor(allowedVectorTypes)
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementSizeTo(0, MaxVectorSize))
@@ -292,6 +312,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
G_VECREDUCE_FMAX, G_VECREDUCE_FMINIMUM, G_VECREDUCE_FMAXIMUM,
G_VECREDUCE_OR, G_VECREDUCE_AND, G_VECREDUCE_XOR})
.legalFor(allowedVectorTypes)
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.scalarize(1)
.lower();
@@ -302,6 +323,8 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
// Illegal G_UNMERGE_VALUES instructions should be handled
// during the combine phase.
getActionDefinitionsBuilder(G_UNMERGE_VALUES)
+ .legalIf(LegalityPredicates::any(typeOfLongVectors(0, IsLongVecs),
+ typeOfLongVectors(1, IsLongVecs)))
.legalIf(vectorElementCountIsLessThanOrEqualTo(1, MaxVectorSize));
getActionDefinitionsBuilder({G_MEMCPY, G_MEMCPY_INLINE, G_MEMMOVE})
@@ -322,6 +345,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
.legalForCartesianProduct(allowedVectorTypes, allPtrs)
.legalForCartesianProduct(allPtrs, allPtrs)
.legalIf(isScalar(0))
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.custom();
getActionDefinitionsBuilder({G_SMIN, G_SMAX, G_UMIN, G_UMAX, G_ABS,
@@ -349,7 +373,8 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
getActionDefinitionsBuilder(G_CTPOP)
.legalForCartesianProduct(allIntScalarsAndVectors)
- .legalIf(extendedScalarsAndVectorsProduct);
+ .legalIf(extendedScalarsAndVectorsProduct)
+ .legalIf(typeOfLongVectors(0, IsLongVecs));
// Extensions.
getActionDefinitionsBuilder({G_TRUNC, G_ZEXT, G_SEXT, G_ANYEXT})
@@ -363,6 +388,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
getActionDefinitionsBuilder(G_PHI)
.legalFor(allPtrsScalarsAndVectors)
.legalIf(extendedPtrsScalarsAndVectors)
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
@@ -379,6 +405,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
.legalIf([](const LegalityQuery &Query) {
return Query.Types[0].isPointerVector();
})
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0)
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
@@ -611,7 +638,8 @@ static Register convertPtrToInt(Register Reg, LLT ConvTy, SPIRVTypeInst SpvType,
}
static bool needsVectorLegalization(const LLT &Ty, const SPIRVSubtarget &ST) {
- if (!Ty.isVector())
+ if (!Ty.isVector() ||
+ ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
return false;
unsigned NumElements = Ty.getNumElements();
unsigned MaxVectorSize = ST.isShader() ? 4 : 16;
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
index 2836a2cc43ef0..fcbbe3877c574 100644
--- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
@@ -1237,7 +1237,7 @@ static void AddAtomicFloatRequirements(const MachineInstr &MI,
Register TypeReg = MI.getOperand(1).getReg();
SPIRVTypeInst TypeDef = MI.getMF()->getRegInfo().getVRegDef(TypeReg);
- if (TypeDef->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(TypeDef))
return AddAtomicVectorFloatRequirements(MI, Reqs, ST);
if (TypeDef->getOpcode() != SPIRV::OpTypeFloat)
@@ -1481,7 +1481,7 @@ static void AddDotProductRequirements(const MachineInstr &MI,
if (TypeDef->getOpcode() == SPIRV::OpTypeInt) {
assert(TypeDef->getOperand(1).getImm() == 32);
Reqs.addCapability(SPIRV::Capability::DotProductInput4x8BitPacked);
- } else if (TypeDef->getOpcode() == SPIRV::OpTypeVector) {
+ } else if (isVectorType(TypeDef)) {
SPIRVTypeInst ScalarTypeDef =
MRI.getVRegDef(TypeDef->getOperand(1).getReg());
assert(ScalarTypeDef->getOpcode() == SPIRV::OpTypeInt);
@@ -1629,6 +1629,22 @@ void addInstrRequirements(const MachineInstr &MI,
}
break;
}
+ case SPIRV::OpTypeVectorIdEXT : {
+ if (!ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
+ reportFatalUsageError("OpTypeVectorIdEXT requires the following SPIR-V "
+ "extension: SPV_EXT_long_vector extension");
+ Reqs.addExtension(SPIRV::Extension::SPV_EXT_long_vector);
+ Reqs.addCapability(SPIRV::Capability::LongVectorEXT);
+ assert(MI.getOperand(1).isReg());
+ const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
+ SPIRVTypeInst ElemTypeDef = MRI.getVRegDef(MI.getOperand(1).getReg());
+ if (ElemTypeDef->getOpcode() == SPIRV::OpTypePointer &&
+ ST.canUseExtension(SPIRV::Extension::SPV_INTEL_masked_gather_scatter)) {
+ Reqs.addExtension(SPIRV::Extension::SPV_INTEL_masked_gather_scatter);
+ Reqs.addCapability(SPIRV::Capability::MaskedGatherScatterINTEL);
+ }
+ break;
+ }
case SPIRV::OpTypePointer: {
auto SC = MI.getOperand(1).getImm();
Reqs.getAndAddRequirements(SPIRV::OperandCategory::StorageClassOperand, SC,
@@ -2545,7 +2561,7 @@ void addInstrRequirements(const MachineInstr &MI,
case SPIRV::OpFNegateV: {
const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
SPIRVTypeInst TypeDef = MRI.getVRegDef(MI.getOperand(1).getReg());
- if (TypeDef->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(TypeDef))
TypeDef = MRI.getVRegDef(TypeDef->getOperand(1).getReg());
if (isBFloat16Type(TypeDef)) {
if (!ST.canUseExtension(SPIRV::Extension::SPV_INTEL_bfloat16_arithmetic))
@@ -2575,7 +2591,7 @@ void addInstrRequirements(const MachineInstr &MI,
const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
MachineInstr *OperandDef = MRI.getVRegDef(MI.getOperand(2).getReg());
SPIRVTypeInst TypeDef = MRI.getVRegDef(OperandDef->getOperand(1).getReg());
- if (TypeDef->getOpcode() == SPIRV::OpTypeVector)
+ if (isVectorType(TypeDef))
TypeDef = MRI.getVRegDef(TypeDef->getOperand(1).getReg());
if (isBFloat16Type(TypeDef)) {
if (!ST.canUseExtension(SPIRV::Extension::SPV_INTEL_bfloat16_arithmetic))
diff --git a/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp b/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
index 2b33dabde4612..2be5726f27808 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
@@ -222,7 +222,8 @@ static SPIRVTypeInst deduceGEPType(MachineInstr *I, SPIRVGlobalRegistry *GR,
switch (PointeeType->getOpcode()) {
case SPIRV::OpTypeArray:
case SPIRV::OpTypeRuntimeArray:
- case SPIRV::OpTypeVector: {
+ case SPIRV::OpTypeVector:
+ case SPIRV::OpTypeVectorIdEXT: {
Register ElemTypeReg = PointeeType->getOperand(1).getReg();
PointeeType = GR->getSPIRVTypeForVReg(ElemTypeReg);
break;
@@ -317,7 +318,7 @@ static bool deduceAndAssignTypeForGUnmerge(MachineInstr *I, MachineFunction &MF,
Register SrcReg = I->getOperand(I->getNumOperands() - 1).getReg();
SPIRVTypeInst ScalarType = nullptr;
if (SPIRVTypeInst DefType = GR->getSPIRVTypeForVReg(SrcReg)) {
- assert(DefType->getOpcode() == SPIRV::OpTypeVector);
+ assert(isVectorType(DefType));
ScalarType = GR->getScalarOrVectorComponentType(DefType);
}
diff --git a/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td b/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
index 7da57bc1b2d47..f6b31c93344cb 100644
--- a/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
+++ b/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
@@ -404,6 +404,7 @@ defm SPV_AMD_weak_linkage : ExtensionOperand<137, [EnvOpenCL]>;
// Message Type, which is not yet implemented.
defm SPV_KHR_abort : ExtensionOperand<138, [EnvOpenCL]>;
defm SPV_KHR_poison_freeze : ExtensionOperand<139, [EnvVulkan, EnvOpenCL]>;
+defm SPV_EXT_long_vector : ExtensionOperand<140, [EnvOpenCL, EnvVulkan]>;
//===----------------------------------------------------------------------===//
// Multiclass used to define Capabilities enum values and at the same time
@@ -642,6 +643,7 @@ defm ArbitraryPrecisionFixedPointALTERA : CapabilityOperand<5922, 0, 0, [SPV_ALT
defm ArbitraryPrecisionFloatingPointALTERA : CapabilityOperand<5845, 0, 0,[SPV_ALTERA_arbitrary_precision_floating_point], []>;
defm UnstructuredLoopControlsINTEL : CapabilityOperand<5886, 0, 0, [SPV_INTEL_unstructured_loop_controls], []>;
defm PoisonFreezeKHR : CapabilityOperand<5156, 0, 0, [SPV_KHR_poison_freeze], []>;
+defm LongVectorEXT : CapabilityOperand<5425, 0, 0, [SPV_EXT_long_vector], []>;
//===----------------------------------------------------------------------===//
// Multiclass used to define SourceLanguage enum values and at the same time
diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
index 1a1247fbe3e18..e8f2b676eff53 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
@@ -971,6 +971,11 @@ Register createVirtualRegister(
MIRBuilder);
}
+bool isVectorType(SPIRVTypeInst SPVTy) {
+ return SPVTy->getOpcode() == SPIRV::OpTypeVector ||
+ SPVTy->getOpcode() == SPIRV::OpTypeVectorIdEXT;
+}
+
CallInst *buildIntrWithMD(Intrinsic::ID IntrID, ArrayRef<Type *> Types,
Value *Arg, Value *Arg2, ArrayRef<Constant *> Imms,
IRBuilder<> &B) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.h b/llvm/lib/Target/SPIRV/SPIRVUtils.h
index 64fecb37c880f..c69d70d3d4aa1 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.h
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.h
@@ -505,21 +505,38 @@ inline bool isVector1(Type *Ty) {
return FVTy && FVTy->getNumElements() == 1;
}
+// We define this predicate out of line to avoid having to include all OpTypes.
+bool isVectorType(SPIRVTypeInst SPVTy);
+inline bool isLongVector(const Type *Ty) {
+ if (auto *FVTy = dyn_cast<FixedVectorType>(Ty)) {
+ unsigned N = FVTy->getNumElements();
+ // Per specification: `Vector types must be parameterized only with 2, 3, or
+ // 4 components, plus any additional sizes enabled by capabilities.`, and we
+ // always enable the Vector16 capability.
+ return N != 2 && N != 3 && N != 4 && N != 8 && N != 16;
+ }
+ return false;
+}
+
// Modify an LLVM type to conform with future transformations in IRTranslator.
// At the moment use cases comprise only a <1 x Type> vector. To extend when/if
// needed.
-inline Type *normalizeType(Type *Ty) {
+inline Type *normalizeType(Type *Ty, bool CanUseAnyVectorRank) {
+ if (CanUseAnyVectorRank)
+ return Ty;
+
auto *FVTy = dyn_cast<FixedVectorType>(Ty);
if (!FVTy || FVTy->getNumElements() != 1)
return Ty;
// If it's a <1 x Type> vector type, replace it by the element type, because
// it's not a legal vector type in LLT and IRTranslator will represent it as
// the scalar eventually.
- return normalizeType(FVTy->getElementType());
+ return normalizeType(FVTy->getElementType(), CanUseAnyVectorRank);
}
-inline PoisonValue *getNormalizedPoisonValue(Type *Ty) {
- return PoisonValue::get(normalizeType(Ty));
+inline PoisonValue *getNormalizedPoisonValue(Type *Ty,
+ bool CanUseAnyVectorRank) {
+ return PoisonValue::get(normalizeType(Ty, CanUseAnyVectorRank));
}
inline MetadataAsValue *buildMD(Value *Arg) {
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
new file mode 100644
index 0000000000000..3a23829da1233
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
@@ -0,0 +1,373 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_ALTERA_arbitrary_precision_integers %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_ALTERA_arbitrary_precision_integers %s -o - -filetype=obj | spirv-val %}
+
+; Verify that bitcasts between bool vectors and other types are decomposed
+; into element-wise operations instead of generating OpBitcast, which is
+; invalid for OpTypeBool.
+
+; CHECK-DAG: %[[#BOOL:]] = OpTypeBool
+; CHECK-DAG: %[[#BVEC8:]] = OpTypeVector %[[#BOOL]] 8
+; CHECK-DAG: %[[#BVEC17:]] = OpTypeVectorIdEXT %[[#BOOL]] 17
+; CHECK-DAG: %[[#I8:]] = OpTypeInt 8 0
+; CHECK-DAG: %[[#I17:]] = OpTypeInt 17 0
+; CHECK-DAG: %[[#VEC1_I8:]] = OpTypeVectorIdEXT %[[#I8]] 1
+
+; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#I8]]
+; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#I8]] 1{{$}}
+; CHECK-DAG: %[[#TWO:]] = OpConstant %[[#I8]] 2{{$}}
+; CHECK-DAG: %[[#FOUR:]] = OpConstant %[[#I8]] 4{{$}}
+; CHECK-DAG: %[[#EIGHT:]] = OpConstant %[[#I8]] 8{{$}}
+; CHECK-DAG: %[[#C16:]] = OpConstant %[[#I8]] 16{{$}}
+; CHECK-DAG: %[[#C32:]] = OpConstant %[[#I8]] 32{{$}}
+; CHECK-DAG: %[[#C64:]] = OpConstant %[[#I8]] 64{{$}}
+; CHECK-DAG: %[[#C128:]] = OpConstant %[[#I8]] 128{{$}}
+; CHECK-DAG: %[[#C3:]] = OpConstant %[[#I8]] 3{{$}}
+; CHECK-DAG: %[[#C5:]] = OpConstant %[[#I8]] 5{{$}}
+; CHECK-DAG: %[[#C6:]] = OpConstant %[[#I8]] 6{{$}}
+; CHECK-DAG: %[[#C7:]] = OpConstant %[[#I8]] 7{{$}}
+
+; CHECK-DAG: %[[#ZERO17:]] = OpConstantNull %[[#I17]]
+; CHECK-DAG: %[[#ONE17:]] = OpConstant %[[#I17]] 1{{$}}
+; CHECK-DAG: %[[#TWO17:]] = OpConstant %[[#I17]] 2{{$}}
+; CHECK-DAG: %[[#C3_17:]] = OpConstant %[[#I17]] 3{{$}}
+; CHECK-DAG: %[[#C4_17:]] = OpConstant %[[#I17]] 4{{$}}
+; CHECK-DAG: %[[#C5_17:]] = OpConstant %[[#I17]] 5{{$}}
+; CHECK-DAG: %[[#C6_17:]] = OpConstant %[[#I17]] 6{{$}}
+; CHECK-DAG: %[[#C7_17:]] = OpConstant %[[#I17]] 7{{$}}
+; CHECK-DAG: %[[#C8_17:]] = OpConstant %[[#I17]] 8{{$}}
+; CHECK-DAG: %[[#C9_17:]] = OpConstant %[[#I17]] 9{{$}}
+; CHECK-DAG: %[[#C10_17:]] = OpConstant %[[#I17]] 10{{$}}
+; CHECK-DAG: %[[#C11_17:]] = OpConstant %[[#I17]] 11{{$}}
+; CHECK-DAG: %[[#C12_17:]] = OpConstant %[[#I17]] 12{{$}}
+; CHECK-DAG: %[[#C13_17:]] = OpConstant %[[#I17]] 13{{$}}
+; CHECK-DAG: %[[#C14_17:]] = OpConstant %[[#I17]] 14{{$}}
+; CHECK-DAG: %[[#C15_17:]] = OpConstant %[[#I17]] 15{{$}}
+; CHECK-DAG: %[[#C16_17:]] = OpConstant %[[#I17]] 16{{$}}
+; CHECK-DAG: %[[#C32_17:]] = OpConstant %[[#I17]] 32{{$}}
+; CHECK-DAG: %[[#C64_17:]] = OpConstant %[[#I17]] 64{{$}}
+; CHECK-DAG: %[[#C128_17:]] = OpConstant %[[#I17]] 128{{$}}
+; CHECK-DAG: %[[#C256_17:]] = OpConstant %[[#I17]] 256{{$}}
+; CHECK-DAG: %[[#C512_17:]] = OpConstant %[[#I17]] 512{{$}}
+; CHECK-DAG: %[[#C1024_17:]] = OpConstant %[[#I17]] 1024{{$}}
+; CHECK-DAG: %[[#C2048_17:]] = OpConstant %[[#I17]] 2048{{$}}
+; CHECK-DAG: %[[#C4096_17:]] = OpConstant %[[#I17]] 4096{{$}}
+; CHECK-DAG: %[[#C8192_17:]] = OpConstant %[[#I17]] 8192{{$}}
+; CHECK-DAG: %[[#C16384_17:]] = OpConstant %[[#I17]] 16384{{$}}
+; CHECK-DAG: %[[#C32768_17:]] = OpConstant %[[#I17]] 32768{{$}}
+; CHECK-DAG: %[[#C65536_17:]] = OpConstant %[[#I17]] 65536{{$}}
+
+
+; bitcast <8 x i1> to i8
+; Extracts each bool, zero-extends via OpSelect, shifts into position, and ORs.
+;
+; CHECK: %[[#B2S:]] = OpFunction %[[#I8]]
+; CHECK: %[[#B2S_ARG:]] = OpFunctionParameter %[[#BVEC8]]
+; CHECK: OpLabel
+;
+; CHECK: %[[#E0:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 0
+; CHECK: %[[#S0:]] = OpSelect %[[#I8]] %[[#E0]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#OR0:]] = OpBitwiseOr %[[#I8]] %[[#ZERO]] %[[#S0]]
+;
+; CHECK: %[[#E1:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 1
+; CHECK: %[[#S1:]] = OpSelect %[[#I8]] %[[#E1]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#SHL1:]] = OpShiftLeftLogical %[[#I8]] %[[#S1]] %[[#ONE]]
+; CHECK: %[[#OR1:]] = OpBitwiseOr %[[#I8]] %[[#OR0]] %[[#SHL1]]
+;
+; CHECK: %[[#E2:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 2
+; CHECK: %[[#S2:]] = OpSelect %[[#I8]] %[[#E2]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#SHL2:]] = OpShiftLeftLogical %[[#I8]] %[[#S2]] %[[#TWO]]
+; CHECK: %[[#OR2:]] = OpBitwiseOr %[[#I8]] %[[#OR1]] %[[#SHL2]]
+;
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 3
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C3]]
+; CHECK: %[[#OR3:]] = OpBitwiseOr %[[#I8]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 4
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#FOUR]]
+; CHECK: %[[#OR4:]] = OpBitwiseOr %[[#I8]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 5
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C5]]
+; CHECK: %[[#OR5:]] = OpBitwiseOr %[[#I8]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 6
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C6]]
+; CHECK: %[[#OR6:]] = OpBitwiseOr %[[#I8]]
+;
+; CHECK: %[[#E7:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 7
+; CHECK: %[[#S7:]] = OpSelect %[[#I8]] %[[#E7]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#SHL7:]] = OpShiftLeftLogical %[[#I8]] %[[#S7]] %[[#C7]]
+; CHECK: %[[#OR7:]] = OpBitwiseOr %[[#I8]] %[[#OR6]] %[[#SHL7]]
+;
+; CHECK: OpReturnValue %[[#OR7]]
+define i8 @boolvec_to_scalar(<8 x i1> %v) {
+ %r = bitcast <8 x i1> %v to i8
+ ret i8 %r
+}
+
+; bitcast <8 x i1> to <1 x i8>
+;
+; CHECK: %[[#B2V:]] = OpFunction %[[#VEC1_I8]]
+; CHECK: %[[#B2V_ARG:]] = OpFunctionParameter %[[#BVEC8]]
+; CHECK: OpLabel
+;
+; CHECK: %[[#B2V_E0:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 0
+; CHECK: %[[#B2V_S0:]] = OpSelect %[[#I8]] %[[#B2V_E0]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#B2V_OR0:]] = OpBitwiseOr %[[#I8]] %[[#ZERO]] %[[#B2V_S0]]
+;
+; CHECK: %[[#B2V_E1:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 1
+; CHECK: %[[#B2V_S1:]] = OpSelect %[[#I8]] %[[#B2V_E1]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#B2V_SHL1:]] = OpShiftLeftLogical %[[#I8]] %[[#B2V_S1]] %[[#ONE]]
+; CHECK: %[[#B2V_OR1:]] = OpBitwiseOr %[[#I8]] %[[#B2V_OR0]] %[[#B2V_SHL1]]
+;
+; CHECK: %[[#B2V_E2:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 2
+; CHECK: %[[#B2V_S2:]] = OpSelect %[[#I8]] %[[#B2V_E2]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#B2V_SHL2:]] = OpShiftLeftLogical %[[#I8]] %[[#B2V_S2]] %[[#TWO]]
+; CHECK: %[[#B2V_OR2:]] = OpBitwiseOr %[[#I8]] %[[#B2V_OR1]] %[[#B2V_SHL2]]
+;
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 3
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C3]]
+; CHECK: %[[#B2V_OR3:]] = OpBitwiseOr %[[#I8]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 4
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#FOUR]]
+; CHECK: %[[#B2V_OR4:]] = OpBitwiseOr %[[#I8]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 5
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C5]]
+; CHECK: %[[#B2V_OR5:]] = OpBitwiseOr %[[#I8]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 6
+; CHECK: OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C6]]
+; CHECK: %[[#B2V_OR6:]] = OpBitwiseOr %[[#I8]]
+;
+; CHECK: %[[#B2V_E7:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 7
+; CHECK: %[[#B2V_S7:]] = OpSelect %[[#I8]] %[[#B2V_E7]] %[[#ONE]] %[[#ZERO]]
+; CHECK: %[[#B2V_SHL7:]] = OpShiftLeftLogical %[[#I8]] %[[#B2V_S7]] %[[#C7]]
+; CHECK: %[[#B2V_OR7:]] = OpBitwiseOr %[[#I8]] %[[#B2V_OR6]] %[[#B2V_SHL7]]
+; CHECK: %[[#BC_TO_VEC1:]] = OpBitcast %[[#VEC1_I8]] %[[#B2V_OR7]]
+; CHECK: OpReturnValue %[[#BC_TO_VEC1]]
+define <1 x i8> @boolvec_to_vec(<8 x i1> %v) {
+ %r = bitcast <8 x i1> %v to <1 x i8>
+ ret <1 x i8> %r
+}
+
+; bitcast <1 x i8> to <8 x i1>
+;
+; CHECK: %[[#V2B:]] = OpFunction %[[#BVEC8]]
+; CHECK: %[[#V2B_ARG:]] = OpFunctionParameter %[[#VEC1_I8]]
+; CHECK: OpLabel
+;
+; CHECK: %[[#BC_VEC1_INT8_TO_I8:]] = OpBitcast %[[#I8]] %[[#V2B_ARG]]
+; CHECK: %[[#V2B_A0:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#ONE]]
+; CHECK: %[[#V2B_C0:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A0]] %[[#ZERO]]
+; CHECK: %[[#V2B_I0:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C0]] %{{.*}} 0
+;
+; CHECK: %[[#V2B_A1:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#TWO]]
+; CHECK: %[[#V2B_C1:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A1]] %[[#ZERO]]
+; CHECK: %[[#V2B_I1:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C1]] %[[#V2B_I0]] 1
+;
+; CHECK: %[[#V2B_A2:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#FOUR]]
+; CHECK: %[[#V2B_C2:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A2]] %[[#ZERO]]
+; CHECK: %[[#V2B_I2:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C2]] %[[#V2B_I1]] 2
+;
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#EIGHT]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#V2B_I3:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I2]] 3
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C16]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#V2B_I4:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I3]] 4
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C32]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#V2B_I5:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I4]] 5
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C64]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#V2B_I6:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I5]] 6
+;
+; CHECK: %[[#V2B_A7:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C128]]
+; CHECK: %[[#V2B_C7:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A7]] %[[#ZERO]]
+; CHECK: %[[#V2B_I7:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C7]] %[[#V2B_I6]] 7
+;
+; CHECK: OpReturnValue %[[#V2B_I77:]]
+define <8 x i1> @vec_to_boolvec(<1 x i8> %v) {
+ %r = bitcast <1 x i8> %v to <8 x i1>
+ ret <8 x i1> %r
+}
+
+; bitcast i8 to <8 x i1>
+; Tests each bit with AND + INotEqual, inserts each bool into the result vector.
+;
+; CHECK: %[[#S2B:]] = OpFunction %[[#BVEC8]]
+; CHECK-SAME: -- Begin function scalar_to_boolvec
+; CHECK: %[[#S2B_ARG:]] = OpFunctionParameter %[[#I8]]
+; CHECK: OpLabel
+;
+; CHECK: %[[#A0:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#ONE]]
+; CHECK: %[[#C0:]] = OpINotEqual %[[#BOOL]] %[[#A0]] %[[#ZERO]]
+; CHECK: %[[#I0:]] = OpCompositeInsert %[[#BVEC8]] %[[#C0]] %{{.*}} 0
+;
+; CHECK: %[[#A1:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#TWO]]
+; CHECK: %[[#C1:]] = OpINotEqual %[[#BOOL]] %[[#A1]] %[[#ZERO]]
+; CHECK: %[[#I1:]] = OpCompositeInsert %[[#BVEC8]] %[[#C1]] %[[#I0]] 1
+;
+; CHECK: %[[#A2:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#FOUR]]
+; CHECK: %[[#C2:]] = OpINotEqual %[[#BOOL]] %[[#A2]] %[[#ZERO]]
+; CHECK: %[[#I2:]] = OpCompositeInsert %[[#BVEC8]] %[[#C2]] %[[#I1]] 2
+;
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#EIGHT]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#I3:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I2]] 3
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C16]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#I4:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I3]] 4
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C32]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#I5:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I4]] 5
+; CHECK: OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C64]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#I6:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I5]] 6
+;
+; CHECK: %[[#A7:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C128]]
+; CHECK: %[[#C7B:]] = OpINotEqual %[[#BOOL]] %[[#A7]] %[[#ZERO]]
+; CHECK: %[[#I7:]] = OpCompositeInsert %[[#BVEC8]] %[[#C7B]] %[[#I6]] 7
+;
+; CHECK: OpReturnValue %[[#I7]]
+define <8 x i1> @scalar_to_boolvec(i8 %v) {
+ %r = bitcast i8 %v to <8 x i1>
+ ret <8 x i1> %r
+}
+
+; bitcast <17 x i1> to I17
+;
+; CHECK: %[[#B2S17:]] = OpFunction %[[#I17]]
+; CHECK: %[[#B2S17_ARG:]] = OpFunctionParameter %[[#BVEC17]]
+; CHECK: OpLabel
+;
+; CHECK: %[[#B2S17_E0:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 0
+; CHECK: %[[#B2S17_S0:]] = OpSelect %[[#I17]] %[[#B2S17_E0]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK: %[[#B2S17_OR0:]] = OpBitwiseOr %[[#I17]] %[[#ZERO17]] %[[#B2S17_S0]]
+;
+; CHECK: %[[#B2S17_E1:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 1
+; CHECK: %[[#B2S17_S1:]] = OpSelect %[[#I17]] %[[#B2S17_E1]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK: %[[#B2S17_SHL1:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S1]] %[[#ONE17]]
+; CHECK: %[[#B2S17_OR1:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR0]] %[[#B2S17_SHL1]]
+;
+; CHECK: %[[#B2S17_E2:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 2
+; CHECK: %[[#B2S17_S2:]] = OpSelect %[[#I17]] %[[#B2S17_E2]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK: %[[#B2S17_SHL2:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S2]] %[[#TWO17]]
+; CHECK: %[[#B2S17_OR2:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR1]] %[[#B2S17_SHL2]]
+;
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 3
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C3_17]]
+; CHECK: %[[#B2S17_OR3:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 4
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C4_17]]
+; CHECK: %[[#B2S17_OR4:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 5
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C5_17]]
+; CHECK: %[[#B2S17_OR5:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 6
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C6_17]]
+; CHECK: %[[#B2S17_OR6:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 7
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C7_17]]
+; CHECK: %[[#B2S17_OR7:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 8
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C8_17]]
+; CHECK: %[[#B2S17_OR8:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 9
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C9_17]]
+; CHECK: %[[#B2S17_OR9:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 10
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C10_17]]
+; CHECK: %[[#B2S17_OR10:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 11
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C11_17]]
+; CHECK: %[[#B2S17_OR11:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 12
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C12_17]]
+; CHECK: %[[#B2S17_OR12:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 13
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C13_17]]
+; CHECK: %[[#B2S17_OR13:]] = OpBitwiseOr %[[#I17]]
+; CHECK: OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 14
+; CHECK: OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C14_17]]
+; CHECK: %[[#B2S17_OR14:]] = OpBitwiseOr %[[#I17]]
+; CHECK: %[[#B2S17_E15:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 15
+; CHECK: %[[#B2S17_S15:]] = OpSelect %[[#I17]] %[[#B2S17_E15]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK: %[[#B2S17_SHL15:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S15]] %[[#C15_17]]
+; CHECK: %[[#B2S17_OR15:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR14]] %[[#B2S17_SHL15]]
+;
+; CHECK: %[[#B2S17_E16:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 16
+; CHECK: %[[#B2S17_S16:]] = OpSelect %[[#I17]] %[[#B2S17_E16]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK: %[[#B2S17_SHL16:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S16]] %[[#C16_17]]
+; CHECK: %[[#B2S17_OR16:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR15]] %[[#B2S17_SHL16]]
+;
+; CHECK: OpReturnValue %[[#B2S17_OR16]]
+define i17 @boolvec17_to_scalar(<17 x i1> %v) {
+ %r = bitcast <17 x i1> %v to i17
+ ret i17 %r
+}
+
+; bitcast i17 to <17 x i1>
+;
+; CHECK: %[[#S2B17:]] = OpFunction %[[#BVEC17]]
+; CHECK: %[[#S2B17_ARG:]] = OpFunctionParameter %[[#I17]]
+; CHECK: OpLabel
+;
+; CHECK: %[[#S2B17_A0:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#ONE17]]
+; CHECK: %[[#S2B17_C0:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A0]] %[[#ZERO17]]
+; CHECK: %[[#S2B17_I0:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C0]] %{{.*}} 0
+;
+; CHECK: %[[#S2B17_A1:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#TWO17]]
+; CHECK: %[[#S2B17_C1:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A1]] %[[#ZERO17]]
+; CHECK: %[[#S2B17_I1:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C1]] %[[#S2B17_I0]] 1
+;
+; CHECK: %[[#S2B17_A2:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C4_17]]
+; CHECK: %[[#S2B17_C2:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A2]] %[[#ZERO17]]
+; CHECK: %[[#S2B17_I2:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C2]] %[[#S2B17_I1]] 2
+;
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C8_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I3:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I2]] 3
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C16_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I4:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I3]] 4
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C32_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I5:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I4]] 5
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C64_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I6:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I5]] 6
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C128_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I7:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I6]] 7
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C256_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I8:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I7]] 8
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C512_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I9:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I8]] 9
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C1024_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I10:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I9]] 10
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C2048_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I11:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I10]] 11
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C4096_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I12:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I11]] 12
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C8192_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I13:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I12]] 13
+; CHECK: OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C16384_17]]
+; CHECK: OpINotEqual %[[#BOOL]]
+; CHECK: %[[#S2B17_I14:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I13]] 14
+; CHECK: %[[#S2B17_A15:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C32768_17]]
+; CHECK: %[[#S2B17_C15:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A15]] %[[#ZERO17]]
+; CHECK: %[[#S2B17_I15:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C15]] %[[#S2B17_I14]] 15
+;
+; CHECK: %[[#S2B17_A16:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C65536_17]]
+; CHECK: %[[#S2B17_C16:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A16]] %[[#ZERO17]]
+; CHECK: %[[#S2B17_I16:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C16]] %[[#S2B17_I15]] 16
+;
+; CHECK: OpReturnValue %[[#S2B17_I16]]
+define <17 x i1> @scalar_to_boolvec17(i17 %v) {
+ %r = bitcast i17 %v to <17 x i1>
+ ret <17 x i1> %r
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
new file mode 100644
index 0000000000000..d645f3b582ee5
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
@@ -0,0 +1,21 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK: %[[#I32:]] = OpTypeInt 32
+; CHECK: %[[#V17I32:]] = OpTypeVectorIdEXT %[[#I32]] 17
+; CHECK: OpTypeFunction
+; CHECK: %[[#X17I32:]] = OpFunctionParameter %[[#V17I32]]
+; CHECK: %[[#]] = OpBitCount %[[#V17I32]] %[[#X17I32]]
+
+ at g5 = addrspace(1) global <17 x i32> undef, align 4
+
+define dso_local spir_kernel void @test(<17 x i32> %x17i32) {
+entry:
+ %4 = tail call <17 x i32> @llvm.ctpop.v17i32(<17 x i32> %x17i32)
+ store <17 x i32> %4, ptr addrspace(1) @g5, align 4
+
+ ret void
+}
+
+declare <17 x i32> @llvm.ctpop.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
new file mode 100644
index 0000000000000..93eae5007a7a2
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
@@ -0,0 +1,26 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK: OpCapability LongVectorEXT
+; CHECK: OpExtension "SPV_EXT_long_vector"
+; CHECK-DAG: %[[#INT32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#PTR_INT32:]] = OpTypePointer CrossWorkgroup %[[#INT32]]
+; CHECK-DAG: %[[#INT64:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#VEC1_INT64:]] = OpTypeVectorIdEXT %[[#INT64]] 1
+; CHECK-DAG: %[[#VEC1_PTR:]] = OpTypeVectorIdEXT %[[#PTR_INT32]] 1
+; CHECK-DAG: %[[#NULL_VEC:]] = OpConstantNull %[[#VEC1_INT64]]
+; CHECK-LABEL: Begin function test_vector_gep_with_load
+; CHECK: %[[#GEP:]] = OpPtrAccessChain %[[#PTR_INT32]] %[[#]] %[[#NULL_VEC]]
+; CHECK: %[[#INSERTELT:]] = OpCompositeInsert %[[#VEC1_PTR]] %[[#GEP]]
+; CHECK: %[[#EXTRACTELT:]] = OpCompositeExtract %[[#PTR_INT32]] %[[#INSERTELT]]
+; CHECK: %[[#VAL:]] = OpLoad %[[#INT32]] %[[#EXTRACTELT]]
+; CHECK: OpStore %[[#]] %[[#VAL]]
+; CHECK: OpFunctionEnd
+define spir_kernel void @test_vector_gep_with_load(ptr addrspace(1) %p, ptr addrspace(1) %out) {
+ %gep = getelementptr i32, ptr addrspace(1) %p, <1 x i64> zeroinitializer
+ %elem = extractelement <1 x ptr addrspace(1)> %gep, i32 0
+ %val = load i32, ptr addrspace(1) %elem
+ store i32 %val, ptr addrspace(1) %out
+ ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
new file mode 100644
index 0000000000000..52246ca8eaba8
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
@@ -0,0 +1,334 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName [[TRUNC32_16:%.*]] "i32toi16"
+; CHECK-DAG: OpName [[TRUNC32_8:%.*]] "i32toi8"
+; CHECK-DAG: OpName [[TRUNC16_8:%.*]] "i16toi8"
+; CHECK-DAG: OpName [[SEXT8_32:%.*]] "s8tos32"
+; CHECK-DAG: OpName [[SEXT8_16:%.*]] "s8tos16"
+; CHECK-DAG: OpName [[SEXT16_32:%.*]] "s16tos32"
+; CHECK-DAG: OpName [[ZEXT8_32:%.*]] "u8tou32"
+; CHECK-DAG: OpName [[ZEXT8_16:%.*]] "u8tou16"
+; CHECK-DAG: OpName [[ZEXT16_32:%.*]] "u16tou32"
+
+; CHECK-DAG: OpName [[TRUNC32_16v4:%.*]] "i32toi16v4"
+; CHECK-DAG: OpName [[TRUNC32_8v4:%.*]] "i32toi8v4"
+; CHECK-DAG: OpName [[TRUNC16_8v4:%.*]] "i16toi8v4"
+; CHECK-DAG: OpName [[SEXT8_32v4:%.*]] "s8tos32v4"
+; CHECK-DAG: OpName [[SEXT8_16v4:%.*]] "s8tos16v4"
+; CHECK-DAG: OpName [[SEXT16_32v4:%.*]] "s16tos32v4"
+; CHECK-DAG: OpName [[ZEXT8_32v4:%.*]] "u8tou32v4"
+; CHECK-DAG: OpName [[ZEXT8_16v4:%.*]] "u8tou16v4"
+; CHECK-DAG: OpName [[ZEXT16_32v4:%.*]] "u16tou32v4"
+
+; CHECK-DAG: OpDecorate %[[#R14:]] FPRoundingMode RTZ
+; CHECK-DAG: OpDecorate %[[#R15:]] FPRoundingMode RTZ
+; CHECK-DAG: OpDecorate %[[#R16:]] FPRoundingMode RTZ
+; CHECK-DAG: OpDecorate %[[#R17:]] FPRoundingMode RTE
+; CHECK-DAG: OpDecorate %[[#R18:]] FPRoundingMode RTP
+; CHECK-DAG: OpDecorate %[[#R19:]] FPRoundingMode RTN
+; CHECK-DAG: OpDecorate %[[#R20:]] SaturatedConversion
+
+; CHECK-DAG: [[F32:%.*]] = OpTypeFloat 32
+; CHECK-DAG: [[F16:%.*]] = OpTypeFloat 16
+; CHECK-DAG: [[U64:%.*]] = OpTypeInt 64 0
+; CHECK-DAG: [[U32:%.*]] = OpTypeInt 32 0
+; CHECK-DAG: [[U16:%.*]] = OpTypeInt 16 0
+; CHECK-DAG: [[U8:%.*]] = OpTypeInt 8 0
+; CHECK-DAG: [[F32v2:%.*]] = OpTypeVector [[F32]] 2
+; CHECK-DAG: [[U32v4:%.*]] = OpTypeVector [[U32]] 4
+; CHECK-DAG: [[U16v4:%.*]] = OpTypeVector [[U16]] 4
+; CHECK-DAG: [[U8v4:%.*]] = OpTypeVector [[U8]] 4
+
+
+; CHECK: [[TRUNC32_16]] = OpFunction [[U16]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U16]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i16 @i32toi16(i32 %a) {
+ %r = trunc i32 %a to i16
+ ret i16 %r
+}
+
+; CHECK: [[TRUNC32_8]] = OpFunction [[U8]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U8]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i8 @i32toi8(i32 %a) {
+ %r = trunc i32 %a to i8
+ ret i8 %r
+}
+
+; CHECK: [[TRUNC16_8]] = OpFunction [[U8]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U8]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i8 @i16toi8(i16 %a) {
+ %r = trunc i16 %a to i8
+ ret i8 %r
+}
+
+
+; CHECK: [[SEXT8_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpSConvert [[U32]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @s8tos32(i8 %a) {
+ %r = sext i8 %a to i32
+ ret i32 %r
+}
+
+; CHECK: [[SEXT8_16]] = OpFunction [[U16]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpSConvert [[U16]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i16 @s8tos16(i8 %a) {
+ %r = sext i8 %a to i16
+ ret i16 %r
+}
+
+; CHECK: [[SEXT16_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpSConvert [[U32]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @s16tos32(i16 %a) {
+ %r = sext i16 %a to i32
+ ret i32 %r
+}
+
+; CHECK: [[ZEXT8_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U32]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @u8tou32(i8 %a) {
+ %r = zext i8 %a to i32
+ ret i32 %r
+}
+
+; CHECK: [[ZEXT8_16]] = OpFunction [[U16]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U16]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i16 @u8tou16(i8 %a) {
+ %r = zext i8 %a to i16
+ ret i16 %r
+}
+
+; CHECK: [[ZEXT16_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U32]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @u16tou32(i16 %a) {
+ %r = zext i16 %a to i32
+ ret i32 %r
+}
+
+; CHECK: [[TRUNC32_16v4]] = OpFunction [[U16v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U16v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i16> @i32toi16v4(<4 x i32> %a) {
+ %r = trunc <4 x i32> %a to <4 x i16>
+ ret <4 x i16> %r
+}
+
+; CHECK: [[TRUNC32_8v4]] = OpFunction [[U8v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U8v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i8> @i32toi8v4(<4 x i32> %a) {
+ %r = trunc <4 x i32> %a to <4 x i8>
+ ret <4 x i8> %r
+}
+
+; CHECK: [[TRUNC16_8v4]] = OpFunction [[U8v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U8v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i8> @i16toi8v4(<4 x i16> %a) {
+ %r = trunc <4 x i16> %a to <4 x i8>
+ ret <4 x i8> %r
+}
+
+
+; CHECK: [[SEXT8_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpSConvert [[U32v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32> @s8tos32v4(<4 x i8> %a) {
+ %r = sext <4 x i8> %a to <4 x i32>
+ ret <4 x i32> %r
+}
+
+; CHECK: [[SEXT8_16v4]] = OpFunction [[U16v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpSConvert [[U16v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i16> @s8tos16v4(<4 x i8> %a) {
+ %r = sext <4 x i8> %a to <4 x i16>
+ ret <4 x i16> %r
+}
+
+; CHECK: [[SEXT16_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpSConvert [[U32v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32> @s16tos32v4(<4 x i16> %a) {
+ %r = sext <4 x i16> %a to <4 x i32>
+ ret <4 x i32> %r
+}
+
+; CHECK: [[ZEXT8_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U32v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32> @u8tou32v4(<4 x i8> %a) {
+ %r = zext <4 x i8> %a to <4 x i32>
+ ret <4 x i32> %r
+}
+
+; CHECK: [[ZEXT8_16v4]] = OpFunction [[U16v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U16v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i16> @u8tou16v4(<4 x i8> %a) {
+ %r = zext <4 x i8> %a to <4 x i16>
+ ret <4 x i16> %r
+}
+
+; CHECK: [[ZEXT16_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
+; CHECK: OpLabel
+; CHECK: [[R:%.*]] = OpUConvert [[U32v4]] [[A]]
+; CHECK: OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32> @u16tou32v4(<4 x i16> %a) {
+ %r = zext <4 x i16> %a to <4 x i32>
+ ret <4 x i32> %r
+}
+
+; CHECK: OpFunction
+; CHECK: [[Arg1:%.*]] = OpFunctionParameter
+; CHECK: [[Arg2:%.*]] = OpFunctionParameter
+; CHECK: %[[#]] = OpConvertFToU [[U32]] %[[#]]
+; CHECK: %[[#]] = OpConvertFToS [[U32]] %[[#]]
+; CHECK: %[[#]] = OpConvertSToF [[F32]] %[[#]]
+; CHECK: %[[#]] = OpConvertUToF [[F32]] %[[#]]
+; CHECK: %[[#]] = OpUConvert [[U32]] %[[#]]
+; CHECK: %[[#]] = OpSConvert [[U32]] %[[#]]
+; CHECK: %[[#]] = OpFConvert [[F16]] %[[#]]
+; CHECK: %[[#]] = OpSatConvertSToU [[U64]] %[[#]]
+; CHECK: %[[#]] = OpSatConvertUToS [[U64]] %[[#]]
+; CHECK: %[[#]] = OpConvertPtrToU [[U64]] [[Arg1]]
+; CHECK: %[[#]] = OpConvertUToPtr %[[#]] [[Arg2]]
+; CHECK: %[[#]] = OpUConvert [[U32v4]] %[[#]]
+; CHECK: %[[#]] = OpSConvert [[U32v4]] %[[#]]
+; CHECK: %[[#R14]] = OpConvertUToF [[F32]] %[[#]]
+; CHECK: %[[#R15]] = OpConvertUToF [[F32]] %[[#]]
+; CHECK: %[[#R16]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R17]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R18]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R19]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R20]] = OpConvertFToU [[U8]] %[[#]]
+; CHECK: OpFunctionEnd
+define dso_local spir_kernel void @test_wrappers(ptr addrspace(4) %arg, i64 %arg_ptr, <4 x i8> %arg_v2, ptr addrspace(1) %out_i32, ptr addrspace(1) %out_float, ptr addrspace(1) %out_half, ptr addrspace(1) %out_i64, ptr addrspace(1) %out_ptr, ptr addrspace(1) %out_v4i32, ptr addrspace(1) %out_v2f32, ptr addrspace(1) %out_i8) {
+ %r1 = call spir_func i32 @__spirv_ConvertFToU(float 0.000000e+00)
+ store volatile i32 %r1, ptr addrspace(1) %out_i32
+ %r2 = call spir_func i32 @__spirv_ConvertFToS(float 0.000000e+00)
+ store volatile i32 %r2, ptr addrspace(1) %out_i32
+ %r3 = call spir_func float @__spirv_ConvertSToF(i32 1)
+ store volatile float %r3, ptr addrspace(1) %out_float
+ %r4 = call spir_func float @__spirv_ConvertUToF(i32 1)
+ store volatile float %r4, ptr addrspace(1) %out_float
+ %r5 = call spir_func i32 @__spirv_UConvert(i64 1)
+ store volatile i32 %r5, ptr addrspace(1) %out_i32
+ %r6 = call spir_func i32 @__spirv_SConvert(i64 1)
+ store volatile i32 %r6, ptr addrspace(1) %out_i32
+ %r7 = call spir_func half @__spirv_FConvert(float 0.000000e+00)
+ store volatile half %r7, ptr addrspace(1) %out_half
+ %r8 = call spir_func i64 @__spirv_SatConvertSToU(i64 1)
+ store volatile i64 %r8, ptr addrspace(1) %out_i64
+ %r9 = call spir_func i64 @__spirv_SatConvertUToS(i64 1)
+ store volatile i64 %r9, ptr addrspace(1) %out_i64
+ %r10 = call spir_func i64 @__spirv_ConvertPtrToU(ptr addrspace(4) %arg)
+ store volatile i64 %r10, ptr addrspace(1) %out_i64
+ %r11 = call spir_func ptr addrspace(4) @__spirv_ConvertUToPtr(i64 %arg_ptr)
+ store volatile ptr addrspace(4) %r11, ptr addrspace(1) %out_ptr
+ %r12 = call spir_func <4 x i32> @_Z22__spirv_UConvert_Rint2Dv2_a(<4 x i8> %arg_v2)
+ store volatile <4 x i32> %r12, ptr addrspace(1) %out_v4i32
+ %r13 = call spir_func <4 x i32> @_Z22__spirv_SConvert_Rint2Dv2_a(<4 x i8> %arg_v2)
+ store volatile <4 x i32> %r13, ptr addrspace(1) %out_v4i32
+ %r14 = call spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz(i64 %arg_ptr)
+ store volatile float %r14, ptr addrspace(1) %out_float
+ %r15 = call spir_func float @__spirv_ConvertUToF_Rfloat_rtz(i64 %arg_ptr)
+ store volatile float %r15, ptr addrspace(1) %out_float
+ %r16 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+ store volatile <2 x float> %r16, ptr addrspace(1) %out_v2f32
+ %r17 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+ store volatile <2 x float> %r17, ptr addrspace(1) %out_v2f32
+ %r18 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+ store volatile <2 x float> %r18, ptr addrspace(1) %out_v2f32
+ %r19 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+ store volatile <2 x float> %r19, ptr addrspace(1) %out_v2f32
+ %r20 = call spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float noundef 42.0)
+ store volatile i8 %r20, ptr addrspace(1) %out_i8
+ ret void
+}
+
+declare dso_local spir_func i32 @__spirv_ConvertFToU(float)
+declare dso_local spir_func i32 @__spirv_ConvertFToS(float)
+declare dso_local spir_func float @__spirv_ConvertSToF(i32)
+declare dso_local spir_func float @__spirv_ConvertUToF(i32)
+declare dso_local spir_func i32 @__spirv_UConvert(i64)
+declare dso_local spir_func i32 @__spirv_SConvert(i64)
+declare dso_local spir_func half @__spirv_FConvert(float)
+declare dso_local spir_func i64 @__spirv_SatConvertSToU(i64)
+declare dso_local spir_func i64 @__spirv_SatConvertUToS(i64)
+declare dso_local spir_func i64 @__spirv_ConvertPtrToU(ptr addrspace(4))
+declare dso_local spir_func ptr addrspace(4) @__spirv_ConvertUToPtr(i64)
+declare dso_local spir_func <4 x i32> @_Z22__spirv_UConvert_Rint2Dv2_a(<4 x i8>)
+declare dso_local spir_func <4 x i32> @_Z22__spirv_SConvert_Rint2Dv2_a(<4 x i8>)
+declare dso_local spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz(i64)
+declare dso_local spir_func float @__spirv_ConvertUToF_Rfloat_rtz(i64)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
new file mode 100644
index 0000000000000..4f0e653277319
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_add_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.add.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpIAdd %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpIAdd %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpIAdd %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpIAdd %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpIAdd %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpIAdd %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpIAdd %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpIAdd %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpIAdd %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpIAdd %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpIAdd %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpIAdd %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpIAdd %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpIAdd %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpIAdd %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpIAdd %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_add_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.add.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.add.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.add.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
new file mode 100644
index 0000000000000..f924a1ca7dd9b
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_and_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.and.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_and_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.and.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.and.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.and.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
new file mode 100644
index 0000000000000..846022af0b185
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
@@ -0,0 +1,68 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[SP:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR0:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: %[[Float1IntR:.*]] = OpFAdd %[[Float]] %[[SP]] %[[Float1IntR0]]
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fadd_v1f32(float %sp, <1 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fadd.v1f32(float %sp, <1 x float> %v)
+ ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[Param2Float:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatR1:.*]] = OpFAdd %[[Float]] %[[Param2Float]] %[[Vec17FloatItem0]]
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatR2:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR1]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatR3:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR2]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatR4:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR3]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatR5:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR4]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatR6:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR5]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatR7:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR6]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatR8:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR7]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatR9:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR8]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatR10:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR9]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatR11:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR10]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatR12:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR11]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatR13:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR12]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatR14:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR13]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatR15:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR14]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatR16:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR15]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR17:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR16]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR17]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fadd_v17f32(float %sp, <17 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fadd.v17f32(float %sp, <17 x float> %v)
+ ret float %res
+}
+
+declare float @llvm.vector.reduce.fadd.v1f32(float, <1 x float>)
+declare float @llvm.vector.reduce.fadd.v17f32(float, <17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
new file mode 100644
index 0000000000000..d7b49add36d01
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmax_v1f32(<1 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmax.v1f32(<1 x float> %v)
+ ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmax_v17f32(<17 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmax.v17i32(<17 x float> %v)
+ ret float %res
+}
+
+declare float @llvm.vector.reduce.fmax.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fmax.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
new file mode 100644
index 0000000000000..9f5a9010cb272
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmaximum_v1f32(<1 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmaximum.v1f32(<1 x float> %v)
+ ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmaximum_v17f32(<17 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmaximum.v17i32(<17 x float> %v)
+ ret float %res
+}
+
+declare float @llvm.vector.reduce.fmaximum.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fmaximum.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
new file mode 100644
index 0000000000000..af2992aae0d63
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmin_v1f32(<1 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmin.v1f32(<1 x float> %v)
+ ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmin_v17f32(<17 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmin.v17i32(<17 x float> %v)
+ ret float %res
+}
+
+declare float @llvm.vector.reduce.fmin.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fmin.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
new file mode 100644
index 0000000000000..5fe799d785a6e
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fminimum_v1f32(<1 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fminimum.v1f32(<1 x float> %v)
+ ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fminimum_v17f32(<17 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fminimum.v17i32(<17 x float> %v)
+ ret float %res
+}
+
+declare float @llvm.vector.reduce.fminimum.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fminimum.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
new file mode 100644
index 0000000000000..c2fb23bf06f8e
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
@@ -0,0 +1,68 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[X:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: %[[Fmul:.*]] = OpFMul %[[Float]] %[[X]] %[[Float1IntR]]
+; CHECK: OpReturnValue %[[Fmul]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmul_v1f32(float %x, <1 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmul.v1f32(float %x, <1 x float> %v)
+ ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamX:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatR1:.*]] = OpFMul %[[Float]] %[[ParamX]] %[[Vec17FloatItem0]]
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatR2:.*]] = OpFMul %[[Float]] %[[Vec17FloatR1]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatR3:.*]] = OpFMul %[[Float]] %[[Vec17FloatR2]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatR4:.*]] = OpFMul %[[Float]] %[[Vec17FloatR3]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatR5:.*]] = OpFMul %[[Float]] %[[Vec17FloatR4]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatR6:.*]] = OpFMul %[[Float]] %[[Vec17FloatR5]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatR7:.*]] = OpFMul %[[Float]] %[[Vec17FloatR6]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatR8:.*]] = OpFMul %[[Float]] %[[Vec17FloatR7]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatR9:.*]] = OpFMul %[[Float]] %[[Vec17FloatR8]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatR10:.*]] = OpFMul %[[Float]] %[[Vec17FloatR9]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatR11:.*]] = OpFMul %[[Float]] %[[Vec17FloatR10]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatR12:.*]] = OpFMul %[[Float]] %[[Vec17FloatR11]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatR13:.*]] = OpFMul %[[Float]] %[[Vec17FloatR12]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatR14:.*]] = OpFMul %[[Float]] %[[Vec17FloatR13]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatR15:.*]] = OpFMul %[[Float]] %[[Vec17FloatR14]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatR16:.*]] = OpFMul %[[Float]] %[[Vec17FloatR15]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR:.*]] = OpFMul %[[Float]] %[[Vec17FloatR16]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmul_v17f32(float %x, <17 x float> %v) {
+entry:
+ %res = call float @llvm.vector.reduce.fmul.v17i32(float %x, <17 x float> %v)
+ ret float %res
+}
+
+declare float @llvm.vector.reduce.fmul.v1f32(float, <1 x float>)
+declare float @llvm.vector.reduce.fmul.v17f32(float, <17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
new file mode 100644
index 0000000000000..35bcc036bac1d
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_mul_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.mul.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpIMul %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpIMul %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpIMul %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpIMul %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpIMul %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpIMul %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpIMul %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpIMul %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpIMul %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpIMul %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpIMul %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpIMul %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpIMul %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpIMul %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpIMul %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpIMul %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_mul_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.mul.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.mul.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.mul.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
new file mode 100644
index 0000000000000..f945edf04443b
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_or_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.or.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_or_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.or.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.or.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.or.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
new file mode 100644
index 0000000000000..82055121845be
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smax_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.smax.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smax_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.smax.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.smax.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.smax.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
new file mode 100644
index 0000000000000..311bc1b122303
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smin_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.smin.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smin_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.smin.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.smin.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.smin.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
new file mode 100644
index 0000000000000..5e8c1ca3dc58b
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umax_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.umax.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umax_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.umax.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.umax.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.umax.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
new file mode 100644
index 0000000000000..e3e93752a68a5
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umin_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.umin.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umin_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.umin.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.umin.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.umin.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
new file mode 100644
index 0000000000000..eae363af8d989
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_xor_v1i32(<1 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.xor.v1i32(<1 x i32> %v)
+ ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_xor_v17i32(<17 x i32> %v) {
+entry:
+ %res = call i32 @llvm.vector.reduce.xor.v17i32(<17 x i32> %v)
+ ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.xor.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.xor.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
new file mode 100644
index 0000000000000..e9aaf0c1a7df0
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
@@ -0,0 +1,38 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#I32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#V16:]] = OpTypeVector %[[#I32]] 16
+; CHECK-DAG: %[[#V32:]] = OpTypeVectorIdEXT %[[#I32]] 32
+; CHECK: %[[#PHI:]] = OpPhi %[[#V32]]
+
+define spir_kernel void @phi_v32(ptr addrspace(1) %out, i1 %cond,
+ <16 x i32> %a, <16 x i32> %b) {
+entry:
+ %wide_a = shufflevector <16 x i32> %a, <16 x i32> %b,
+ <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7,
+ i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15,
+ i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23,
+ i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ %wide_b = shufflevector <16 x i32> %b, <16 x i32> %a,
+ <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7,
+ i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15,
+ i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23,
+ i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ br i1 %cond, label %then, label %else
+
+then:
+ br label %merge
+
+else:
+ br label %merge
+
+merge:
+ %p = phi <32 x i32> [ %wide_a, %then ], [ %wide_b, %else ]
+ %sum = call i32 @llvm.vector.reduce.add.v32i32(<32 x i32> %p)
+ store i32 %sum, ptr addrspace(1) %out, align 4
+ ret void
+}
+
+declare i32 @llvm.vector.reduce.add.v32i32(<32 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
new file mode 100644
index 0000000000000..833c79c8c935c
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
@@ -0,0 +1,34 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_INTEL_masked_gather_scatter,+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_INTEL_masked_gather_scatter,+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; Test that G_PTRMASK works with vector of pointers.
+; This requires the SPV_INTEL_masked_gather_scatter extension.
+
+; CHECK-DAG: OpCapability MaskedGatherScatterINTEL
+; CHECK-DAG: OpExtension "SPV_INTEL_masked_gather_scatter"
+; CHECK-DAG: OpCapability LongVectorEXT
+; CHECK-DAG: OpExtension "SPV_EXT_long_vector"
+; CHECK-DAG: %[[#INT8_TY:]] = OpTypeInt 8 0
+; CHECK-DAG: %[[#PTR_TY:]] = OpTypePointer CrossWorkgroup %[[#INT8_TY]]
+; CHECK-DAG: %[[#VEC_PTR_TY:]] = OpTypeVectorIdEXT %[[#PTR_TY]] 17
+; CHECK-DAG: %[[#INT64_TY:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#VEC_INT64_TY:]] = OpTypeVectorIdEXT %[[#INT64_TY]] 17
+; CHECK: %[[#PTR_VEC_PARAM:]] = OpFunctionParameter %[[#VEC_PTR_TY]]
+; CHECK: %[[#MASK_VEC_PARAM:]] = OpFunctionParameter %[[#VEC_INT64_TY]]
+; CHECK: %[[#OUT_PARAM:]] = OpFunctionParameter
+; CHECK: %[[#PTR_AS_INT:]] = OpConvertPtrToU %[[#VEC_INT64_TY]] %[[#PTR_VEC_PARAM]]
+; CHECK: %[[#MASKED_INT:]] = OpBitwiseAnd %[[#VEC_INT64_TY]] %[[#PTR_AS_INT]] %[[#MASK_VEC_PARAM]]
+; CHECK: %[[#MASKED_PTR:]] = OpConvertUToPtr %[[#VEC_PTR_TY]] %[[#MASKED_INT]]
+; CHECK: %[[#ELEM0:]] = OpCompositeExtract %[[#PTR_TY]] %[[#MASKED_PTR]] 0
+; CHECK: OpStore %[[#OUT_PARAM]] %[[#ELEM0]] Aligned 8
+
+define spir_kernel void @test_ptrmask_vec(<17 x ptr addrspace(1)> %ptr_vec, <17 x i64> %mask_vec, ptr addrspace(1) %out) {
+entry:
+ %masked_ptr_vec = call <17 x ptr addrspace(1)> @llvm.ptrmask.v17p1.v17i64(<17 x ptr addrspace(1)> %ptr_vec, <17 x i64> %mask_vec)
+ %elem0 = extractelement <17 x ptr addrspace(1)> %masked_ptr_vec, i32 0
+ store ptr addrspace(1) %elem0, ptr addrspace(1) %out, align 8
+ ret void
+}
+
+declare <17 x ptr addrspace(1)> @llvm.ptrmask.v17p1.v17i64(<17 x ptr addrspace(1)>, <17 x i64>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
new file mode 100644
index 0000000000000..5bf629c248f2f
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
@@ -0,0 +1,137 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown -verify-machineinstrs --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-NOT: OpTypeVector
+; CHECK-DAG: %[[#FloatTy:]] = OpTypeFloat 32
+; CHECK-DAG: %[[#IntTy:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#Vec1FloatTy:]] = OpTypeVectorIdEXT %[[#FloatTy]] 1
+; CHECK-DAG: %[[#Vec1IntTy:]] = OpTypeVectorIdEXT %[[#IntTy]] 1
+; CHECK-DAG: %[[#PtrFloat:]] = OpTypePointer Function %[[#Vec1FloatTy]]
+; CHECK-DAG: %[[#Const8:]] = OpConstant %[[#IntTy]] 8
+; CHECK-DAG: %[[#Const4:]] = OpConstant %[[#IntTy]] 4
+; CHECK-DAG: %[[#Const2:]] = OpConstant %[[#IntTy]] 2
+; CHECK-DAG: %[[#Float1:]] = OpConstant %[[#FloatTy]] 1
+; CHECK-DAG: %[[#Vec1Float1:]] = OpConstantComposite %[[#Vec1FloatTy]] %[[#Float1]]
+; CHECK-DAG: %[[#Float2:]] = OpConstant %[[#FloatTy]] 2
+; CHECK-DAG: %[[#Vec1Float2:]] = OpConstantComposite %[[#Vec1FloatTy]] %[[#Float2]]
+; CHECK-DAG: %[[#Float3:]] = OpConstant %[[#FloatTy]] 3
+; CHECK-DAG: %[[#Int42:]] = OpConstant %[[#IntTy]] 42
+; CHECK-DAG: %[[#Int7:]] = OpConstant %[[#IntTy]] 7
+; CHECK-DAG: %[[#Arr8Float:]] = OpTypeArray %[[#Vec1FloatTy]] %[[#Const8]]
+; CHECK-DAG: %[[#PtrArr8Float:]] = OpTypePointer Function %[[#Arr8Float]]
+; CHECK-DAG: %[[#Arr4x8Float:]] = OpTypeArray %[[#Arr8Float]] %[[#Const4]]
+; CHECK-DAG: %[[#Arr4x4x8Float:]] = OpTypeArray %[[#Arr4x8Float]] %[[#Const4]]
+; CHECK-DAG: %[[#PtrArr4x4x8Float:]] = OpTypePointer Function %[[#Arr4x4x8Float]]
+; CHECK-DAG: %[[#StructFloatInt:]] = OpTypeStruct %[[#Vec1FloatTy]] %[[#Vec1IntTy]]
+; CHECK-DAG: %[[#PtrStructFloatInt:]] = OpTypePointer Function %[[#StructFloatInt]]
+; CHECK-DAG: %[[#Arr4Float:]] = OpTypeArray %[[#Vec1FloatTy]] %[[#Const4]]
+; CHECK-DAG: %[[#Arr2Int:]] = OpTypeArray %[[#Vec1IntTy]] %[[#Const2]]
+; CHECK-DAG: %[[#StructFloatArr2Int:]] = OpTypeStruct %[[#Vec1FloatTy]] %[[#Arr2Int]]
+
+; CHECK: OpFunction
+; CHECK: %[[#ArrVar:]] = OpVariable %[[#PtrArr8Float]] Function
+; CHECK: %[[#ArrGep:]] = OpPtrAccessChain %[[#PtrFloat]] %[[#ArrVar]]
+; CHECK: OpStore %[[#ArrGep]] %[[#Vec1Float1]] Aligned 4
+; CHECK: %[[#ArrLoad:]] = OpLoad %[[#Vec1FloatTy]] %[[#ArrGep]] Aligned 4
+; CHECK: %[[#ExtractElt:]] = OpCompositeExtract %[[#FloatTy]] %[[#ArrLoad]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_in_array(ptr addrspace(1) %out) {
+entry:
+ %v = alloca [8 x <1 x float>], align 4, addrspace(0)
+ %p = getelementptr [8 x <1 x float>], ptr addrspace(0) %v, i32 0, i32 0
+ store <1 x float> <float 1.0>, ptr addrspace(0) %p, align 4
+ %r = load <1 x float>, ptr addrspace(0) %p, align 4
+ %s = extractelement <1 x float> %r, i32 0
+ store float %s, ptr addrspace(1) %out, align 4
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#NestedVar:]] = OpVariable %[[#PtrArr4x4x8Float]] Function
+; CHECK: %[[#NestedGep:]] = OpPtrAccessChain %[[#PtrFloat]] %[[#NestedVar]]
+; CHECK: OpStore %[[#NestedGep]] %[[#Vec1Float2]] Aligned 4
+; CHECK: %[[#NestedLoad:]] = OpLoad %[[#Vec1FloatTy]] %[[#NestedGep]] Aligned 4
+; CHECK: %[[#ExtractElt1:]] = OpCompositeExtract %[[#FloatTy]] %[[#NestedLoad]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt1]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_in_nested_array(ptr addrspace(1) %out) {
+entry:
+ %v = alloca [4 x [4 x [8 x <1 x float>]]], align 4, addrspace(0)
+ %p = getelementptr [4 x [4 x [8 x <1 x float>]]], ptr addrspace(0) %v, i32 0, i32 0, i32 0, i32 0
+ store <1 x float> <float 2.0>, ptr addrspace(0) %p, align 4
+ %r = load <1 x float>, ptr addrspace(0) %p, align 4
+ %s = extractelement <1 x float> %r, i32 0
+ store float %s, ptr addrspace(1) %out, align 4
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#StructVar:]] = OpVariable %[[#PtrStructFloatInt]] Function
+; CHECK: %[[#StructGep:]] = OpPtrAccessChain %[[#PtrFloat]] %[[#StructVar]]
+; CHECK: OpStore %[[#StructGep]] %[[#Vec1Float1]] Aligned 4
+; CHECK: %[[#StructLoad:]] = OpLoad %[[#Vec1FloatTy]] %[[#StructGep]] Aligned 4
+; CHECK: %[[#ExtractElt2:]] = OpCompositeExtract %[[#FloatTy]] %[[#StructLoad]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt2]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_in_struct(ptr addrspace(1) %out) {
+entry:
+ %v = alloca {<1 x float>, <1 x i32>}, align 4, addrspace(0)
+ %p = getelementptr {<1 x float>, <1 x i32>}, ptr addrspace(0) %v, i32 0, i32 0
+ store <1 x float> <float 1.0>, ptr addrspace(0) %p, align 4
+ %r = load <1 x float>, ptr addrspace(0) %p, align 4
+ %s = extractelement <1 x float> %r, i32 0
+ store float %s, ptr addrspace(1) %out, align 4
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#ArrInsert1:]] = OpCompositeInsert %[[#Arr4Float]] %[[#Float1]] %[[#]] 0
+; CHECK: %[[#ArrInsert2:]] = OpCompositeInsert %[[#Arr4Float]] %[[#Float2]] %[[#ArrInsert1]] 1
+; CHECK: %[[#ArrExtract:]] = OpCompositeExtract %[[#Vec1FloatTy]] %[[#ArrInsert2]] 1
+; CHECK: %[[#ExtractElt3:]] = OpCompositeExtract %[[#FloatTy]] %[[#ArrExtract]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt3]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_insertvalue_extractvalue_array(ptr addrspace(1) %out) {
+entry:
+ %a = insertvalue [4 x <1 x float>] poison, <1 x float> <float 1.0>, 0
+ %a2 = insertvalue [4 x <1 x float>] %a, <1 x float> <float 2.0>, 1
+ %v = extractvalue [4 x <1 x float>] %a2, 1
+ %s = extractelement <1 x float> %v, i32 0
+ store float %s, ptr addrspace(1) %out, align 4
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#StructInsert1:]] = OpCompositeInsert %[[#StructFloatInt]] %[[#Float1]] %[[#]] 0
+; CHECK: %[[#StructInsert2:]] = OpCompositeInsert %[[#StructFloatInt]] %[[#Int42]] %[[#StructInsert1]] 1
+; CHECK: %[[#StructExtract:]] = OpCompositeExtract %[[#Vec1FloatTy]] %[[#StructInsert2]] 0
+; CHECK: %[[#ExtractElt4:]] = OpCompositeExtract %[[#FloatTy]] %[[#StructExtract]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt4]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_insertvalue_extractvalue_struct(ptr addrspace(1) %out) {
+entry:
+ %a = insertvalue {<1 x float>, <1 x i32>} poison, <1 x float> <float 1.0>, 0
+ %a2 = insertvalue {<1 x float>, <1 x i32>} %a, <1 x i32> <i32 42>, 1
+ %v = extractvalue {<1 x float>, <1 x i32>} %a2, 0
+ %s = extractelement <1 x float> %v, i32 0
+ store float %s, ptr addrspace(1) %out, align 4
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#MixedInsert1:]] = OpCompositeInsert %[[#StructFloatArr2Int]] %[[#Float3]] %[[#]] 0
+; CHECK: %[[#MixedInsert2:]] = OpCompositeInsert %[[#StructFloatArr2Int]] %[[#Int7]] %[[#MixedInsert1]] 1 0
+; CHECK: %[[#MixedExtract:]] = OpCompositeExtract %[[#Vec1FloatTy]] %[[#MixedInsert2]] 0
+; CHECK: %[[#ExtractElt5:]] = OpCompositeExtract %[[#FloatTy]] %[[#MixedExtract]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt5]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_struct_with_nested_array(ptr addrspace(1) %out) {
+entry:
+ %s = insertvalue {<1 x float>, [2 x <1 x i32>]} poison, <1 x float> <float 3.0>, 0
+ %s2 = insertvalue {<1 x float>, [2 x <1 x i32>]} %s, <1 x i32> <i32 7>, 1, 0
+ %v = extractvalue {<1 x float>, [2 x <1 x i32>]} %s2, 0
+ %sc = extractelement <1 x float> %v, i32 0
+ store float %sc, ptr addrspace(1) %out, align 4
+ ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
new file mode 100644
index 0000000000000..6a4e623d6b428
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
@@ -0,0 +1,54 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#INT16:]] = OpTypeInt 16 0
+; CHECK-DAG: %[[#FLOAT64:]] = OpTypeFloat 64
+; CHECK-DAG: %[[#VEC4:]] = OpTypeVector %[[#FLOAT64]] 4
+; CHECK-DAG: %[[#VEC1:]] = OpTypeVectorIdEXT %[[#INT16]] 1
+; CHECK-DAG: %[[#FNTY:]] = OpTypeFunction %[[#VEC4]] %[[#VEC1]]
+; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#VEC1]]
+
+; CHECK: OpFunctionCall %[[#VEC4]] %[[#]] %[[#ZERO]]
+define spir_func <4 x double> @caller() {
+entry:
+ %C = call <4 x double> @callee(<1 x i16> zeroinitializer)
+ ret <4 x double> %C
+}
+declare <4 x double> @callee(<1 x i16>)
+
+; CHECK: %[[#V:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: %[[#EXTRACT_RES:]] = OpCompositeExtract %[[#INT16]] %[[#V]] 0
+; CHECK: OpReturnValue %[[#EXTRACT_RES]]
+define spir_func i16 @test_extractelement(<1 x i16> %v) {
+entry:
+ %e = extractelement <1 x i16> %v, i32 0
+ ret i16 %e
+}
+
+; CHECK: %[[#VAL:]] = OpFunctionParameter %[[#INT16]]
+; CHECK: %[[#INSERT_VAL:]] = OpCompositeInsert %[[#VEC1]] %[[#VAL]] %[[#]] 0
+; CHECK: OpReturnValue %[[#INSERT_VAL]]
+define spir_func <1 x i16> @test_insertelement(i16 %val) {
+entry:
+ %v = insertelement <1 x i16> poison, i16 %val, i32 0
+ ret <1 x i16> %v
+}
+
+; CHECK: %[[#SHUF_PARAM:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: OpReturnValue %[[#SHUF_PARAM]]
+define spir_func <1 x i16> @test_shufflevector(<1 x i16> %v) {
+entry:
+ %s = shufflevector <1 x i16> %v, <1 x i16> poison, <1 x i32> zeroinitializer
+ ret <1 x i16> %s
+}
+
+; CHECK: %[[#LHS_PARAM:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: %[[#RHS_PARAM:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: %[[#RET:]] = OpIAdd %[[#VEC1]] %[[#LHS_PARAM]] %[[#RHS_PARAM]]
+; CHECK: OpReturnValue %[[#RET]]
+define spir_func <1 x i16> @test_arithm(<1 x i16> %v1, <1 x i16> %v2) {
+entry:
+ %s = add <1 x i16> %v1, %v2
+ ret <1 x i16> %s
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll
new file mode 100644
index 0000000000000..11417cac5b3da
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll
@@ -0,0 +1,49 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#Int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#Vec17:]] = OpTypeVectorIdEXT %[[#Int]] 17
+; CHECK-DAG: %[[#PtrGlobalInt:]] = OpTypePointer CrossWorkgroup %[[#Int]]
+; CHECK-DAG: %[[#Const10:]] = OpConstant %[[#Int]] 10
+; CHECK-DAG: %[[#Const20:]] = OpConstant %[[#Int]] 20
+; CHECK-DAG: %[[#Const30:]] = OpConstant %[[#Int]] 30
+; CHECK-DAG: %[[#Const40:]] = OpConstant %[[#Int]] 40
+; CHECK-DAG: %[[#Const50:]] = OpConstant %[[#Int]] 50
+; CHECK-DAG: %[[#Const60:]] = OpConstant %[[#Int]] 60
+
+ at G = internal addrspace(1) global i32 0, align 4
+
+define void @main() {
+entry:
+; CHECK: %[[#Var:]] = OpVariable %[[#PtrGlobalInt]] CrossWorkgroup
+
+; CHECK: %[[#Idx:]] = OpLoad %[[#Int]]
+ %idx = load i32, ptr addrspace(1) @G, align 4
+
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const10]]
+ %vec = insertelement <17 x i32> poison, i32 10, i64 0
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const20]]
+ %vec2 = insertelement <17 x i32> %vec, i32 20, i64 1
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const30]]
+ %vec3 = insertelement <17 x i32> %vec2, i32 30, i64 2
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const40]]
+ %vec4 = insertelement <17 x i32> %vec3, i32 40, i64 3
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const50]]
+ %vec5 = insertelement <17 x i32> %vec4, i32 50, i64 4
+
+; CHECK: %[[#V6:]] = OpCompositeInsert %[[#Vec17]] %[[#Const60]]
+ %vec6 = insertelement <17 x i32> %vec5, i32 60, i64 5
+
+; CHECK: %[[#Res:]] = OpVectorExtractDynamic %[[#Int]] %[[#V6]] %[[#Idx]]
+ %res = extractelement <17 x i32> %vec6, i32 %idx
+
+; CHECK: OpStore {{.*}} %[[#Res]]
+ store i32 %res, ptr addrspace(1) @G, align 4
+ ret void
+}
\ No newline at end of file
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
new file mode 100644
index 0000000000000..b32118460f158
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
@@ -0,0 +1,3606 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - -filetype=obj | spirv-val %}
+
+; This is a repro extracted from IREE; once spirv-val works, testing its correct lowering into valid SPIR-V shall suffice.
+
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+ at __constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+
+; Function Attrs: alwaysinline
+define spir_kernel void @_winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store(ptr addrspace(1) noalias noundef nonnull readonly align 16 %0, ptr addrspace(1) noalias noundef nonnull align 16 %1) addrspace(4) #0 {
+; CHECK-LABEL: _winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK: %113 = OpFunction %18 Inline %19 ; -- Begin function _winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK-NEXT: %111 = OpFunctionParameter %17
+; CHECK-NEXT: %112 = OpFunctionParameter %17
+; CHECK-NEXT: %2360 = OpLabel
+; CHECK-NEXT: %114 = OpBitcast %27 %99
+; CHECK-NEXT: %115 = OpInBoundsPtrAccessChain %27 %114 %59
+; CHECK-NEXT: %116 = OpInBoundsPtrAccessChain %27 %114 %58
+; CHECK-NEXT: %117 = OpInBoundsPtrAccessChain %27 %114 %57
+; CHECK-NEXT: %118 = OpInBoundsPtrAccessChain %27 %114 %56
+; CHECK-NEXT: %119 = OpInBoundsPtrAccessChain %27 %114 %55
+; CHECK-NEXT: %120 = OpInBoundsPtrAccessChain %27 %114 %54
+; CHECK-NEXT: %121 = OpInBoundsPtrAccessChain %27 %114 %53
+; CHECK-NEXT: %122 = OpBitcast %28 %88
+; CHECK-NEXT: %123 = OpInBoundsPtrAccessChain %28 %122 %59
+; CHECK-NEXT: %124 = OpInBoundsPtrAccessChain %28 %122 %58
+; CHECK-NEXT: %125 = OpInBoundsPtrAccessChain %28 %122 %57
+; CHECK-NEXT: %126 = OpInBoundsPtrAccessChain %28 %122 %56
+; CHECK-NEXT: %127 = OpInBoundsPtrAccessChain %28 %122 %55
+; CHECK-NEXT: %128 = OpInBoundsPtrAccessChain %28 %122 %54
+; CHECK-NEXT: %129 = OpInBoundsPtrAccessChain %28 %122 %53
+; CHECK-NEXT: %130 = OpBitcast %28 %98
+; CHECK-NEXT: %131 = OpInBoundsPtrAccessChain %28 %130 %59
+; CHECK-NEXT: %132 = OpInBoundsPtrAccessChain %28 %130 %58
+; CHECK-NEXT: %133 = OpInBoundsPtrAccessChain %28 %130 %57
+; CHECK-NEXT: %134 = OpInBoundsPtrAccessChain %28 %130 %56
+; CHECK-NEXT: %135 = OpInBoundsPtrAccessChain %28 %130 %55
+; CHECK-NEXT: %136 = OpInBoundsPtrAccessChain %28 %130 %54
+; CHECK-NEXT: %137 = OpInBoundsPtrAccessChain %28 %130 %53
+; CHECK-NEXT: OpBranch %2361
+; CHECK-NEXT: %2361 = OpLabel
+; CHECK-NEXT: %138 = OpPhi %20 %139 %2362 %47 %2360
+; CHECK-NEXT: %140 = OpSLessThan %34 %138 %35
+; CHECK-NEXT: OpBranchConditional %140 %2363 %2364
+; CHECK-NEXT: %2364 = OpLabel
+; CHECK-NEXT: OpMemoryBarrier %78 %77
+; CHECK-NEXT: %141 = OpFunctionCall %18 %100 %52
+; CHECK-NEXT: %142 = OpFunctionCall %18 %102 %51
+; CHECK-NEXT: OpMemoryBarrier %78 %78
+; CHECK-NEXT: OpBranch %2365
+; CHECK-NEXT: %2365 = OpLabel
+; CHECK-NEXT: %143 = OpPhi %20 %144 %2366 %47 %2364
+; CHECK-NEXT: %145 = OpSLessThan %34 %143 %50
+; CHECK-NEXT: OpBranchConditional %145 %2367 %2368
+; CHECK-NEXT: %2368 = OpLabel
+; CHECK-NEXT: OpMemoryBarrier %78 %77
+; CHECK-NEXT: %146 = OpFunctionCall %18 %100 %52
+; CHECK-NEXT: %147 = OpFunctionCall %18 %102 %51
+; CHECK-NEXT: OpMemoryBarrier %78 %78
+; CHECK-NEXT: %148 = OpBitcast %30 %99
+; CHECK-NEXT: %149 = OpLoad %29 %148 Aligned 4
+; CHECK-NEXT: %150 = OpBitcast %30 %115
+; CHECK-NEXT: %151 = OpLoad %29 %150 Aligned 4
+; CHECK-NEXT: %152 = OpBitcast %30 %116
+; CHECK-NEXT: %153 = OpLoad %29 %152 Aligned 4
+; CHECK-NEXT: %154 = OpBitcast %30 %117
+; CHECK-NEXT: %155 = OpLoad %29 %154 Aligned 4
+; CHECK-NEXT: %156 = OpBitcast %30 %118
+; CHECK-NEXT: %157 = OpLoad %29 %156 Aligned 4
+; CHECK-NEXT: %158 = OpBitcast %30 %119
+; CHECK-NEXT: %159 = OpLoad %29 %158 Aligned 4
+; CHECK-NEXT: %160 = OpBitcast %30 %120
+; CHECK-NEXT: %161 = OpLoad %29 %160 Aligned 4
+; CHECK-NEXT: %162 = OpBitcast %30 %121
+; CHECK-NEXT: %163 = OpLoad %29 %162 Aligned 4
+; CHECK-NEXT: %164 = OpCompositeExtract %16 %149 0
+; CHECK-NEXT: %165 = OpCompositeExtract %16 %149 1
+; CHECK-NEXT: %166 = OpCompositeExtract %16 %149 2
+; CHECK-NEXT: %167 = OpCompositeExtract %16 %149 3
+; CHECK-NEXT: %168 = OpCompositeExtract %16 %149 4
+; CHECK-NEXT: %169 = OpCompositeExtract %16 %149 5
+; CHECK-NEXT: %170 = OpCompositeExtract %16 %149 6
+; CHECK-NEXT: %171 = OpCompositeExtract %16 %149 7
+; CHECK-NEXT: %172 = OpCompositeExtract %16 %151 0
+; CHECK-NEXT: %173 = OpCompositeExtract %16 %151 1
+; CHECK-NEXT: %174 = OpCompositeExtract %16 %151 2
+; CHECK-NEXT: %175 = OpCompositeExtract %16 %151 3
+; CHECK-NEXT: %176 = OpCompositeExtract %16 %151 4
+; CHECK-NEXT: %177 = OpCompositeExtract %16 %151 5
+; CHECK-NEXT: %178 = OpCompositeExtract %16 %151 6
+; CHECK-NEXT: %179 = OpCompositeExtract %16 %151 7
+; CHECK-NEXT: %180 = OpCompositeExtract %16 %153 0
+; CHECK-NEXT: %181 = OpCompositeExtract %16 %153 1
+; CHECK-NEXT: %182 = OpCompositeExtract %16 %153 2
+; CHECK-NEXT: %183 = OpCompositeExtract %16 %153 3
+; CHECK-NEXT: %184 = OpCompositeExtract %16 %153 4
+; CHECK-NEXT: %185 = OpCompositeExtract %16 %153 5
+; CHECK-NEXT: %186 = OpCompositeExtract %16 %153 6
+; CHECK-NEXT: %187 = OpCompositeExtract %16 %153 7
+; CHECK-NEXT: %188 = OpCompositeExtract %16 %155 0
+; CHECK-NEXT: %189 = OpCompositeExtract %16 %155 1
+; CHECK-NEXT: %190 = OpCompositeExtract %16 %155 2
+; CHECK-NEXT: %191 = OpCompositeExtract %16 %155 3
+; CHECK-NEXT: %192 = OpCompositeExtract %16 %155 4
+; CHECK-NEXT: %193 = OpCompositeExtract %16 %155 5
+; CHECK-NEXT: %194 = OpCompositeExtract %16 %155 6
+; CHECK-NEXT: %195 = OpCompositeExtract %16 %155 7
+; CHECK-NEXT: %196 = OpCompositeExtract %16 %157 0
+; CHECK-NEXT: %197 = OpCompositeExtract %16 %157 1
+; CHECK-NEXT: %198 = OpCompositeExtract %16 %157 2
+; CHECK-NEXT: %199 = OpCompositeExtract %16 %157 3
+; CHECK-NEXT: %200 = OpCompositeExtract %16 %157 4
+; CHECK-NEXT: %201 = OpCompositeExtract %16 %157 5
+; CHECK-NEXT: %202 = OpCompositeExtract %16 %157 6
+; CHECK-NEXT: %203 = OpCompositeExtract %16 %157 7
+; CHECK-NEXT: %204 = OpCompositeExtract %16 %159 0
+; CHECK-NEXT: %205 = OpCompositeExtract %16 %159 1
+; CHECK-NEXT: %206 = OpCompositeExtract %16 %159 2
+; CHECK-NEXT: %207 = OpCompositeExtract %16 %159 3
+; CHECK-NEXT: %208 = OpCompositeExtract %16 %159 4
+; CHECK-NEXT: %209 = OpCompositeExtract %16 %159 5
+; CHECK-NEXT: %210 = OpCompositeExtract %16 %159 6
+; CHECK-NEXT: %211 = OpCompositeExtract %16 %159 7
+; CHECK-NEXT: %212 = OpCompositeExtract %16 %161 0
+; CHECK-NEXT: %213 = OpCompositeExtract %16 %161 1
+; CHECK-NEXT: %214 = OpCompositeExtract %16 %161 2
+; CHECK-NEXT: %215 = OpCompositeExtract %16 %161 3
+; CHECK-NEXT: %216 = OpCompositeExtract %16 %161 4
+; CHECK-NEXT: %217 = OpCompositeExtract %16 %161 5
+; CHECK-NEXT: %218 = OpCompositeExtract %16 %161 6
+; CHECK-NEXT: %219 = OpCompositeExtract %16 %161 7
+; CHECK-NEXT: %220 = OpCompositeExtract %16 %163 0
+; CHECK-NEXT: %221 = OpCompositeExtract %16 %163 1
+; CHECK-NEXT: %222 = OpCompositeExtract %16 %163 2
+; CHECK-NEXT: %223 = OpCompositeExtract %16 %163 3
+; CHECK-NEXT: %224 = OpCompositeExtract %16 %163 4
+; CHECK-NEXT: %225 = OpCompositeExtract %16 %163 5
+; CHECK-NEXT: %226 = OpCompositeExtract %16 %163 6
+; CHECK-NEXT: %227 = OpCompositeExtract %16 %163 7
+; CHECK-NEXT: %228 = OpBitcast %31 %88
+; CHECK-NEXT: %229 = OpLoad %29 %228 Aligned 4
+; CHECK-NEXT: %230 = OpBitcast %31 %123
+; CHECK-NEXT: %231 = OpLoad %29 %230 Aligned 4
+; CHECK-NEXT: %232 = OpBitcast %31 %124
+; CHECK-NEXT: %233 = OpLoad %29 %232 Aligned 4
+; CHECK-NEXT: %234 = OpBitcast %31 %125
+; CHECK-NEXT: %235 = OpLoad %29 %234 Aligned 4
+; CHECK-NEXT: %236 = OpBitcast %31 %126
+; CHECK-NEXT: %237 = OpLoad %29 %236 Aligned 4
+; CHECK-NEXT: %238 = OpBitcast %31 %127
+; CHECK-NEXT: %239 = OpLoad %29 %238 Aligned 4
+; CHECK-NEXT: %240 = OpBitcast %31 %128
+; CHECK-NEXT: %241 = OpLoad %29 %240 Aligned 4
+; CHECK-NEXT: %242 = OpBitcast %31 %129
+; CHECK-NEXT: %243 = OpLoad %29 %242 Aligned 4
+; CHECK-NEXT: %244 = OpCompositeInsert %29 %164 %104 0
+; CHECK-NEXT: %245 = OpVectorShuffle %29 %244 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %246 = OpVectorShuffle %24 %245 %245 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %247 = OpVectorShuffle %24 %246 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %248 = OpCompositeInsert %29 %172 %104 0
+; CHECK-NEXT: %249 = OpVectorShuffle %29 %248 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %250 = OpVectorShuffle %24 %249 %249 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %251 = OpVectorShuffle %24 %250 %247 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %252 = OpCompositeInsert %29 %180 %104 0
+; CHECK-NEXT: %253 = OpVectorShuffle %29 %252 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %254 = OpVectorShuffle %24 %253 %253 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %255 = OpVectorShuffle %24 %254 %251 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %256 = OpCompositeInsert %29 %188 %104 0
+; CHECK-NEXT: %257 = OpVectorShuffle %29 %256 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %258 = OpVectorShuffle %24 %257 %257 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %259 = OpVectorShuffle %24 %258 %255 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %260 = OpCompositeInsert %29 %196 %104 0
+; CHECK-NEXT: %261 = OpVectorShuffle %29 %260 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %262 = OpVectorShuffle %24 %261 %261 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %263 = OpVectorShuffle %24 %262 %259 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %264 = OpCompositeInsert %29 %204 %104 0
+; CHECK-NEXT: %265 = OpVectorShuffle %29 %264 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %266 = OpVectorShuffle %24 %265 %265 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %267 = OpVectorShuffle %24 %266 %263 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %268 = OpCompositeInsert %29 %212 %104 0
+; CHECK-NEXT: %269 = OpVectorShuffle %29 %268 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %270 = OpVectorShuffle %24 %269 %269 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %271 = OpVectorShuffle %24 %270 %267 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %272 = OpCompositeInsert %29 %220 %104 0
+; CHECK-NEXT: %273 = OpVectorShuffle %29 %272 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %274 = OpVectorShuffle %24 %273 %273 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %275 = OpVectorShuffle %24 %274 %271 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %276 = OpCompositeInsert %29 %165 %104 0
+; CHECK-NEXT: %277 = OpVectorShuffle %29 %276 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %278 = OpVectorShuffle %24 %277 %277 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %279 = OpVectorShuffle %24 %278 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %280 = OpCompositeInsert %29 %173 %104 0
+; CHECK-NEXT: %281 = OpVectorShuffle %29 %280 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %282 = OpVectorShuffle %24 %281 %281 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %283 = OpVectorShuffle %24 %282 %279 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %284 = OpCompositeInsert %29 %181 %104 0
+; CHECK-NEXT: %285 = OpVectorShuffle %29 %284 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %286 = OpVectorShuffle %24 %285 %285 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %287 = OpVectorShuffle %24 %286 %283 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %288 = OpCompositeInsert %29 %189 %104 0
+; CHECK-NEXT: %289 = OpVectorShuffle %29 %288 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %290 = OpVectorShuffle %24 %289 %289 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %291 = OpVectorShuffle %24 %290 %287 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %292 = OpCompositeInsert %29 %197 %104 0
+; CHECK-NEXT: %293 = OpVectorShuffle %29 %292 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %294 = OpVectorShuffle %24 %293 %293 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %295 = OpVectorShuffle %24 %294 %291 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %296 = OpCompositeInsert %29 %205 %104 0
+; CHECK-NEXT: %297 = OpVectorShuffle %29 %296 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %298 = OpVectorShuffle %24 %297 %297 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %299 = OpVectorShuffle %24 %298 %295 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %300 = OpCompositeInsert %29 %213 %104 0
+; CHECK-NEXT: %301 = OpVectorShuffle %29 %300 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %302 = OpVectorShuffle %24 %301 %301 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %303 = OpVectorShuffle %24 %302 %299 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %304 = OpCompositeInsert %29 %221 %104 0
+; CHECK-NEXT: %305 = OpVectorShuffle %29 %304 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %306 = OpVectorShuffle %24 %305 %305 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %307 = OpVectorShuffle %24 %306 %303 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %308 = OpCompositeInsert %29 %166 %104 0
+; CHECK-NEXT: %309 = OpVectorShuffle %29 %308 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %310 = OpVectorShuffle %24 %309 %309 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %311 = OpVectorShuffle %24 %310 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %312 = OpCompositeInsert %29 %174 %104 0
+; CHECK-NEXT: %313 = OpVectorShuffle %29 %312 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %314 = OpVectorShuffle %24 %313 %313 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %315 = OpVectorShuffle %24 %314 %311 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %316 = OpCompositeInsert %29 %182 %104 0
+; CHECK-NEXT: %317 = OpVectorShuffle %29 %316 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %318 = OpVectorShuffle %24 %317 %317 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %319 = OpVectorShuffle %24 %318 %315 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %320 = OpCompositeInsert %29 %190 %104 0
+; CHECK-NEXT: %321 = OpVectorShuffle %29 %320 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %322 = OpVectorShuffle %24 %321 %321 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %323 = OpVectorShuffle %24 %322 %319 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %324 = OpCompositeInsert %29 %198 %104 0
+; CHECK-NEXT: %325 = OpVectorShuffle %29 %324 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %326 = OpVectorShuffle %24 %325 %325 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %327 = OpVectorShuffle %24 %326 %323 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %328 = OpCompositeInsert %29 %206 %104 0
+; CHECK-NEXT: %329 = OpVectorShuffle %29 %328 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %330 = OpVectorShuffle %24 %329 %329 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %331 = OpVectorShuffle %24 %330 %327 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %332 = OpCompositeInsert %29 %214 %104 0
+; CHECK-NEXT: %333 = OpVectorShuffle %29 %332 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %334 = OpVectorShuffle %24 %333 %333 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %335 = OpVectorShuffle %24 %334 %331 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %336 = OpCompositeInsert %29 %222 %104 0
+; CHECK-NEXT: %337 = OpVectorShuffle %29 %336 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %338 = OpVectorShuffle %24 %337 %337 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %339 = OpVectorShuffle %24 %338 %335 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %340 = OpCompositeInsert %29 %167 %104 0
+; CHECK-NEXT: %341 = OpVectorShuffle %29 %340 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %342 = OpVectorShuffle %24 %341 %341 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %343 = OpVectorShuffle %24 %342 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %344 = OpCompositeInsert %29 %175 %104 0
+; CHECK-NEXT: %345 = OpVectorShuffle %29 %344 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %346 = OpVectorShuffle %24 %345 %345 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %347 = OpVectorShuffle %24 %346 %343 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %348 = OpCompositeInsert %29 %183 %104 0
+; CHECK-NEXT: %349 = OpVectorShuffle %29 %348 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %350 = OpVectorShuffle %24 %349 %349 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %351 = OpVectorShuffle %24 %350 %347 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %352 = OpCompositeInsert %29 %191 %104 0
+; CHECK-NEXT: %353 = OpVectorShuffle %29 %352 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %354 = OpVectorShuffle %24 %353 %353 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %355 = OpVectorShuffle %24 %354 %351 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %356 = OpCompositeInsert %29 %199 %104 0
+; CHECK-NEXT: %357 = OpVectorShuffle %29 %356 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %358 = OpVectorShuffle %24 %357 %357 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %359 = OpVectorShuffle %24 %358 %355 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %360 = OpCompositeInsert %29 %207 %104 0
+; CHECK-NEXT: %361 = OpVectorShuffle %29 %360 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %362 = OpVectorShuffle %24 %361 %361 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %363 = OpVectorShuffle %24 %362 %359 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %364 = OpCompositeInsert %29 %215 %104 0
+; CHECK-NEXT: %365 = OpVectorShuffle %29 %364 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %366 = OpVectorShuffle %24 %365 %365 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %367 = OpVectorShuffle %24 %366 %363 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %368 = OpCompositeInsert %29 %223 %104 0
+; CHECK-NEXT: %369 = OpVectorShuffle %29 %368 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %370 = OpVectorShuffle %24 %369 %369 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %371 = OpVectorShuffle %24 %370 %367 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %372 = OpCompositeInsert %29 %168 %104 0
+; CHECK-NEXT: %373 = OpVectorShuffle %29 %372 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %374 = OpVectorShuffle %24 %373 %373 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %375 = OpVectorShuffle %24 %374 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %376 = OpCompositeInsert %29 %176 %104 0
+; CHECK-NEXT: %377 = OpVectorShuffle %29 %376 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %378 = OpVectorShuffle %24 %377 %377 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %379 = OpVectorShuffle %24 %378 %375 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %380 = OpCompositeInsert %29 %184 %104 0
+; CHECK-NEXT: %381 = OpVectorShuffle %29 %380 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %382 = OpVectorShuffle %24 %381 %381 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %383 = OpVectorShuffle %24 %382 %379 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %384 = OpCompositeInsert %29 %192 %104 0
+; CHECK-NEXT: %385 = OpVectorShuffle %29 %384 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %386 = OpVectorShuffle %24 %385 %385 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %387 = OpVectorShuffle %24 %386 %383 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %388 = OpCompositeInsert %29 %200 %104 0
+; CHECK-NEXT: %389 = OpVectorShuffle %29 %388 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %390 = OpVectorShuffle %24 %389 %389 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %391 = OpVectorShuffle %24 %390 %387 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %392 = OpCompositeInsert %29 %208 %104 0
+; CHECK-NEXT: %393 = OpVectorShuffle %29 %392 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %394 = OpVectorShuffle %24 %393 %393 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %395 = OpVectorShuffle %24 %394 %391 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %396 = OpCompositeInsert %29 %216 %104 0
+; CHECK-NEXT: %397 = OpVectorShuffle %29 %396 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %398 = OpVectorShuffle %24 %397 %397 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %399 = OpVectorShuffle %24 %398 %395 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %400 = OpCompositeInsert %29 %224 %104 0
+; CHECK-NEXT: %401 = OpVectorShuffle %29 %400 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %402 = OpVectorShuffle %24 %401 %401 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %403 = OpVectorShuffle %24 %402 %399 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %404 = OpCompositeInsert %29 %169 %104 0
+; CHECK-NEXT: %405 = OpVectorShuffle %29 %404 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %406 = OpVectorShuffle %24 %405 %405 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %407 = OpVectorShuffle %24 %406 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %408 = OpCompositeInsert %29 %177 %104 0
+; CHECK-NEXT: %409 = OpVectorShuffle %29 %408 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %410 = OpVectorShuffle %24 %409 %409 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %411 = OpVectorShuffle %24 %410 %407 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %412 = OpCompositeInsert %29 %185 %104 0
+; CHECK-NEXT: %413 = OpVectorShuffle %29 %412 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %414 = OpVectorShuffle %24 %413 %413 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %415 = OpVectorShuffle %24 %414 %411 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %416 = OpCompositeInsert %29 %193 %104 0
+; CHECK-NEXT: %417 = OpVectorShuffle %29 %416 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %418 = OpVectorShuffle %24 %417 %417 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %419 = OpVectorShuffle %24 %418 %415 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %420 = OpCompositeInsert %29 %201 %104 0
+; CHECK-NEXT: %421 = OpVectorShuffle %29 %420 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %422 = OpVectorShuffle %24 %421 %421 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %423 = OpVectorShuffle %24 %422 %419 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %424 = OpCompositeInsert %29 %209 %104 0
+; CHECK-NEXT: %425 = OpVectorShuffle %29 %424 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %426 = OpVectorShuffle %24 %425 %425 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %427 = OpVectorShuffle %24 %426 %423 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %428 = OpCompositeInsert %29 %217 %104 0
+; CHECK-NEXT: %429 = OpVectorShuffle %29 %428 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %430 = OpVectorShuffle %24 %429 %429 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %431 = OpVectorShuffle %24 %430 %427 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %432 = OpCompositeInsert %29 %225 %104 0
+; CHECK-NEXT: %433 = OpVectorShuffle %29 %432 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %434 = OpVectorShuffle %24 %433 %433 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %435 = OpVectorShuffle %24 %434 %431 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %436 = OpCompositeInsert %29 %170 %104 0
+; CHECK-NEXT: %437 = OpVectorShuffle %29 %436 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %438 = OpVectorShuffle %24 %437 %437 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %439 = OpVectorShuffle %24 %438 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %440 = OpCompositeInsert %29 %178 %104 0
+; CHECK-NEXT: %441 = OpVectorShuffle %29 %440 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %442 = OpVectorShuffle %24 %441 %441 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %443 = OpVectorShuffle %24 %442 %439 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %444 = OpCompositeInsert %29 %186 %104 0
+; CHECK-NEXT: %445 = OpVectorShuffle %29 %444 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %446 = OpVectorShuffle %24 %445 %445 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %447 = OpVectorShuffle %24 %446 %443 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %448 = OpCompositeInsert %29 %194 %104 0
+; CHECK-NEXT: %449 = OpVectorShuffle %29 %448 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %450 = OpVectorShuffle %24 %449 %449 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %451 = OpVectorShuffle %24 %450 %447 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %452 = OpCompositeInsert %29 %202 %104 0
+; CHECK-NEXT: %453 = OpVectorShuffle %29 %452 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %454 = OpVectorShuffle %24 %453 %453 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %455 = OpVectorShuffle %24 %454 %451 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %456 = OpCompositeInsert %29 %210 %104 0
+; CHECK-NEXT: %457 = OpVectorShuffle %29 %456 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %458 = OpVectorShuffle %24 %457 %457 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %459 = OpVectorShuffle %24 %458 %455 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %460 = OpCompositeInsert %29 %218 %104 0
+; CHECK-NEXT: %461 = OpVectorShuffle %29 %460 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %462 = OpVectorShuffle %24 %461 %461 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %463 = OpVectorShuffle %24 %462 %459 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %464 = OpCompositeInsert %29 %226 %104 0
+; CHECK-NEXT: %465 = OpVectorShuffle %29 %464 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %466 = OpVectorShuffle %24 %465 %465 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %467 = OpVectorShuffle %24 %466 %463 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %468 = OpCompositeInsert %29 %171 %104 0
+; CHECK-NEXT: %469 = OpVectorShuffle %29 %468 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %470 = OpVectorShuffle %24 %469 %469 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %471 = OpVectorShuffle %24 %470 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %472 = OpCompositeInsert %29 %179 %104 0
+; CHECK-NEXT: %473 = OpVectorShuffle %29 %472 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %474 = OpVectorShuffle %24 %473 %473 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %475 = OpVectorShuffle %24 %474 %471 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %476 = OpCompositeInsert %29 %187 %104 0
+; CHECK-NEXT: %477 = OpVectorShuffle %29 %476 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %478 = OpVectorShuffle %24 %477 %477 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %479 = OpVectorShuffle %24 %478 %475 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %480 = OpCompositeInsert %29 %195 %104 0
+; CHECK-NEXT: %481 = OpVectorShuffle %29 %480 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %482 = OpVectorShuffle %24 %481 %481 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %483 = OpVectorShuffle %24 %482 %479 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %484 = OpCompositeInsert %29 %203 %104 0
+; CHECK-NEXT: %485 = OpVectorShuffle %29 %484 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %486 = OpVectorShuffle %24 %485 %485 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %487 = OpVectorShuffle %24 %486 %483 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %488 = OpCompositeInsert %29 %211 %104 0
+; CHECK-NEXT: %489 = OpVectorShuffle %29 %488 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %490 = OpVectorShuffle %24 %489 %489 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %491 = OpVectorShuffle %24 %490 %487 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %492 = OpCompositeInsert %29 %219 %104 0
+; CHECK-NEXT: %493 = OpVectorShuffle %29 %492 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %494 = OpVectorShuffle %24 %493 %493 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %495 = OpVectorShuffle %24 %494 %491 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %496 = OpCompositeInsert %29 %227 %104 0
+; CHECK-NEXT: %497 = OpVectorShuffle %29 %496 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %498 = OpVectorShuffle %24 %497 %497 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %499 = OpVectorShuffle %24 %498 %495 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %500 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %501 = OpVectorShuffle %24 %500 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %502 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %503 = OpVectorShuffle %24 %502 %501 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %504 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %505 = OpVectorShuffle %24 %504 %503 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %506 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %507 = OpVectorShuffle %24 %506 %505 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %508 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %509 = OpVectorShuffle %24 %508 %507 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %510 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %511 = OpVectorShuffle %24 %510 %509 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %512 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %513 = OpVectorShuffle %24 %512 %511 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %514 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %515 = OpVectorShuffle %24 %514 %513 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %516 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %517 = OpVectorShuffle %24 %516 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %518 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %519 = OpVectorShuffle %24 %518 %517 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %520 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %521 = OpVectorShuffle %24 %520 %519 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %522 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %523 = OpVectorShuffle %24 %522 %521 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %524 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %525 = OpVectorShuffle %24 %524 %523 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %526 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %527 = OpVectorShuffle %24 %526 %525 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %528 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %529 = OpVectorShuffle %24 %528 %527 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %530 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %531 = OpVectorShuffle %24 %530 %529 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %532 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %533 = OpVectorShuffle %24 %532 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %534 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %535 = OpVectorShuffle %24 %534 %533 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %536 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %537 = OpVectorShuffle %24 %536 %535 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %538 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %539 = OpVectorShuffle %24 %538 %537 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %540 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %541 = OpVectorShuffle %24 %540 %539 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %542 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %543 = OpVectorShuffle %24 %542 %541 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %544 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %545 = OpVectorShuffle %24 %544 %543 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %546 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %547 = OpVectorShuffle %24 %546 %545 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %548 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %549 = OpVectorShuffle %24 %548 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %550 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %551 = OpVectorShuffle %24 %550 %549 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %552 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %553 = OpVectorShuffle %24 %552 %551 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %554 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %555 = OpVectorShuffle %24 %554 %553 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %556 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %557 = OpVectorShuffle %24 %556 %555 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %558 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %559 = OpVectorShuffle %24 %558 %557 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %560 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %561 = OpVectorShuffle %24 %560 %559 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %562 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %563 = OpVectorShuffle %24 %562 %561 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %564 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %565 = OpVectorShuffle %24 %564 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %566 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %567 = OpVectorShuffle %24 %566 %565 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %568 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %569 = OpVectorShuffle %24 %568 %567 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %570 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %571 = OpVectorShuffle %24 %570 %569 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %572 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %573 = OpVectorShuffle %24 %572 %571 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %574 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %575 = OpVectorShuffle %24 %574 %573 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %576 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %577 = OpVectorShuffle %24 %576 %575 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %578 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %579 = OpVectorShuffle %24 %578 %577 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %580 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %581 = OpVectorShuffle %24 %580 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %582 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %583 = OpVectorShuffle %24 %582 %581 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %584 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %585 = OpVectorShuffle %24 %584 %583 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %586 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %587 = OpVectorShuffle %24 %586 %585 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %588 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %589 = OpVectorShuffle %24 %588 %587 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %590 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %591 = OpVectorShuffle %24 %590 %589 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %592 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %593 = OpVectorShuffle %24 %592 %591 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %594 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %595 = OpVectorShuffle %24 %594 %593 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %596 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %597 = OpVectorShuffle %24 %596 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %598 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %599 = OpVectorShuffle %24 %598 %597 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %600 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %601 = OpVectorShuffle %24 %600 %599 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %602 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %603 = OpVectorShuffle %24 %602 %601 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %604 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %605 = OpVectorShuffle %24 %604 %603 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %606 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %607 = OpVectorShuffle %24 %606 %605 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %608 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %609 = OpVectorShuffle %24 %608 %607 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %610 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %611 = OpVectorShuffle %24 %610 %609 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %612 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %613 = OpVectorShuffle %24 %612 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %614 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %615 = OpVectorShuffle %24 %614 %613 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %616 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %617 = OpVectorShuffle %24 %616 %615 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %618 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %619 = OpVectorShuffle %24 %618 %617 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %620 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %621 = OpVectorShuffle %24 %620 %619 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %622 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %623 = OpVectorShuffle %24 %622 %621 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %624 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %625 = OpVectorShuffle %24 %624 %623 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %626 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %627 = OpVectorShuffle %24 %626 %625 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %628 = OpFunctionCall %24 %107 %499 %627 %106
+; CHECK-NEXT: %629 = OpFunctionCall %24 %107 %467 %611 %628
+; CHECK-NEXT: %630 = OpFunctionCall %24 %107 %435 %595 %629
+; CHECK-NEXT: %631 = OpFunctionCall %24 %107 %403 %579 %630
+; CHECK-NEXT: %632 = OpFunctionCall %24 %107 %371 %563 %631
+; CHECK-NEXT: %633 = OpFunctionCall %24 %107 %339 %547 %632
+; CHECK-NEXT: %634 = OpFunctionCall %24 %107 %307 %531 %633
+; CHECK-NEXT: %635 = OpFunctionCall %24 %107 %275 %515 %634
+; CHECK-NEXT: %636 = OpVectorShuffle %29 %635 %635 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %637 = OpVectorShuffle %29 %635 %635 8 9 10 11 12 13 14 15
+; CHECK-NEXT: %638 = OpVectorShuffle %29 %635 %635 16 17 18 19 20 21 22 23
+; CHECK-NEXT: %639 = OpVectorShuffle %29 %635 %635 24 25 26 27 28 29 30 31
+; CHECK-NEXT: %640 = OpVectorShuffle %29 %635 %635 32 33 34 35 36 37 38 39
+; CHECK-NEXT: %641 = OpVectorShuffle %29 %635 %635 40 41 42 43 44 45 46 47
+; CHECK-NEXT: %642 = OpVectorShuffle %29 %635 %635 48 49 50 51 52 53 54 55
+; CHECK-NEXT: %643 = OpVectorShuffle %29 %635 %635 56 57 58 59 60 61 62 63
+; CHECK-NEXT: %644 = OpBitcast %31 %98
+; CHECK-NEXT: %645 = OpLoad %29 %644 Aligned 4
+; CHECK-NEXT: %646 = OpBitcast %31 %131
+; CHECK-NEXT: %647 = OpLoad %29 %646 Aligned 4
+; CHECK-NEXT: %648 = OpBitcast %31 %132
+; CHECK-NEXT: %649 = OpLoad %29 %648 Aligned 4
+; CHECK-NEXT: %650 = OpBitcast %31 %133
+; CHECK-NEXT: %651 = OpLoad %29 %650 Aligned 4
+; CHECK-NEXT: %652 = OpBitcast %31 %134
+; CHECK-NEXT: %653 = OpLoad %29 %652 Aligned 4
+; CHECK-NEXT: %654 = OpBitcast %31 %135
+; CHECK-NEXT: %655 = OpLoad %29 %654 Aligned 4
+; CHECK-NEXT: %656 = OpBitcast %31 %136
+; CHECK-NEXT: %657 = OpLoad %29 %656 Aligned 4
+; CHECK-NEXT: %658 = OpBitcast %31 %137
+; CHECK-NEXT: %659 = OpLoad %29 %658 Aligned 4
+; CHECK-NEXT: %660 = OpCompositeExtract %16 %645 0
+; CHECK-NEXT: %661 = OpCompositeExtract %16 %645 1
+; CHECK-NEXT: %662 = OpCompositeExtract %16 %645 2
+; CHECK-NEXT: %663 = OpCompositeExtract %16 %645 3
+; CHECK-NEXT: %664 = OpCompositeExtract %16 %645 4
+; CHECK-NEXT: %665 = OpCompositeExtract %16 %645 5
+; CHECK-NEXT: %666 = OpCompositeExtract %16 %645 6
+; CHECK-NEXT: %667 = OpCompositeExtract %16 %645 7
+; CHECK-NEXT: %668 = OpCompositeExtract %16 %647 0
+; CHECK-NEXT: %669 = OpCompositeExtract %16 %647 1
+; CHECK-NEXT: %670 = OpCompositeExtract %16 %647 2
+; CHECK-NEXT: %671 = OpCompositeExtract %16 %647 3
+; CHECK-NEXT: %672 = OpCompositeExtract %16 %647 4
+; CHECK-NEXT: %673 = OpCompositeExtract %16 %647 5
+; CHECK-NEXT: %674 = OpCompositeExtract %16 %647 6
+; CHECK-NEXT: %675 = OpCompositeExtract %16 %647 7
+; CHECK-NEXT: %676 = OpCompositeExtract %16 %649 0
+; CHECK-NEXT: %677 = OpCompositeExtract %16 %649 1
+; CHECK-NEXT: %678 = OpCompositeExtract %16 %649 2
+; CHECK-NEXT: %679 = OpCompositeExtract %16 %649 3
+; CHECK-NEXT: %680 = OpCompositeExtract %16 %649 4
+; CHECK-NEXT: %681 = OpCompositeExtract %16 %649 5
+; CHECK-NEXT: %682 = OpCompositeExtract %16 %649 6
+; CHECK-NEXT: %683 = OpCompositeExtract %16 %649 7
+; CHECK-NEXT: %684 = OpCompositeExtract %16 %651 0
+; CHECK-NEXT: %685 = OpCompositeExtract %16 %651 1
+; CHECK-NEXT: %686 = OpCompositeExtract %16 %651 2
+; CHECK-NEXT: %687 = OpCompositeExtract %16 %651 3
+; CHECK-NEXT: %688 = OpCompositeExtract %16 %651 4
+; CHECK-NEXT: %689 = OpCompositeExtract %16 %651 5
+; CHECK-NEXT: %690 = OpCompositeExtract %16 %651 6
+; CHECK-NEXT: %691 = OpCompositeExtract %16 %651 7
+; CHECK-NEXT: %692 = OpCompositeExtract %16 %653 0
+; CHECK-NEXT: %693 = OpCompositeExtract %16 %653 1
+; CHECK-NEXT: %694 = OpCompositeExtract %16 %653 2
+; CHECK-NEXT: %695 = OpCompositeExtract %16 %653 3
+; CHECK-NEXT: %696 = OpCompositeExtract %16 %653 4
+; CHECK-NEXT: %697 = OpCompositeExtract %16 %653 5
+; CHECK-NEXT: %698 = OpCompositeExtract %16 %653 6
+; CHECK-NEXT: %699 = OpCompositeExtract %16 %653 7
+; CHECK-NEXT: %700 = OpCompositeExtract %16 %655 0
+; CHECK-NEXT: %701 = OpCompositeExtract %16 %655 1
+; CHECK-NEXT: %702 = OpCompositeExtract %16 %655 2
+; CHECK-NEXT: %703 = OpCompositeExtract %16 %655 3
+; CHECK-NEXT: %704 = OpCompositeExtract %16 %655 4
+; CHECK-NEXT: %705 = OpCompositeExtract %16 %655 5
+; CHECK-NEXT: %706 = OpCompositeExtract %16 %655 6
+; CHECK-NEXT: %707 = OpCompositeExtract %16 %655 7
+; CHECK-NEXT: %708 = OpCompositeExtract %16 %657 0
+; CHECK-NEXT: %709 = OpCompositeExtract %16 %657 1
+; CHECK-NEXT: %710 = OpCompositeExtract %16 %657 2
+; CHECK-NEXT: %711 = OpCompositeExtract %16 %657 3
+; CHECK-NEXT: %712 = OpCompositeExtract %16 %657 4
+; CHECK-NEXT: %713 = OpCompositeExtract %16 %657 5
+; CHECK-NEXT: %714 = OpCompositeExtract %16 %657 6
+; CHECK-NEXT: %715 = OpCompositeExtract %16 %657 7
+; CHECK-NEXT: %716 = OpCompositeExtract %16 %659 0
+; CHECK-NEXT: %717 = OpCompositeExtract %16 %659 1
+; CHECK-NEXT: %718 = OpCompositeExtract %16 %659 2
+; CHECK-NEXT: %719 = OpCompositeExtract %16 %659 3
+; CHECK-NEXT: %720 = OpCompositeExtract %16 %659 4
+; CHECK-NEXT: %721 = OpCompositeExtract %16 %659 5
+; CHECK-NEXT: %722 = OpCompositeExtract %16 %659 6
+; CHECK-NEXT: %723 = OpCompositeExtract %16 %659 7
+; CHECK-NEXT: %724 = OpCompositeInsert %29 %660 %104 0
+; CHECK-NEXT: %725 = OpVectorShuffle %29 %724 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %726 = OpVectorShuffle %24 %725 %725 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %727 = OpVectorShuffle %24 %726 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %728 = OpCompositeInsert %29 %668 %104 0
+; CHECK-NEXT: %729 = OpVectorShuffle %29 %728 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %730 = OpVectorShuffle %24 %729 %729 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %731 = OpVectorShuffle %24 %730 %727 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %732 = OpCompositeInsert %29 %676 %104 0
+; CHECK-NEXT: %733 = OpVectorShuffle %29 %732 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %734 = OpVectorShuffle %24 %733 %733 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %735 = OpVectorShuffle %24 %734 %731 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %736 = OpCompositeInsert %29 %684 %104 0
+; CHECK-NEXT: %737 = OpVectorShuffle %29 %736 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %738 = OpVectorShuffle %24 %737 %737 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %739 = OpVectorShuffle %24 %738 %735 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %740 = OpCompositeInsert %29 %692 %104 0
+; CHECK-NEXT: %741 = OpVectorShuffle %29 %740 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %742 = OpVectorShuffle %24 %741 %741 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %743 = OpVectorShuffle %24 %742 %739 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %744 = OpCompositeInsert %29 %700 %104 0
+; CHECK-NEXT: %745 = OpVectorShuffle %29 %744 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %746 = OpVectorShuffle %24 %745 %745 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %747 = OpVectorShuffle %24 %746 %743 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %748 = OpCompositeInsert %29 %708 %104 0
+; CHECK-NEXT: %749 = OpVectorShuffle %29 %748 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %750 = OpVectorShuffle %24 %749 %749 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %751 = OpVectorShuffle %24 %750 %747 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %752 = OpCompositeInsert %29 %716 %104 0
+; CHECK-NEXT: %753 = OpVectorShuffle %29 %752 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %754 = OpVectorShuffle %24 %753 %753 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %755 = OpVectorShuffle %24 %754 %751 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %756 = OpCompositeInsert %29 %661 %104 0
+; CHECK-NEXT: %757 = OpVectorShuffle %29 %756 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %758 = OpVectorShuffle %24 %757 %757 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %759 = OpVectorShuffle %24 %758 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %760 = OpCompositeInsert %29 %669 %104 0
+; CHECK-NEXT: %761 = OpVectorShuffle %29 %760 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %762 = OpVectorShuffle %24 %761 %761 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %763 = OpVectorShuffle %24 %762 %759 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %764 = OpCompositeInsert %29 %677 %104 0
+; CHECK-NEXT: %765 = OpVectorShuffle %29 %764 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %766 = OpVectorShuffle %24 %765 %765 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %767 = OpVectorShuffle %24 %766 %763 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %768 = OpCompositeInsert %29 %685 %104 0
+; CHECK-NEXT: %769 = OpVectorShuffle %29 %768 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %770 = OpVectorShuffle %24 %769 %769 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %771 = OpVectorShuffle %24 %770 %767 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %772 = OpCompositeInsert %29 %693 %104 0
+; CHECK-NEXT: %773 = OpVectorShuffle %29 %772 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %774 = OpVectorShuffle %24 %773 %773 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %775 = OpVectorShuffle %24 %774 %771 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %776 = OpCompositeInsert %29 %701 %104 0
+; CHECK-NEXT: %777 = OpVectorShuffle %29 %776 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %778 = OpVectorShuffle %24 %777 %777 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %779 = OpVectorShuffle %24 %778 %775 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %780 = OpCompositeInsert %29 %709 %104 0
+; CHECK-NEXT: %781 = OpVectorShuffle %29 %780 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %782 = OpVectorShuffle %24 %781 %781 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %783 = OpVectorShuffle %24 %782 %779 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %784 = OpCompositeInsert %29 %717 %104 0
+; CHECK-NEXT: %785 = OpVectorShuffle %29 %784 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %786 = OpVectorShuffle %24 %785 %785 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %787 = OpVectorShuffle %24 %786 %783 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %788 = OpCompositeInsert %29 %662 %104 0
+; CHECK-NEXT: %789 = OpVectorShuffle %29 %788 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %790 = OpVectorShuffle %24 %789 %789 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %791 = OpVectorShuffle %24 %790 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %792 = OpCompositeInsert %29 %670 %104 0
+; CHECK-NEXT: %793 = OpVectorShuffle %29 %792 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %794 = OpVectorShuffle %24 %793 %793 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %795 = OpVectorShuffle %24 %794 %791 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %796 = OpCompositeInsert %29 %678 %104 0
+; CHECK-NEXT: %797 = OpVectorShuffle %29 %796 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %798 = OpVectorShuffle %24 %797 %797 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %799 = OpVectorShuffle %24 %798 %795 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %800 = OpCompositeInsert %29 %686 %104 0
+; CHECK-NEXT: %801 = OpVectorShuffle %29 %800 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %802 = OpVectorShuffle %24 %801 %801 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %803 = OpVectorShuffle %24 %802 %799 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %804 = OpCompositeInsert %29 %694 %104 0
+; CHECK-NEXT: %805 = OpVectorShuffle %29 %804 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %806 = OpVectorShuffle %24 %805 %805 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %807 = OpVectorShuffle %24 %806 %803 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %808 = OpCompositeInsert %29 %702 %104 0
+; CHECK-NEXT: %809 = OpVectorShuffle %29 %808 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %810 = OpVectorShuffle %24 %809 %809 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %811 = OpVectorShuffle %24 %810 %807 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %812 = OpCompositeInsert %29 %710 %104 0
+; CHECK-NEXT: %813 = OpVectorShuffle %29 %812 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %814 = OpVectorShuffle %24 %813 %813 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %815 = OpVectorShuffle %24 %814 %811 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %816 = OpCompositeInsert %29 %718 %104 0
+; CHECK-NEXT: %817 = OpVectorShuffle %29 %816 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %818 = OpVectorShuffle %24 %817 %817 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %819 = OpVectorShuffle %24 %818 %815 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %820 = OpCompositeInsert %29 %663 %104 0
+; CHECK-NEXT: %821 = OpVectorShuffle %29 %820 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %822 = OpVectorShuffle %24 %821 %821 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %823 = OpVectorShuffle %24 %822 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %824 = OpCompositeInsert %29 %671 %104 0
+; CHECK-NEXT: %825 = OpVectorShuffle %29 %824 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %826 = OpVectorShuffle %24 %825 %825 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %827 = OpVectorShuffle %24 %826 %823 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %828 = OpCompositeInsert %29 %679 %104 0
+; CHECK-NEXT: %829 = OpVectorShuffle %29 %828 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %830 = OpVectorShuffle %24 %829 %829 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %831 = OpVectorShuffle %24 %830 %827 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %832 = OpCompositeInsert %29 %687 %104 0
+; CHECK-NEXT: %833 = OpVectorShuffle %29 %832 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %834 = OpVectorShuffle %24 %833 %833 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %835 = OpVectorShuffle %24 %834 %831 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %836 = OpCompositeInsert %29 %695 %104 0
+; CHECK-NEXT: %837 = OpVectorShuffle %29 %836 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %838 = OpVectorShuffle %24 %837 %837 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %839 = OpVectorShuffle %24 %838 %835 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %840 = OpCompositeInsert %29 %703 %104 0
+; CHECK-NEXT: %841 = OpVectorShuffle %29 %840 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %842 = OpVectorShuffle %24 %841 %841 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %843 = OpVectorShuffle %24 %842 %839 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %844 = OpCompositeInsert %29 %711 %104 0
+; CHECK-NEXT: %845 = OpVectorShuffle %29 %844 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %846 = OpVectorShuffle %24 %845 %845 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %847 = OpVectorShuffle %24 %846 %843 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %848 = OpCompositeInsert %29 %719 %104 0
+; CHECK-NEXT: %849 = OpVectorShuffle %29 %848 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %850 = OpVectorShuffle %24 %849 %849 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %851 = OpVectorShuffle %24 %850 %847 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %852 = OpCompositeInsert %29 %664 %104 0
+; CHECK-NEXT: %853 = OpVectorShuffle %29 %852 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %854 = OpVectorShuffle %24 %853 %853 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %855 = OpVectorShuffle %24 %854 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %856 = OpCompositeInsert %29 %672 %104 0
+; CHECK-NEXT: %857 = OpVectorShuffle %29 %856 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %858 = OpVectorShuffle %24 %857 %857 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %859 = OpVectorShuffle %24 %858 %855 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %860 = OpCompositeInsert %29 %680 %104 0
+; CHECK-NEXT: %861 = OpVectorShuffle %29 %860 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %862 = OpVectorShuffle %24 %861 %861 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %863 = OpVectorShuffle %24 %862 %859 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %864 = OpCompositeInsert %29 %688 %104 0
+; CHECK-NEXT: %865 = OpVectorShuffle %29 %864 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %866 = OpVectorShuffle %24 %865 %865 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %867 = OpVectorShuffle %24 %866 %863 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %868 = OpCompositeInsert %29 %696 %104 0
+; CHECK-NEXT: %869 = OpVectorShuffle %29 %868 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %870 = OpVectorShuffle %24 %869 %869 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %871 = OpVectorShuffle %24 %870 %867 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %872 = OpCompositeInsert %29 %704 %104 0
+; CHECK-NEXT: %873 = OpVectorShuffle %29 %872 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %874 = OpVectorShuffle %24 %873 %873 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %875 = OpVectorShuffle %24 %874 %871 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %876 = OpCompositeInsert %29 %712 %104 0
+; CHECK-NEXT: %877 = OpVectorShuffle %29 %876 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %878 = OpVectorShuffle %24 %877 %877 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %879 = OpVectorShuffle %24 %878 %875 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %880 = OpCompositeInsert %29 %720 %104 0
+; CHECK-NEXT: %881 = OpVectorShuffle %29 %880 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %882 = OpVectorShuffle %24 %881 %881 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %883 = OpVectorShuffle %24 %882 %879 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %884 = OpCompositeInsert %29 %665 %104 0
+; CHECK-NEXT: %885 = OpVectorShuffle %29 %884 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %886 = OpVectorShuffle %24 %885 %885 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %887 = OpVectorShuffle %24 %886 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %888 = OpCompositeInsert %29 %673 %104 0
+; CHECK-NEXT: %889 = OpVectorShuffle %29 %888 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %890 = OpVectorShuffle %24 %889 %889 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %891 = OpVectorShuffle %24 %890 %887 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %892 = OpCompositeInsert %29 %681 %104 0
+; CHECK-NEXT: %893 = OpVectorShuffle %29 %892 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %894 = OpVectorShuffle %24 %893 %893 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %895 = OpVectorShuffle %24 %894 %891 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %896 = OpCompositeInsert %29 %689 %104 0
+; CHECK-NEXT: %897 = OpVectorShuffle %29 %896 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %898 = OpVectorShuffle %24 %897 %897 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %899 = OpVectorShuffle %24 %898 %895 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %900 = OpCompositeInsert %29 %697 %104 0
+; CHECK-NEXT: %901 = OpVectorShuffle %29 %900 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %902 = OpVectorShuffle %24 %901 %901 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %903 = OpVectorShuffle %24 %902 %899 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %904 = OpCompositeInsert %29 %705 %104 0
+; CHECK-NEXT: %905 = OpVectorShuffle %29 %904 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %906 = OpVectorShuffle %24 %905 %905 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %907 = OpVectorShuffle %24 %906 %903 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %908 = OpCompositeInsert %29 %713 %104 0
+; CHECK-NEXT: %909 = OpVectorShuffle %29 %908 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %910 = OpVectorShuffle %24 %909 %909 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %911 = OpVectorShuffle %24 %910 %907 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %912 = OpCompositeInsert %29 %721 %104 0
+; CHECK-NEXT: %913 = OpVectorShuffle %29 %912 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %914 = OpVectorShuffle %24 %913 %913 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %915 = OpVectorShuffle %24 %914 %911 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %916 = OpCompositeInsert %29 %666 %104 0
+; CHECK-NEXT: %917 = OpVectorShuffle %29 %916 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %918 = OpVectorShuffle %24 %917 %917 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %919 = OpVectorShuffle %24 %918 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %920 = OpCompositeInsert %29 %674 %104 0
+; CHECK-NEXT: %921 = OpVectorShuffle %29 %920 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %922 = OpVectorShuffle %24 %921 %921 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %923 = OpVectorShuffle %24 %922 %919 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %924 = OpCompositeInsert %29 %682 %104 0
+; CHECK-NEXT: %925 = OpVectorShuffle %29 %924 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %926 = OpVectorShuffle %24 %925 %925 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %927 = OpVectorShuffle %24 %926 %923 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %928 = OpCompositeInsert %29 %690 %104 0
+; CHECK-NEXT: %929 = OpVectorShuffle %29 %928 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %930 = OpVectorShuffle %24 %929 %929 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %931 = OpVectorShuffle %24 %930 %927 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %932 = OpCompositeInsert %29 %698 %104 0
+; CHECK-NEXT: %933 = OpVectorShuffle %29 %932 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %934 = OpVectorShuffle %24 %933 %933 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %935 = OpVectorShuffle %24 %934 %931 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %936 = OpCompositeInsert %29 %706 %104 0
+; CHECK-NEXT: %937 = OpVectorShuffle %29 %936 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %938 = OpVectorShuffle %24 %937 %937 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %939 = OpVectorShuffle %24 %938 %935 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %940 = OpCompositeInsert %29 %714 %104 0
+; CHECK-NEXT: %941 = OpVectorShuffle %29 %940 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %942 = OpVectorShuffle %24 %941 %941 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %943 = OpVectorShuffle %24 %942 %939 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %944 = OpCompositeInsert %29 %722 %104 0
+; CHECK-NEXT: %945 = OpVectorShuffle %29 %944 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %946 = OpVectorShuffle %24 %945 %945 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %947 = OpVectorShuffle %24 %946 %943 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %948 = OpCompositeInsert %29 %667 %104 0
+; CHECK-NEXT: %949 = OpVectorShuffle %29 %948 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %950 = OpVectorShuffle %24 %949 %949 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %951 = OpVectorShuffle %24 %950 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %952 = OpCompositeInsert %29 %675 %104 0
+; CHECK-NEXT: %953 = OpVectorShuffle %29 %952 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %954 = OpVectorShuffle %24 %953 %953 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %955 = OpVectorShuffle %24 %954 %951 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %956 = OpCompositeInsert %29 %683 %104 0
+; CHECK-NEXT: %957 = OpVectorShuffle %29 %956 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %958 = OpVectorShuffle %24 %957 %957 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %959 = OpVectorShuffle %24 %958 %955 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %960 = OpCompositeInsert %29 %691 %104 0
+; CHECK-NEXT: %961 = OpVectorShuffle %29 %960 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %962 = OpVectorShuffle %24 %961 %961 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %963 = OpVectorShuffle %24 %962 %959 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %964 = OpCompositeInsert %29 %699 %104 0
+; CHECK-NEXT: %965 = OpVectorShuffle %29 %964 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %966 = OpVectorShuffle %24 %965 %965 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %967 = OpVectorShuffle %24 %966 %963 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %968 = OpCompositeInsert %29 %707 %104 0
+; CHECK-NEXT: %969 = OpVectorShuffle %29 %968 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %970 = OpVectorShuffle %24 %969 %969 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %971 = OpVectorShuffle %24 %970 %967 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %972 = OpCompositeInsert %29 %715 %104 0
+; CHECK-NEXT: %973 = OpVectorShuffle %29 %972 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %974 = OpVectorShuffle %24 %973 %973 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %975 = OpVectorShuffle %24 %974 %971 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %976 = OpCompositeInsert %29 %723 %104 0
+; CHECK-NEXT: %977 = OpVectorShuffle %29 %976 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %978 = OpVectorShuffle %24 %977 %977 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %979 = OpVectorShuffle %24 %978 %975 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %980 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %981 = OpVectorShuffle %24 %980 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %982 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %983 = OpVectorShuffle %24 %982 %981 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %984 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %985 = OpVectorShuffle %24 %984 %983 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %986 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %987 = OpVectorShuffle %24 %986 %985 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %988 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %989 = OpVectorShuffle %24 %988 %987 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %990 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %991 = OpVectorShuffle %24 %990 %989 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %992 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %993 = OpVectorShuffle %24 %992 %991 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %994 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %995 = OpVectorShuffle %24 %994 %993 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %996 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %997 = OpVectorShuffle %24 %996 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %998 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %999 = OpVectorShuffle %24 %998 %997 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1000 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1001 = OpVectorShuffle %24 %1000 %999 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1002 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1003 = OpVectorShuffle %24 %1002 %1001 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1004 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1005 = OpVectorShuffle %24 %1004 %1003 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1006 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1007 = OpVectorShuffle %24 %1006 %1005 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1008 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1009 = OpVectorShuffle %24 %1008 %1007 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1010 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1011 = OpVectorShuffle %24 %1010 %1009 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1012 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1013 = OpVectorShuffle %24 %1012 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1014 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1015 = OpVectorShuffle %24 %1014 %1013 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1016 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1017 = OpVectorShuffle %24 %1016 %1015 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1018 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1019 = OpVectorShuffle %24 %1018 %1017 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1020 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1021 = OpVectorShuffle %24 %1020 %1019 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1022 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1023 = OpVectorShuffle %24 %1022 %1021 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1024 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1025 = OpVectorShuffle %24 %1024 %1023 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1026 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1027 = OpVectorShuffle %24 %1026 %1025 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1028 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1029 = OpVectorShuffle %24 %1028 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1030 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1031 = OpVectorShuffle %24 %1030 %1029 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1032 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1033 = OpVectorShuffle %24 %1032 %1031 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1034 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1035 = OpVectorShuffle %24 %1034 %1033 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1036 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1037 = OpVectorShuffle %24 %1036 %1035 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1038 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1039 = OpVectorShuffle %24 %1038 %1037 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1040 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1041 = OpVectorShuffle %24 %1040 %1039 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1042 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1043 = OpVectorShuffle %24 %1042 %1041 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1044 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1045 = OpVectorShuffle %24 %1044 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1046 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1047 = OpVectorShuffle %24 %1046 %1045 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1048 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1049 = OpVectorShuffle %24 %1048 %1047 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1050 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1051 = OpVectorShuffle %24 %1050 %1049 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1052 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1053 = OpVectorShuffle %24 %1052 %1051 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1054 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1055 = OpVectorShuffle %24 %1054 %1053 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1056 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1057 = OpVectorShuffle %24 %1056 %1055 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1058 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1059 = OpVectorShuffle %24 %1058 %1057 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1060 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1061 = OpVectorShuffle %24 %1060 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1062 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1063 = OpVectorShuffle %24 %1062 %1061 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1064 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1065 = OpVectorShuffle %24 %1064 %1063 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1066 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1067 = OpVectorShuffle %24 %1066 %1065 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1068 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1069 = OpVectorShuffle %24 %1068 %1067 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1070 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1071 = OpVectorShuffle %24 %1070 %1069 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1072 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1073 = OpVectorShuffle %24 %1072 %1071 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1074 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1075 = OpVectorShuffle %24 %1074 %1073 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1076 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1077 = OpVectorShuffle %24 %1076 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1078 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1079 = OpVectorShuffle %24 %1078 %1077 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1080 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1081 = OpVectorShuffle %24 %1080 %1079 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1082 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1083 = OpVectorShuffle %24 %1082 %1081 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1084 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1085 = OpVectorShuffle %24 %1084 %1083 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1086 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1087 = OpVectorShuffle %24 %1086 %1085 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1088 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1089 = OpVectorShuffle %24 %1088 %1087 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1090 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1091 = OpVectorShuffle %24 %1090 %1089 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1092 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1093 = OpVectorShuffle %24 %1092 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1094 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1095 = OpVectorShuffle %24 %1094 %1093 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1096 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1097 = OpVectorShuffle %24 %1096 %1095 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1098 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1099 = OpVectorShuffle %24 %1098 %1097 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1100 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1101 = OpVectorShuffle %24 %1100 %1099 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1102 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1103 = OpVectorShuffle %24 %1102 %1101 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1104 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1105 = OpVectorShuffle %24 %1104 %1103 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1106 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1107 = OpVectorShuffle %24 %1106 %1105 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1108 = OpFunctionCall %24 %107 %979 %1107 %106
+; CHECK-NEXT: %1109 = OpFunctionCall %24 %107 %947 %1091 %1108
+; CHECK-NEXT: %1110 = OpFunctionCall %24 %107 %915 %1075 %1109
+; CHECK-NEXT: %1111 = OpFunctionCall %24 %107 %883 %1059 %1110
+; CHECK-NEXT: %1112 = OpFunctionCall %24 %107 %851 %1043 %1111
+; CHECK-NEXT: %1113 = OpFunctionCall %24 %107 %819 %1027 %1112
+; CHECK-NEXT: %1114 = OpFunctionCall %24 %107 %787 %1011 %1113
+; CHECK-NEXT: %1115 = OpFunctionCall %24 %107 %755 %995 %1114
+; CHECK-NEXT: %1116 = OpVectorShuffle %29 %1115 %1115 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1117 = OpVectorShuffle %29 %1115 %1115 8 9 10 11 12 13 14 15
+; CHECK-NEXT: %1118 = OpVectorShuffle %29 %1115 %1115 16 17 18 19 20 21 22 23
+; CHECK-NEXT: %1119 = OpVectorShuffle %29 %1115 %1115 24 25 26 27 28 29 30 31
+; CHECK-NEXT: %1120 = OpVectorShuffle %29 %1115 %1115 32 33 34 35 36 37 38 39
+; CHECK-NEXT: %1121 = OpVectorShuffle %29 %1115 %1115 40 41 42 43 44 45 46 47
+; CHECK-NEXT: %1122 = OpVectorShuffle %29 %1115 %1115 48 49 50 51 52 53 54 55
+; CHECK-NEXT: %1123 = OpVectorShuffle %29 %1115 %1115 56 57 58 59 60 61 62 63
+; CHECK-NEXT: OpBranch %2369
+; CHECK-NEXT: %2369 = OpLabel
+; CHECK-NEXT: %1124 = OpPhi %20 %1125 %2370 %47 %2368
+; CHECK-NEXT: %1126 = OpSLessThan %34 %1124 %35
+; CHECK-NEXT: OpBranchConditional %1126 %2370 %2
+; CHECK-NEXT: %2 = OpLabel
+; CHECK-NEXT: OpBranch %2371
+; CHECK-NEXT: %2371 = OpLabel
+; CHECK-NEXT: %1127 = OpPhi %20 %1128 %2372 %47 %2
+; CHECK-NEXT: %1129 = OpSLessThan %34 %1127 %35
+; CHECK-NEXT: OpBranchConditional %1129 %2372 %3
+; CHECK-NEXT: %3 = OpLabel
+; CHECK-NEXT: OpBranch %2373
+; CHECK-NEXT: %2373 = OpLabel
+; CHECK-NEXT: %1130 = OpPhi %20 %1131 %2374 %47 %3
+; CHECK-NEXT: %1132 = OpSLessThan %34 %1130 %35
+; CHECK-NEXT: OpBranchConditional %1132 %2374 %4
+; CHECK-NEXT: %4 = OpLabel
+; CHECK-NEXT: OpBranch %2375
+; CHECK-NEXT: %2375 = OpLabel
+; CHECK-NEXT: %1133 = OpPhi %20 %1134 %2376 %47 %4
+; CHECK-NEXT: %1135 = OpSLessThan %34 %1133 %35
+; CHECK-NEXT: OpBranchConditional %1135 %2376 %5
+; CHECK-NEXT: %5 = OpLabel
+; CHECK-NEXT: OpBranch %2377
+; CHECK-NEXT: %2377 = OpLabel
+; CHECK-NEXT: %1136 = OpPhi %20 %1137 %2378 %47 %5
+; CHECK-NEXT: %1138 = OpSLessThan %34 %1136 %35
+; CHECK-NEXT: OpBranchConditional %1138 %2378 %6
+; CHECK-NEXT: %6 = OpLabel
+; CHECK-NEXT: OpBranch %2379
+; CHECK-NEXT: %2379 = OpLabel
+; CHECK-NEXT: %1139 = OpPhi %20 %1140 %2380 %47 %6
+; CHECK-NEXT: %1141 = OpSLessThan %34 %1139 %35
+; CHECK-NEXT: OpBranchConditional %1141 %2380 %7
+; CHECK-NEXT: %7 = OpLabel
+; CHECK-NEXT: OpBranch %2381
+; CHECK-NEXT: %2381 = OpLabel
+; CHECK-NEXT: %1142 = OpPhi %20 %1143 %2382 %47 %7
+; CHECK-NEXT: %1144 = OpSLessThan %34 %1142 %35
+; CHECK-NEXT: OpBranchConditional %1144 %2382 %8
+; CHECK-NEXT: %8 = OpLabel
+; CHECK-NEXT: OpBranch %2383
+; CHECK-NEXT: %2383 = OpLabel
+; CHECK-NEXT: %1145 = OpPhi %20 %1146 %2384 %47 %8
+; CHECK-NEXT: %1147 = OpSLessThan %34 %1145 %35
+; CHECK-NEXT: OpBranchConditional %1147 %2384 %2385
+; CHECK-NEXT: %2385 = OpLabel
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: %2384 = OpLabel
+; CHECK-NEXT: %1148 = OpUConvert %33 %1145
+; CHECK-NEXT: %1149 = OpVectorExtractDynamic %16 %1123 %1148
+; CHECK-NEXT: %1150 = OpIAdd %33 %46 %1148
+; CHECK-NEXT: %1151 = OpIAdd %33 %1150 %49
+; CHECK-NEXT: %1152 = OpIAdd %33 %1151 %49
+; CHECK-NEXT: %1153 = OpIAdd %33 %1152 %49
+; CHECK-NEXT: %1154 = OpIAdd %33 %1153 %49
+; CHECK-NEXT: %1155 = OpInBoundsPtrAccessChain %17 %112 %1154
+; CHECK-NEXT: OpStore %1155 %1149 Aligned 4
+; CHECK-NEXT: %1146 = OpIAdd %20 %1145 %45
+; CHECK-NEXT: OpBranch %2383
+; CHECK-NEXT: %2382 = OpLabel
+; CHECK-NEXT: %1156 = OpUConvert %33 %1142
+; CHECK-NEXT: %1157 = OpVectorExtractDynamic %16 %1122 %1156
+; CHECK-NEXT: %1158 = OpIAdd %33 %44 %1156
+; CHECK-NEXT: %1159 = OpIAdd %33 %1158 %49
+; CHECK-NEXT: %1160 = OpIAdd %33 %1159 %49
+; CHECK-NEXT: %1161 = OpIAdd %33 %1160 %49
+; CHECK-NEXT: %1162 = OpIAdd %33 %1161 %49
+; CHECK-NEXT: %1163 = OpInBoundsPtrAccessChain %17 %112 %1162
+; CHECK-NEXT: OpStore %1163 %1157 Aligned 4
+; CHECK-NEXT: %1143 = OpIAdd %20 %1142 %45
+; CHECK-NEXT: OpBranch %2381
+; CHECK-NEXT: %2380 = OpLabel
+; CHECK-NEXT: %1164 = OpUConvert %33 %1139
+; CHECK-NEXT: %1165 = OpVectorExtractDynamic %16 %1121 %1164
+; CHECK-NEXT: %1166 = OpIAdd %33 %43 %1164
+; CHECK-NEXT: %1167 = OpIAdd %33 %1166 %49
+; CHECK-NEXT: %1168 = OpIAdd %33 %1167 %49
+; CHECK-NEXT: %1169 = OpIAdd %33 %1168 %49
+; CHECK-NEXT: %1170 = OpIAdd %33 %1169 %49
+; CHECK-NEXT: %1171 = OpInBoundsPtrAccessChain %17 %112 %1170
+; CHECK-NEXT: OpStore %1171 %1165 Aligned 4
+; CHECK-NEXT: %1140 = OpIAdd %20 %1139 %45
+; CHECK-NEXT: OpBranch %2379
+; CHECK-NEXT: %2378 = OpLabel
+; CHECK-NEXT: %1172 = OpUConvert %33 %1136
+; CHECK-NEXT: %1173 = OpVectorExtractDynamic %16 %1120 %1172
+; CHECK-NEXT: %1174 = OpIAdd %33 %59 %1172
+; CHECK-NEXT: %1175 = OpIAdd %33 %1174 %49
+; CHECK-NEXT: %1176 = OpIAdd %33 %1175 %49
+; CHECK-NEXT: %1177 = OpIAdd %33 %1176 %49
+; CHECK-NEXT: %1178 = OpIAdd %33 %1177 %49
+; CHECK-NEXT: %1179 = OpInBoundsPtrAccessChain %17 %112 %1178
+; CHECK-NEXT: OpStore %1179 %1173 Aligned 4
+; CHECK-NEXT: %1137 = OpIAdd %20 %1136 %45
+; CHECK-NEXT: OpBranch %2377
+; CHECK-NEXT: %2376 = OpLabel
+; CHECK-NEXT: %1180 = OpUConvert %33 %1133
+; CHECK-NEXT: %1181 = OpVectorExtractDynamic %16 %1119 %1180
+; CHECK-NEXT: %1182 = OpIAdd %33 %42 %1180
+; CHECK-NEXT: %1183 = OpIAdd %33 %1182 %49
+; CHECK-NEXT: %1184 = OpIAdd %33 %1183 %49
+; CHECK-NEXT: %1185 = OpIAdd %33 %1184 %49
+; CHECK-NEXT: %1186 = OpIAdd %33 %1185 %49
+; CHECK-NEXT: %1187 = OpInBoundsPtrAccessChain %17 %112 %1186
+; CHECK-NEXT: OpStore %1187 %1181 Aligned 4
+; CHECK-NEXT: %1134 = OpIAdd %20 %1133 %45
+; CHECK-NEXT: OpBranch %2375
+; CHECK-NEXT: %2374 = OpLabel
+; CHECK-NEXT: %1188 = OpUConvert %33 %1130
+; CHECK-NEXT: %1189 = OpVectorExtractDynamic %16 %1118 %1188
+; CHECK-NEXT: %1190 = OpIAdd %33 %41 %1188
+; CHECK-NEXT: %1191 = OpIAdd %33 %1190 %49
+; CHECK-NEXT: %1192 = OpIAdd %33 %1191 %49
+; CHECK-NEXT: %1193 = OpIAdd %33 %1192 %49
+; CHECK-NEXT: %1194 = OpIAdd %33 %1193 %49
+; CHECK-NEXT: %1195 = OpInBoundsPtrAccessChain %17 %112 %1194
+; CHECK-NEXT: OpStore %1195 %1189 Aligned 4
+; CHECK-NEXT: %1131 = OpIAdd %20 %1130 %45
+; CHECK-NEXT: OpBranch %2373
+; CHECK-NEXT: %2372 = OpLabel
+; CHECK-NEXT: %1196 = OpUConvert %33 %1127
+; CHECK-NEXT: %1197 = OpVectorExtractDynamic %16 %1117 %1196
+; CHECK-NEXT: %1198 = OpIAdd %33 %40 %1196
+; CHECK-NEXT: %1199 = OpIAdd %33 %1198 %49
+; CHECK-NEXT: %1200 = OpIAdd %33 %1199 %49
+; CHECK-NEXT: %1201 = OpIAdd %33 %1200 %49
+; CHECK-NEXT: %1202 = OpIAdd %33 %1201 %49
+; CHECK-NEXT: %1203 = OpInBoundsPtrAccessChain %17 %112 %1202
+; CHECK-NEXT: OpStore %1203 %1197 Aligned 4
+; CHECK-NEXT: %1128 = OpIAdd %20 %1127 %45
+; CHECK-NEXT: OpBranch %2371
+; CHECK-NEXT: %2370 = OpLabel
+; CHECK-NEXT: %1204 = OpUConvert %33 %1124
+; CHECK-NEXT: %1205 = OpVectorExtractDynamic %16 %1116 %1204
+; CHECK-NEXT: %1206 = OpIAdd %33 %49 %1204
+; CHECK-NEXT: %1207 = OpIAdd %33 %1206 %49
+; CHECK-NEXT: %1208 = OpIAdd %33 %1207 %49
+; CHECK-NEXT: %1209 = OpIAdd %33 %1208 %49
+; CHECK-NEXT: %1210 = OpIAdd %33 %1209 %49
+; CHECK-NEXT: %1211 = OpInBoundsPtrAccessChain %17 %112 %1210
+; CHECK-NEXT: OpStore %1211 %1205 Aligned 4
+; CHECK-NEXT: %1125 = OpIAdd %20 %1124 %45
+; CHECK-NEXT: OpBranch %2369
+; CHECK-NEXT: %2367 = OpLabel
+; CHECK-NEXT: %1212 = OpUConvert %33 %143
+; CHECK-NEXT: OpBranch %2386
+; CHECK-NEXT: %2386 = OpLabel
+; CHECK-NEXT: %1213 = OpPhi %20 %1214 %2387 %47 %2367
+; CHECK-NEXT: %1215 = OpSLessThan %34 %1213 %50
+; CHECK-NEXT: OpBranchConditional %1215 %2387 %2366
+; CHECK-NEXT: %2366 = OpLabel
+; CHECK-NEXT: %144 = OpIAdd %20 %143 %45
+; CHECK-NEXT: OpBranch %2365
+; CHECK-NEXT: %2387 = OpLabel
+; CHECK-NEXT: %1216 = OpUConvert %33 %1213
+; CHECK-NEXT: %1217 = OpIMul %33 %1212 %48
+; CHECK-NEXT: %1218 = OpIAdd %33 %49 %1217
+; CHECK-NEXT: %1219 = OpIAdd %33 %1218 %1216
+; CHECK-NEXT: %1220 = OpIAdd %33 %1219 %49
+; CHECK-NEXT: %1221 = OpInBoundsPtrAccessChain %17 %111 %1220
+; CHECK-NEXT: %1222 = OpLoad %16 %1221 Aligned 4
+; CHECK-NEXT: %1223 = OpIMul %33 %1212 %40
+; CHECK-NEXT: %1224 = OpIAdd %33 %1223 %1216
+; CHECK-NEXT: %1225 = OpBitcast %32 %99
+; CHECK-NEXT: %1226 = OpInBoundsPtrAccessChain %32 %1225 %1224
+; CHECK-NEXT: OpStore %1226 %1222 Aligned 4
+; CHECK-NEXT: %1214 = OpIAdd %20 %1213 %45
+; CHECK-NEXT: OpBranch %2386
+; CHECK-NEXT: %2363 = OpLabel
+; CHECK-NEXT: %1227 = OpUConvert %33 %138
+; CHECK-NEXT: OpBranch %2388
+; CHECK-NEXT: %2388 = OpLabel
+; CHECK-NEXT: %1228 = OpPhi %20 %1229 %2389 %47 %2363
+; CHECK-NEXT: %1230 = OpSLessThan %34 %1228 %35
+; CHECK-NEXT: OpBranchConditional %1230 %2389 %2362
+; CHECK-NEXT: %2362 = OpLabel
+; CHECK-NEXT: %139 = OpIAdd %20 %138 %45
+; CHECK-NEXT: OpBranch %2361
+; CHECK-NEXT: %2389 = OpLabel
+; CHECK-NEXT: %1231 = OpUConvert %33 %1228
+; CHECK-NEXT: %1232 = OpIMul %33 %1227 %40
+; CHECK-NEXT: %1233 = OpIAdd %33 %1232 %1231
+; CHECK-NEXT: %1234 = OpBitcast %32 %99
+; CHECK-NEXT: %1235 = OpInBoundsPtrAccessChain %32 %1234 %1233
+; CHECK-NEXT: OpStore %1235 %75 Aligned 4
+; CHECK-NEXT: %1229 = OpIAdd %20 %1228 %45
+; CHECK-NEXT: OpBranch %2388
+; CHECK-NEXT: OpFunctionEnd
+ br label %3
+
+3: ; preds = %17, %2
+ %4 = phi i32 [ %18, %17 ], [ 0, %2 ]
+ %5 = icmp slt i32 %4, 8
+ br i1 %5, label %6, label %19
+
+6: ; preds = %3
+ %7 = zext i32 %4 to i64
+ br label %8
+
+8: ; preds = %11, %6
+ %9 = phi i32 [ %16, %11 ], [ 0, %6 ]
+ %10 = icmp slt i32 %9, 8
+ br i1 %10, label %11, label %17
+
+11: ; preds = %8
+ %12 = zext i32 %9 to i64
+ %13 = mul nuw nsw i64 %7, 8
+ %14 = add nuw nsw i64 %13, %12
+ %15 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %14
+ store float 0.000000e+00, ptr addrspace(3) %15, align 4
+ %16 = add i32 %9, 1
+ br label %8
+
+17: ; preds = %8
+ %18 = add i32 %4, 1
+ br label %3
+
+19: ; preds = %3
+ fence syncscope("workgroup") release, !mmra !2
+ call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+ call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+ fence syncscope("workgroup") acquire, !mmra !2
+ br label %20
+
+20: ; preds = %40, %19
+ %21 = phi i32 [ %41, %40 ], [ 0, %19 ]
+ %22 = icmp slt i32 %21, 6
+ br i1 %22, label %23, label %42
+
+23: ; preds = %20
+ %24 = zext i32 %21 to i64
+ br label %25
+
+25: ; preds = %28, %23
+ %26 = phi i32 [ %39, %28 ], [ 0, %23 ]
+ %27 = icmp slt i32 %26, 6
+ br i1 %27, label %28, label %40
+
+28: ; preds = %25
+ %29 = zext i32 %26 to i64
+ %30 = mul nuw nsw i64 %24, 6
+ %31 = add nuw nsw i64 0, %30
+ %32 = add nuw nsw i64 %31, %29
+ %33 = add nuw nsw i64 %32, 0
+ %34 = getelementptr inbounds nuw float, ptr addrspace(1) %0, i64 %33
+ %35 = load float, ptr addrspace(1) %34, align 4
+ %36 = mul nuw nsw i64 %24, 8
+ %37 = add nuw nsw i64 %36, %29
+ %38 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %37
+ store float %35, ptr addrspace(3) %38, align 4
+ %39 = add i32 %26, 1
+ br label %25
+
+40: ; preds = %25
+ %41 = add i32 %21, 1
+ br label %20
+
+42: ; preds = %20
+ fence syncscope("workgroup") release, !mmra !2
+ call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+ call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+ fence syncscope("workgroup") acquire, !mmra !2
+ %43 = load <8 x float>, ptr addrspace(3) @__shared_memory__, align 4
+ %44 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 32), align 4
+ %45 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 64), align 4
+ %46 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 96), align 4
+ %47 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 128), align 4
+ %48 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 160), align 4
+ %49 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 192), align 4
+ %50 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 224), align 4
+ %51 = extractelement <8 x float> %43, i64 0
+ %52 = extractelement <8 x float> %43, i64 1
+ %53 = extractelement <8 x float> %43, i64 2
+ %54 = extractelement <8 x float> %43, i64 3
+ %55 = extractelement <8 x float> %43, i64 4
+ %56 = extractelement <8 x float> %43, i64 5
+ %57 = extractelement <8 x float> %43, i64 6
+ %58 = extractelement <8 x float> %43, i64 7
+ %59 = extractelement <8 x float> %44, i64 0
+ %60 = extractelement <8 x float> %44, i64 1
+ %61 = extractelement <8 x float> %44, i64 2
+ %62 = extractelement <8 x float> %44, i64 3
+ %63 = extractelement <8 x float> %44, i64 4
+ %64 = extractelement <8 x float> %44, i64 5
+ %65 = extractelement <8 x float> %44, i64 6
+ %66 = extractelement <8 x float> %44, i64 7
+ %67 = extractelement <8 x float> %45, i64 0
+ %68 = extractelement <8 x float> %45, i64 1
+ %69 = extractelement <8 x float> %45, i64 2
+ %70 = extractelement <8 x float> %45, i64 3
+ %71 = extractelement <8 x float> %45, i64 4
+ %72 = extractelement <8 x float> %45, i64 5
+ %73 = extractelement <8 x float> %45, i64 6
+ %74 = extractelement <8 x float> %45, i64 7
+ %75 = extractelement <8 x float> %46, i64 0
+ %76 = extractelement <8 x float> %46, i64 1
+ %77 = extractelement <8 x float> %46, i64 2
+ %78 = extractelement <8 x float> %46, i64 3
+ %79 = extractelement <8 x float> %46, i64 4
+ %80 = extractelement <8 x float> %46, i64 5
+ %81 = extractelement <8 x float> %46, i64 6
+ %82 = extractelement <8 x float> %46, i64 7
+ %83 = extractelement <8 x float> %47, i64 0
+ %84 = extractelement <8 x float> %47, i64 1
+ %85 = extractelement <8 x float> %47, i64 2
+ %86 = extractelement <8 x float> %47, i64 3
+ %87 = extractelement <8 x float> %47, i64 4
+ %88 = extractelement <8 x float> %47, i64 5
+ %89 = extractelement <8 x float> %47, i64 6
+ %90 = extractelement <8 x float> %47, i64 7
+ %91 = extractelement <8 x float> %48, i64 0
+ %92 = extractelement <8 x float> %48, i64 1
+ %93 = extractelement <8 x float> %48, i64 2
+ %94 = extractelement <8 x float> %48, i64 3
+ %95 = extractelement <8 x float> %48, i64 4
+ %96 = extractelement <8 x float> %48, i64 5
+ %97 = extractelement <8 x float> %48, i64 6
+ %98 = extractelement <8 x float> %48, i64 7
+ %99 = extractelement <8 x float> %49, i64 0
+ %100 = extractelement <8 x float> %49, i64 1
+ %101 = extractelement <8 x float> %49, i64 2
+ %102 = extractelement <8 x float> %49, i64 3
+ %103 = extractelement <8 x float> %49, i64 4
+ %104 = extractelement <8 x float> %49, i64 5
+ %105 = extractelement <8 x float> %49, i64 6
+ %106 = extractelement <8 x float> %49, i64 7
+ %107 = extractelement <8 x float> %50, i64 0
+ %108 = extractelement <8 x float> %50, i64 1
+ %109 = extractelement <8 x float> %50, i64 2
+ %110 = extractelement <8 x float> %50, i64 3
+ %111 = extractelement <8 x float> %50, i64 4
+ %112 = extractelement <8 x float> %50, i64 5
+ %113 = extractelement <8 x float> %50, i64 6
+ %114 = extractelement <8 x float> %50, i64 7
+ %115 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
+ %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
+ %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
+ %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
+ %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
+ %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
+ %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
+ %122 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+ %123 = insertelement <8 x float> poison, float %51, i32 0
+ %124 = shufflevector <8 x float> %123, <8 x float> poison, <8 x i32> zeroinitializer
+ %125 = shufflevector <8 x float> %124, <8 x float> %124, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %126 = shufflevector <64 x float> %125, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %127 = insertelement <8 x float> poison, float %59, i32 0
+ %128 = shufflevector <8 x float> %127, <8 x float> poison, <8 x i32> zeroinitializer
+ %129 = shufflevector <8 x float> %128, <8 x float> %128, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %130 = shufflevector <64 x float> %129, <64 x float> %126, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %131 = insertelement <8 x float> poison, float %67, i32 0
+ %132 = shufflevector <8 x float> %131, <8 x float> poison, <8 x i32> zeroinitializer
+ %133 = shufflevector <8 x float> %132, <8 x float> %132, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %134 = shufflevector <64 x float> %133, <64 x float> %130, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %135 = insertelement <8 x float> poison, float %75, i32 0
+ %136 = shufflevector <8 x float> %135, <8 x float> poison, <8 x i32> zeroinitializer
+ %137 = shufflevector <8 x float> %136, <8 x float> %136, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %138 = shufflevector <64 x float> %137, <64 x float> %134, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %139 = insertelement <8 x float> poison, float %83, i32 0
+ %140 = shufflevector <8 x float> %139, <8 x float> poison, <8 x i32> zeroinitializer
+ %141 = shufflevector <8 x float> %140, <8 x float> %140, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %142 = shufflevector <64 x float> %141, <64 x float> %138, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %143 = insertelement <8 x float> poison, float %91, i32 0
+ %144 = shufflevector <8 x float> %143, <8 x float> poison, <8 x i32> zeroinitializer
+ %145 = shufflevector <8 x float> %144, <8 x float> %144, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %146 = shufflevector <64 x float> %145, <64 x float> %142, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %147 = insertelement <8 x float> poison, float %99, i32 0
+ %148 = shufflevector <8 x float> %147, <8 x float> poison, <8 x i32> zeroinitializer
+ %149 = shufflevector <8 x float> %148, <8 x float> %148, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %150 = shufflevector <64 x float> %149, <64 x float> %146, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %151 = insertelement <8 x float> poison, float %107, i32 0
+ %152 = shufflevector <8 x float> %151, <8 x float> poison, <8 x i32> zeroinitializer
+ %153 = shufflevector <8 x float> %152, <8 x float> %152, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %154 = shufflevector <64 x float> %153, <64 x float> %150, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %155 = insertelement <8 x float> poison, float %52, i32 0
+ %156 = shufflevector <8 x float> %155, <8 x float> poison, <8 x i32> zeroinitializer
+ %157 = shufflevector <8 x float> %156, <8 x float> %156, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %158 = shufflevector <64 x float> %157, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %159 = insertelement <8 x float> poison, float %60, i32 0
+ %160 = shufflevector <8 x float> %159, <8 x float> poison, <8 x i32> zeroinitializer
+ %161 = shufflevector <8 x float> %160, <8 x float> %160, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %162 = shufflevector <64 x float> %161, <64 x float> %158, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %163 = insertelement <8 x float> poison, float %68, i32 0
+ %164 = shufflevector <8 x float> %163, <8 x float> poison, <8 x i32> zeroinitializer
+ %165 = shufflevector <8 x float> %164, <8 x float> %164, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %166 = shufflevector <64 x float> %165, <64 x float> %162, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %167 = insertelement <8 x float> poison, float %76, i32 0
+ %168 = shufflevector <8 x float> %167, <8 x float> poison, <8 x i32> zeroinitializer
+ %169 = shufflevector <8 x float> %168, <8 x float> %168, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %170 = shufflevector <64 x float> %169, <64 x float> %166, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %171 = insertelement <8 x float> poison, float %84, i32 0
+ %172 = shufflevector <8 x float> %171, <8 x float> poison, <8 x i32> zeroinitializer
+ %173 = shufflevector <8 x float> %172, <8 x float> %172, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %174 = shufflevector <64 x float> %173, <64 x float> %170, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %175 = insertelement <8 x float> poison, float %92, i32 0
+ %176 = shufflevector <8 x float> %175, <8 x float> poison, <8 x i32> zeroinitializer
+ %177 = shufflevector <8 x float> %176, <8 x float> %176, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %178 = shufflevector <64 x float> %177, <64 x float> %174, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %179 = insertelement <8 x float> poison, float %100, i32 0
+ %180 = shufflevector <8 x float> %179, <8 x float> poison, <8 x i32> zeroinitializer
+ %181 = shufflevector <8 x float> %180, <8 x float> %180, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %182 = shufflevector <64 x float> %181, <64 x float> %178, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %183 = insertelement <8 x float> poison, float %108, i32 0
+ %184 = shufflevector <8 x float> %183, <8 x float> poison, <8 x i32> zeroinitializer
+ %185 = shufflevector <8 x float> %184, <8 x float> %184, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %186 = shufflevector <64 x float> %185, <64 x float> %182, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %187 = insertelement <8 x float> poison, float %53, i32 0
+ %188 = shufflevector <8 x float> %187, <8 x float> poison, <8 x i32> zeroinitializer
+ %189 = shufflevector <8 x float> %188, <8 x float> %188, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %190 = shufflevector <64 x float> %189, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %191 = insertelement <8 x float> poison, float %61, i32 0
+ %192 = shufflevector <8 x float> %191, <8 x float> poison, <8 x i32> zeroinitializer
+ %193 = shufflevector <8 x float> %192, <8 x float> %192, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %194 = shufflevector <64 x float> %193, <64 x float> %190, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %195 = insertelement <8 x float> poison, float %69, i32 0
+ %196 = shufflevector <8 x float> %195, <8 x float> poison, <8 x i32> zeroinitializer
+ %197 = shufflevector <8 x float> %196, <8 x float> %196, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %198 = shufflevector <64 x float> %197, <64 x float> %194, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %199 = insertelement <8 x float> poison, float %77, i32 0
+ %200 = shufflevector <8 x float> %199, <8 x float> poison, <8 x i32> zeroinitializer
+ %201 = shufflevector <8 x float> %200, <8 x float> %200, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %202 = shufflevector <64 x float> %201, <64 x float> %198, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %203 = insertelement <8 x float> poison, float %85, i32 0
+ %204 = shufflevector <8 x float> %203, <8 x float> poison, <8 x i32> zeroinitializer
+ %205 = shufflevector <8 x float> %204, <8 x float> %204, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %206 = shufflevector <64 x float> %205, <64 x float> %202, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %207 = insertelement <8 x float> poison, float %93, i32 0
+ %208 = shufflevector <8 x float> %207, <8 x float> poison, <8 x i32> zeroinitializer
+ %209 = shufflevector <8 x float> %208, <8 x float> %208, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %210 = shufflevector <64 x float> %209, <64 x float> %206, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %211 = insertelement <8 x float> poison, float %101, i32 0
+ %212 = shufflevector <8 x float> %211, <8 x float> poison, <8 x i32> zeroinitializer
+ %213 = shufflevector <8 x float> %212, <8 x float> %212, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %214 = shufflevector <64 x float> %213, <64 x float> %210, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %215 = insertelement <8 x float> poison, float %109, i32 0
+ %216 = shufflevector <8 x float> %215, <8 x float> poison, <8 x i32> zeroinitializer
+ %217 = shufflevector <8 x float> %216, <8 x float> %216, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %218 = shufflevector <64 x float> %217, <64 x float> %214, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %219 = insertelement <8 x float> poison, float %54, i32 0
+ %220 = shufflevector <8 x float> %219, <8 x float> poison, <8 x i32> zeroinitializer
+ %221 = shufflevector <8 x float> %220, <8 x float> %220, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %222 = shufflevector <64 x float> %221, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %223 = insertelement <8 x float> poison, float %62, i32 0
+ %224 = shufflevector <8 x float> %223, <8 x float> poison, <8 x i32> zeroinitializer
+ %225 = shufflevector <8 x float> %224, <8 x float> %224, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %226 = shufflevector <64 x float> %225, <64 x float> %222, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %227 = insertelement <8 x float> poison, float %70, i32 0
+ %228 = shufflevector <8 x float> %227, <8 x float> poison, <8 x i32> zeroinitializer
+ %229 = shufflevector <8 x float> %228, <8 x float> %228, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %230 = shufflevector <64 x float> %229, <64 x float> %226, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %231 = insertelement <8 x float> poison, float %78, i32 0
+ %232 = shufflevector <8 x float> %231, <8 x float> poison, <8 x i32> zeroinitializer
+ %233 = shufflevector <8 x float> %232, <8 x float> %232, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %234 = shufflevector <64 x float> %233, <64 x float> %230, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %235 = insertelement <8 x float> poison, float %86, i32 0
+ %236 = shufflevector <8 x float> %235, <8 x float> poison, <8 x i32> zeroinitializer
+ %237 = shufflevector <8 x float> %236, <8 x float> %236, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %238 = shufflevector <64 x float> %237, <64 x float> %234, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %239 = insertelement <8 x float> poison, float %94, i32 0
+ %240 = shufflevector <8 x float> %239, <8 x float> poison, <8 x i32> zeroinitializer
+ %241 = shufflevector <8 x float> %240, <8 x float> %240, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %242 = shufflevector <64 x float> %241, <64 x float> %238, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %243 = insertelement <8 x float> poison, float %102, i32 0
+ %244 = shufflevector <8 x float> %243, <8 x float> poison, <8 x i32> zeroinitializer
+ %245 = shufflevector <8 x float> %244, <8 x float> %244, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %246 = shufflevector <64 x float> %245, <64 x float> %242, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %247 = insertelement <8 x float> poison, float %110, i32 0
+ %248 = shufflevector <8 x float> %247, <8 x float> poison, <8 x i32> zeroinitializer
+ %249 = shufflevector <8 x float> %248, <8 x float> %248, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %250 = shufflevector <64 x float> %249, <64 x float> %246, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %251 = insertelement <8 x float> poison, float %55, i32 0
+ %252 = shufflevector <8 x float> %251, <8 x float> poison, <8 x i32> zeroinitializer
+ %253 = shufflevector <8 x float> %252, <8 x float> %252, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %254 = shufflevector <64 x float> %253, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %255 = insertelement <8 x float> poison, float %63, i32 0
+ %256 = shufflevector <8 x float> %255, <8 x float> poison, <8 x i32> zeroinitializer
+ %257 = shufflevector <8 x float> %256, <8 x float> %256, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %258 = shufflevector <64 x float> %257, <64 x float> %254, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %259 = insertelement <8 x float> poison, float %71, i32 0
+ %260 = shufflevector <8 x float> %259, <8 x float> poison, <8 x i32> zeroinitializer
+ %261 = shufflevector <8 x float> %260, <8 x float> %260, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %262 = shufflevector <64 x float> %261, <64 x float> %258, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %263 = insertelement <8 x float> poison, float %79, i32 0
+ %264 = shufflevector <8 x float> %263, <8 x float> poison, <8 x i32> zeroinitializer
+ %265 = shufflevector <8 x float> %264, <8 x float> %264, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %266 = shufflevector <64 x float> %265, <64 x float> %262, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %267 = insertelement <8 x float> poison, float %87, i32 0
+ %268 = shufflevector <8 x float> %267, <8 x float> poison, <8 x i32> zeroinitializer
+ %269 = shufflevector <8 x float> %268, <8 x float> %268, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %270 = shufflevector <64 x float> %269, <64 x float> %266, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %271 = insertelement <8 x float> poison, float %95, i32 0
+ %272 = shufflevector <8 x float> %271, <8 x float> poison, <8 x i32> zeroinitializer
+ %273 = shufflevector <8 x float> %272, <8 x float> %272, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %274 = shufflevector <64 x float> %273, <64 x float> %270, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %275 = insertelement <8 x float> poison, float %103, i32 0
+ %276 = shufflevector <8 x float> %275, <8 x float> poison, <8 x i32> zeroinitializer
+ %277 = shufflevector <8 x float> %276, <8 x float> %276, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %278 = shufflevector <64 x float> %277, <64 x float> %274, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %279 = insertelement <8 x float> poison, float %111, i32 0
+ %280 = shufflevector <8 x float> %279, <8 x float> poison, <8 x i32> zeroinitializer
+ %281 = shufflevector <8 x float> %280, <8 x float> %280, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %282 = shufflevector <64 x float> %281, <64 x float> %278, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %283 = insertelement <8 x float> poison, float %56, i32 0
+ %284 = shufflevector <8 x float> %283, <8 x float> poison, <8 x i32> zeroinitializer
+ %285 = shufflevector <8 x float> %284, <8 x float> %284, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %286 = shufflevector <64 x float> %285, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %287 = insertelement <8 x float> poison, float %64, i32 0
+ %288 = shufflevector <8 x float> %287, <8 x float> poison, <8 x i32> zeroinitializer
+ %289 = shufflevector <8 x float> %288, <8 x float> %288, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %290 = shufflevector <64 x float> %289, <64 x float> %286, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %291 = insertelement <8 x float> poison, float %72, i32 0
+ %292 = shufflevector <8 x float> %291, <8 x float> poison, <8 x i32> zeroinitializer
+ %293 = shufflevector <8 x float> %292, <8 x float> %292, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %294 = shufflevector <64 x float> %293, <64 x float> %290, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %295 = insertelement <8 x float> poison, float %80, i32 0
+ %296 = shufflevector <8 x float> %295, <8 x float> poison, <8 x i32> zeroinitializer
+ %297 = shufflevector <8 x float> %296, <8 x float> %296, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %298 = shufflevector <64 x float> %297, <64 x float> %294, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %299 = insertelement <8 x float> poison, float %88, i32 0
+ %300 = shufflevector <8 x float> %299, <8 x float> poison, <8 x i32> zeroinitializer
+ %301 = shufflevector <8 x float> %300, <8 x float> %300, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %302 = shufflevector <64 x float> %301, <64 x float> %298, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %303 = insertelement <8 x float> poison, float %96, i32 0
+ %304 = shufflevector <8 x float> %303, <8 x float> poison, <8 x i32> zeroinitializer
+ %305 = shufflevector <8 x float> %304, <8 x float> %304, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %306 = shufflevector <64 x float> %305, <64 x float> %302, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %307 = insertelement <8 x float> poison, float %104, i32 0
+ %308 = shufflevector <8 x float> %307, <8 x float> poison, <8 x i32> zeroinitializer
+ %309 = shufflevector <8 x float> %308, <8 x float> %308, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %310 = shufflevector <64 x float> %309, <64 x float> %306, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %311 = insertelement <8 x float> poison, float %112, i32 0
+ %312 = shufflevector <8 x float> %311, <8 x float> poison, <8 x i32> zeroinitializer
+ %313 = shufflevector <8 x float> %312, <8 x float> %312, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %314 = shufflevector <64 x float> %313, <64 x float> %310, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %315 = insertelement <8 x float> poison, float %57, i32 0
+ %316 = shufflevector <8 x float> %315, <8 x float> poison, <8 x i32> zeroinitializer
+ %317 = shufflevector <8 x float> %316, <8 x float> %316, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %318 = shufflevector <64 x float> %317, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %319 = insertelement <8 x float> poison, float %65, i32 0
+ %320 = shufflevector <8 x float> %319, <8 x float> poison, <8 x i32> zeroinitializer
+ %321 = shufflevector <8 x float> %320, <8 x float> %320, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %322 = shufflevector <64 x float> %321, <64 x float> %318, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %323 = insertelement <8 x float> poison, float %73, i32 0
+ %324 = shufflevector <8 x float> %323, <8 x float> poison, <8 x i32> zeroinitializer
+ %325 = shufflevector <8 x float> %324, <8 x float> %324, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %326 = shufflevector <64 x float> %325, <64 x float> %322, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %327 = insertelement <8 x float> poison, float %81, i32 0
+ %328 = shufflevector <8 x float> %327, <8 x float> poison, <8 x i32> zeroinitializer
+ %329 = shufflevector <8 x float> %328, <8 x float> %328, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %330 = shufflevector <64 x float> %329, <64 x float> %326, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %331 = insertelement <8 x float> poison, float %89, i32 0
+ %332 = shufflevector <8 x float> %331, <8 x float> poison, <8 x i32> zeroinitializer
+ %333 = shufflevector <8 x float> %332, <8 x float> %332, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %334 = shufflevector <64 x float> %333, <64 x float> %330, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %335 = insertelement <8 x float> poison, float %97, i32 0
+ %336 = shufflevector <8 x float> %335, <8 x float> poison, <8 x i32> zeroinitializer
+ %337 = shufflevector <8 x float> %336, <8 x float> %336, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %338 = shufflevector <64 x float> %337, <64 x float> %334, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %339 = insertelement <8 x float> poison, float %105, i32 0
+ %340 = shufflevector <8 x float> %339, <8 x float> poison, <8 x i32> zeroinitializer
+ %341 = shufflevector <8 x float> %340, <8 x float> %340, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %342 = shufflevector <64 x float> %341, <64 x float> %338, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %343 = insertelement <8 x float> poison, float %113, i32 0
+ %344 = shufflevector <8 x float> %343, <8 x float> poison, <8 x i32> zeroinitializer
+ %345 = shufflevector <8 x float> %344, <8 x float> %344, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %346 = shufflevector <64 x float> %345, <64 x float> %342, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %347 = insertelement <8 x float> poison, float %58, i32 0
+ %348 = shufflevector <8 x float> %347, <8 x float> poison, <8 x i32> zeroinitializer
+ %349 = shufflevector <8 x float> %348, <8 x float> %348, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %350 = shufflevector <64 x float> %349, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %351 = insertelement <8 x float> poison, float %66, i32 0
+ %352 = shufflevector <8 x float> %351, <8 x float> poison, <8 x i32> zeroinitializer
+ %353 = shufflevector <8 x float> %352, <8 x float> %352, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %354 = shufflevector <64 x float> %353, <64 x float> %350, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %355 = insertelement <8 x float> poison, float %74, i32 0
+ %356 = shufflevector <8 x float> %355, <8 x float> poison, <8 x i32> zeroinitializer
+ %357 = shufflevector <8 x float> %356, <8 x float> %356, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %358 = shufflevector <64 x float> %357, <64 x float> %354, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %359 = insertelement <8 x float> poison, float %82, i32 0
+ %360 = shufflevector <8 x float> %359, <8 x float> poison, <8 x i32> zeroinitializer
+ %361 = shufflevector <8 x float> %360, <8 x float> %360, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %362 = shufflevector <64 x float> %361, <64 x float> %358, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %363 = insertelement <8 x float> poison, float %90, i32 0
+ %364 = shufflevector <8 x float> %363, <8 x float> poison, <8 x i32> zeroinitializer
+ %365 = shufflevector <8 x float> %364, <8 x float> %364, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %366 = shufflevector <64 x float> %365, <64 x float> %362, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %367 = insertelement <8 x float> poison, float %98, i32 0
+ %368 = shufflevector <8 x float> %367, <8 x float> poison, <8 x i32> zeroinitializer
+ %369 = shufflevector <8 x float> %368, <8 x float> %368, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %370 = shufflevector <64 x float> %369, <64 x float> %366, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %371 = insertelement <8 x float> poison, float %106, i32 0
+ %372 = shufflevector <8 x float> %371, <8 x float> poison, <8 x i32> zeroinitializer
+ %373 = shufflevector <8 x float> %372, <8 x float> %372, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %374 = shufflevector <64 x float> %373, <64 x float> %370, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %375 = insertelement <8 x float> poison, float %114, i32 0
+ %376 = shufflevector <8 x float> %375, <8 x float> poison, <8 x i32> zeroinitializer
+ %377 = shufflevector <8 x float> %376, <8 x float> %376, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %378 = shufflevector <64 x float> %377, <64 x float> %374, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %379 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %380 = shufflevector <64 x float> %379, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %381 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %382 = shufflevector <64 x float> %381, <64 x float> %380, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %383 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %384 = shufflevector <64 x float> %383, <64 x float> %382, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %385 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %386 = shufflevector <64 x float> %385, <64 x float> %384, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %387 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %388 = shufflevector <64 x float> %387, <64 x float> %386, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %389 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %390 = shufflevector <64 x float> %389, <64 x float> %388, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %391 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %392 = shufflevector <64 x float> %391, <64 x float> %390, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %393 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %394 = shufflevector <64 x float> %393, <64 x float> %392, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %395 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %396 = shufflevector <64 x float> %395, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %397 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %398 = shufflevector <64 x float> %397, <64 x float> %396, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %399 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %400 = shufflevector <64 x float> %399, <64 x float> %398, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %401 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %402 = shufflevector <64 x float> %401, <64 x float> %400, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %403 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %404 = shufflevector <64 x float> %403, <64 x float> %402, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %405 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %406 = shufflevector <64 x float> %405, <64 x float> %404, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %407 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %408 = shufflevector <64 x float> %407, <64 x float> %406, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %409 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %410 = shufflevector <64 x float> %409, <64 x float> %408, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %411 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %412 = shufflevector <64 x float> %411, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %413 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %414 = shufflevector <64 x float> %413, <64 x float> %412, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %415 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %416 = shufflevector <64 x float> %415, <64 x float> %414, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %417 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %418 = shufflevector <64 x float> %417, <64 x float> %416, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %419 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %420 = shufflevector <64 x float> %419, <64 x float> %418, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %421 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %422 = shufflevector <64 x float> %421, <64 x float> %420, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %423 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %424 = shufflevector <64 x float> %423, <64 x float> %422, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %425 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %426 = shufflevector <64 x float> %425, <64 x float> %424, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %427 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %428 = shufflevector <64 x float> %427, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %429 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %430 = shufflevector <64 x float> %429, <64 x float> %428, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %431 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %432 = shufflevector <64 x float> %431, <64 x float> %430, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %433 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %434 = shufflevector <64 x float> %433, <64 x float> %432, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %435 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %436 = shufflevector <64 x float> %435, <64 x float> %434, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %437 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %438 = shufflevector <64 x float> %437, <64 x float> %436, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %439 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %440 = shufflevector <64 x float> %439, <64 x float> %438, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %441 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %442 = shufflevector <64 x float> %441, <64 x float> %440, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %443 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %444 = shufflevector <64 x float> %443, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %445 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %446 = shufflevector <64 x float> %445, <64 x float> %444, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %447 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %448 = shufflevector <64 x float> %447, <64 x float> %446, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %449 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %450 = shufflevector <64 x float> %449, <64 x float> %448, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %451 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %452 = shufflevector <64 x float> %451, <64 x float> %450, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %453 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %454 = shufflevector <64 x float> %453, <64 x float> %452, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %455 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %456 = shufflevector <64 x float> %455, <64 x float> %454, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %457 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %458 = shufflevector <64 x float> %457, <64 x float> %456, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %459 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %460 = shufflevector <64 x float> %459, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %461 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %462 = shufflevector <64 x float> %461, <64 x float> %460, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %463 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %464 = shufflevector <64 x float> %463, <64 x float> %462, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %465 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %466 = shufflevector <64 x float> %465, <64 x float> %464, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %467 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %468 = shufflevector <64 x float> %467, <64 x float> %466, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %469 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %470 = shufflevector <64 x float> %469, <64 x float> %468, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %471 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %472 = shufflevector <64 x float> %471, <64 x float> %470, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %473 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %474 = shufflevector <64 x float> %473, <64 x float> %472, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %475 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %476 = shufflevector <64 x float> %475, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %477 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %478 = shufflevector <64 x float> %477, <64 x float> %476, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %479 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %480 = shufflevector <64 x float> %479, <64 x float> %478, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %481 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %482 = shufflevector <64 x float> %481, <64 x float> %480, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %483 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %484 = shufflevector <64 x float> %483, <64 x float> %482, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %485 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %486 = shufflevector <64 x float> %485, <64 x float> %484, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %487 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %488 = shufflevector <64 x float> %487, <64 x float> %486, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %489 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %490 = shufflevector <64 x float> %489, <64 x float> %488, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %491 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %492 = shufflevector <64 x float> %491, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %493 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %494 = shufflevector <64 x float> %493, <64 x float> %492, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %495 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %496 = shufflevector <64 x float> %495, <64 x float> %494, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %497 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %498 = shufflevector <64 x float> %497, <64 x float> %496, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %499 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %500 = shufflevector <64 x float> %499, <64 x float> %498, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %501 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %502 = shufflevector <64 x float> %501, <64 x float> %500, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %503 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %504 = shufflevector <64 x float> %503, <64 x float> %502, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %505 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %506 = shufflevector <64 x float> %505, <64 x float> %504, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %507 = call <64 x float> @llvm.fma.v64f32(<64 x float> %378, <64 x float> %506, <64 x float> zeroinitializer)
+ %508 = call <64 x float> @llvm.fma.v64f32(<64 x float> %346, <64 x float> %490, <64 x float> %507)
+ %509 = call <64 x float> @llvm.fma.v64f32(<64 x float> %314, <64 x float> %474, <64 x float> %508)
+ %510 = call <64 x float> @llvm.fma.v64f32(<64 x float> %282, <64 x float> %458, <64 x float> %509)
+ %511 = call <64 x float> @llvm.fma.v64f32(<64 x float> %250, <64 x float> %442, <64 x float> %510)
+ %512 = call <64 x float> @llvm.fma.v64f32(<64 x float> %218, <64 x float> %426, <64 x float> %511)
+ %513 = call <64 x float> @llvm.fma.v64f32(<64 x float> %186, <64 x float> %410, <64 x float> %512)
+ %514 = call <64 x float> @llvm.fma.v64f32(<64 x float> %154, <64 x float> %394, <64 x float> %513)
+ %515 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %516 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+ %517 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+ %518 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ %519 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+ %520 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+ %521 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+ %522 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ %523 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
+ %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
+ %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
+ %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
+ %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
+ %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
+ %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
+ %530 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+ %531 = extractelement <8 x float> %523, i64 0
+ %532 = extractelement <8 x float> %523, i64 1
+ %533 = extractelement <8 x float> %523, i64 2
+ %534 = extractelement <8 x float> %523, i64 3
+ %535 = extractelement <8 x float> %523, i64 4
+ %536 = extractelement <8 x float> %523, i64 5
+ %537 = extractelement <8 x float> %523, i64 6
+ %538 = extractelement <8 x float> %523, i64 7
+ %539 = extractelement <8 x float> %524, i64 0
+ %540 = extractelement <8 x float> %524, i64 1
+ %541 = extractelement <8 x float> %524, i64 2
+ %542 = extractelement <8 x float> %524, i64 3
+ %543 = extractelement <8 x float> %524, i64 4
+ %544 = extractelement <8 x float> %524, i64 5
+ %545 = extractelement <8 x float> %524, i64 6
+ %546 = extractelement <8 x float> %524, i64 7
+ %547 = extractelement <8 x float> %525, i64 0
+ %548 = extractelement <8 x float> %525, i64 1
+ %549 = extractelement <8 x float> %525, i64 2
+ %550 = extractelement <8 x float> %525, i64 3
+ %551 = extractelement <8 x float> %525, i64 4
+ %552 = extractelement <8 x float> %525, i64 5
+ %553 = extractelement <8 x float> %525, i64 6
+ %554 = extractelement <8 x float> %525, i64 7
+ %555 = extractelement <8 x float> %526, i64 0
+ %556 = extractelement <8 x float> %526, i64 1
+ %557 = extractelement <8 x float> %526, i64 2
+ %558 = extractelement <8 x float> %526, i64 3
+ %559 = extractelement <8 x float> %526, i64 4
+ %560 = extractelement <8 x float> %526, i64 5
+ %561 = extractelement <8 x float> %526, i64 6
+ %562 = extractelement <8 x float> %526, i64 7
+ %563 = extractelement <8 x float> %527, i64 0
+ %564 = extractelement <8 x float> %527, i64 1
+ %565 = extractelement <8 x float> %527, i64 2
+ %566 = extractelement <8 x float> %527, i64 3
+ %567 = extractelement <8 x float> %527, i64 4
+ %568 = extractelement <8 x float> %527, i64 5
+ %569 = extractelement <8 x float> %527, i64 6
+ %570 = extractelement <8 x float> %527, i64 7
+ %571 = extractelement <8 x float> %528, i64 0
+ %572 = extractelement <8 x float> %528, i64 1
+ %573 = extractelement <8 x float> %528, i64 2
+ %574 = extractelement <8 x float> %528, i64 3
+ %575 = extractelement <8 x float> %528, i64 4
+ %576 = extractelement <8 x float> %528, i64 5
+ %577 = extractelement <8 x float> %528, i64 6
+ %578 = extractelement <8 x float> %528, i64 7
+ %579 = extractelement <8 x float> %529, i64 0
+ %580 = extractelement <8 x float> %529, i64 1
+ %581 = extractelement <8 x float> %529, i64 2
+ %582 = extractelement <8 x float> %529, i64 3
+ %583 = extractelement <8 x float> %529, i64 4
+ %584 = extractelement <8 x float> %529, i64 5
+ %585 = extractelement <8 x float> %529, i64 6
+ %586 = extractelement <8 x float> %529, i64 7
+ %587 = extractelement <8 x float> %530, i64 0
+ %588 = extractelement <8 x float> %530, i64 1
+ %589 = extractelement <8 x float> %530, i64 2
+ %590 = extractelement <8 x float> %530, i64 3
+ %591 = extractelement <8 x float> %530, i64 4
+ %592 = extractelement <8 x float> %530, i64 5
+ %593 = extractelement <8 x float> %530, i64 6
+ %594 = extractelement <8 x float> %530, i64 7
+ %595 = insertelement <8 x float> poison, float %531, i32 0
+ %596 = shufflevector <8 x float> %595, <8 x float> poison, <8 x i32> zeroinitializer
+ %597 = shufflevector <8 x float> %596, <8 x float> %596, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %598 = shufflevector <64 x float> %597, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %599 = insertelement <8 x float> poison, float %539, i32 0
+ %600 = shufflevector <8 x float> %599, <8 x float> poison, <8 x i32> zeroinitializer
+ %601 = shufflevector <8 x float> %600, <8 x float> %600, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %602 = shufflevector <64 x float> %601, <64 x float> %598, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %603 = insertelement <8 x float> poison, float %547, i32 0
+ %604 = shufflevector <8 x float> %603, <8 x float> poison, <8 x i32> zeroinitializer
+ %605 = shufflevector <8 x float> %604, <8 x float> %604, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %606 = shufflevector <64 x float> %605, <64 x float> %602, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %607 = insertelement <8 x float> poison, float %555, i32 0
+ %608 = shufflevector <8 x float> %607, <8 x float> poison, <8 x i32> zeroinitializer
+ %609 = shufflevector <8 x float> %608, <8 x float> %608, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %610 = shufflevector <64 x float> %609, <64 x float> %606, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %611 = insertelement <8 x float> poison, float %563, i32 0
+ %612 = shufflevector <8 x float> %611, <8 x float> poison, <8 x i32> zeroinitializer
+ %613 = shufflevector <8 x float> %612, <8 x float> %612, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %614 = shufflevector <64 x float> %613, <64 x float> %610, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %615 = insertelement <8 x float> poison, float %571, i32 0
+ %616 = shufflevector <8 x float> %615, <8 x float> poison, <8 x i32> zeroinitializer
+ %617 = shufflevector <8 x float> %616, <8 x float> %616, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %618 = shufflevector <64 x float> %617, <64 x float> %614, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %619 = insertelement <8 x float> poison, float %579, i32 0
+ %620 = shufflevector <8 x float> %619, <8 x float> poison, <8 x i32> zeroinitializer
+ %621 = shufflevector <8 x float> %620, <8 x float> %620, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %622 = shufflevector <64 x float> %621, <64 x float> %618, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %623 = insertelement <8 x float> poison, float %587, i32 0
+ %624 = shufflevector <8 x float> %623, <8 x float> poison, <8 x i32> zeroinitializer
+ %625 = shufflevector <8 x float> %624, <8 x float> %624, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %626 = shufflevector <64 x float> %625, <64 x float> %622, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %627 = insertelement <8 x float> poison, float %532, i32 0
+ %628 = shufflevector <8 x float> %627, <8 x float> poison, <8 x i32> zeroinitializer
+ %629 = shufflevector <8 x float> %628, <8 x float> %628, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %630 = shufflevector <64 x float> %629, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %631 = insertelement <8 x float> poison, float %540, i32 0
+ %632 = shufflevector <8 x float> %631, <8 x float> poison, <8 x i32> zeroinitializer
+ %633 = shufflevector <8 x float> %632, <8 x float> %632, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %634 = shufflevector <64 x float> %633, <64 x float> %630, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %635 = insertelement <8 x float> poison, float %548, i32 0
+ %636 = shufflevector <8 x float> %635, <8 x float> poison, <8 x i32> zeroinitializer
+ %637 = shufflevector <8 x float> %636, <8 x float> %636, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %638 = shufflevector <64 x float> %637, <64 x float> %634, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %639 = insertelement <8 x float> poison, float %556, i32 0
+ %640 = shufflevector <8 x float> %639, <8 x float> poison, <8 x i32> zeroinitializer
+ %641 = shufflevector <8 x float> %640, <8 x float> %640, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %642 = shufflevector <64 x float> %641, <64 x float> %638, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %643 = insertelement <8 x float> poison, float %564, i32 0
+ %644 = shufflevector <8 x float> %643, <8 x float> poison, <8 x i32> zeroinitializer
+ %645 = shufflevector <8 x float> %644, <8 x float> %644, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %646 = shufflevector <64 x float> %645, <64 x float> %642, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %647 = insertelement <8 x float> poison, float %572, i32 0
+ %648 = shufflevector <8 x float> %647, <8 x float> poison, <8 x i32> zeroinitializer
+ %649 = shufflevector <8 x float> %648, <8 x float> %648, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %650 = shufflevector <64 x float> %649, <64 x float> %646, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %651 = insertelement <8 x float> poison, float %580, i32 0
+ %652 = shufflevector <8 x float> %651, <8 x float> poison, <8 x i32> zeroinitializer
+ %653 = shufflevector <8 x float> %652, <8 x float> %652, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %654 = shufflevector <64 x float> %653, <64 x float> %650, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %655 = insertelement <8 x float> poison, float %588, i32 0
+ %656 = shufflevector <8 x float> %655, <8 x float> poison, <8 x i32> zeroinitializer
+ %657 = shufflevector <8 x float> %656, <8 x float> %656, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %658 = shufflevector <64 x float> %657, <64 x float> %654, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %659 = insertelement <8 x float> poison, float %533, i32 0
+ %660 = shufflevector <8 x float> %659, <8 x float> poison, <8 x i32> zeroinitializer
+ %661 = shufflevector <8 x float> %660, <8 x float> %660, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %662 = shufflevector <64 x float> %661, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %663 = insertelement <8 x float> poison, float %541, i32 0
+ %664 = shufflevector <8 x float> %663, <8 x float> poison, <8 x i32> zeroinitializer
+ %665 = shufflevector <8 x float> %664, <8 x float> %664, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %666 = shufflevector <64 x float> %665, <64 x float> %662, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %667 = insertelement <8 x float> poison, float %549, i32 0
+ %668 = shufflevector <8 x float> %667, <8 x float> poison, <8 x i32> zeroinitializer
+ %669 = shufflevector <8 x float> %668, <8 x float> %668, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %670 = shufflevector <64 x float> %669, <64 x float> %666, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %671 = insertelement <8 x float> poison, float %557, i32 0
+ %672 = shufflevector <8 x float> %671, <8 x float> poison, <8 x i32> zeroinitializer
+ %673 = shufflevector <8 x float> %672, <8 x float> %672, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %674 = shufflevector <64 x float> %673, <64 x float> %670, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %675 = insertelement <8 x float> poison, float %565, i32 0
+ %676 = shufflevector <8 x float> %675, <8 x float> poison, <8 x i32> zeroinitializer
+ %677 = shufflevector <8 x float> %676, <8 x float> %676, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %678 = shufflevector <64 x float> %677, <64 x float> %674, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %679 = insertelement <8 x float> poison, float %573, i32 0
+ %680 = shufflevector <8 x float> %679, <8 x float> poison, <8 x i32> zeroinitializer
+ %681 = shufflevector <8 x float> %680, <8 x float> %680, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %682 = shufflevector <64 x float> %681, <64 x float> %678, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %683 = insertelement <8 x float> poison, float %581, i32 0
+ %684 = shufflevector <8 x float> %683, <8 x float> poison, <8 x i32> zeroinitializer
+ %685 = shufflevector <8 x float> %684, <8 x float> %684, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %686 = shufflevector <64 x float> %685, <64 x float> %682, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %687 = insertelement <8 x float> poison, float %589, i32 0
+ %688 = shufflevector <8 x float> %687, <8 x float> poison, <8 x i32> zeroinitializer
+ %689 = shufflevector <8 x float> %688, <8 x float> %688, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %690 = shufflevector <64 x float> %689, <64 x float> %686, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %691 = insertelement <8 x float> poison, float %534, i32 0
+ %692 = shufflevector <8 x float> %691, <8 x float> poison, <8 x i32> zeroinitializer
+ %693 = shufflevector <8 x float> %692, <8 x float> %692, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %694 = shufflevector <64 x float> %693, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %695 = insertelement <8 x float> poison, float %542, i32 0
+ %696 = shufflevector <8 x float> %695, <8 x float> poison, <8 x i32> zeroinitializer
+ %697 = shufflevector <8 x float> %696, <8 x float> %696, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %698 = shufflevector <64 x float> %697, <64 x float> %694, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %699 = insertelement <8 x float> poison, float %550, i32 0
+ %700 = shufflevector <8 x float> %699, <8 x float> poison, <8 x i32> zeroinitializer
+ %701 = shufflevector <8 x float> %700, <8 x float> %700, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %702 = shufflevector <64 x float> %701, <64 x float> %698, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %703 = insertelement <8 x float> poison, float %558, i32 0
+ %704 = shufflevector <8 x float> %703, <8 x float> poison, <8 x i32> zeroinitializer
+ %705 = shufflevector <8 x float> %704, <8 x float> %704, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %706 = shufflevector <64 x float> %705, <64 x float> %702, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %707 = insertelement <8 x float> poison, float %566, i32 0
+ %708 = shufflevector <8 x float> %707, <8 x float> poison, <8 x i32> zeroinitializer
+ %709 = shufflevector <8 x float> %708, <8 x float> %708, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %710 = shufflevector <64 x float> %709, <64 x float> %706, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %711 = insertelement <8 x float> poison, float %574, i32 0
+ %712 = shufflevector <8 x float> %711, <8 x float> poison, <8 x i32> zeroinitializer
+ %713 = shufflevector <8 x float> %712, <8 x float> %712, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %714 = shufflevector <64 x float> %713, <64 x float> %710, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %715 = insertelement <8 x float> poison, float %582, i32 0
+ %716 = shufflevector <8 x float> %715, <8 x float> poison, <8 x i32> zeroinitializer
+ %717 = shufflevector <8 x float> %716, <8 x float> %716, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %718 = shufflevector <64 x float> %717, <64 x float> %714, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %719 = insertelement <8 x float> poison, float %590, i32 0
+ %720 = shufflevector <8 x float> %719, <8 x float> poison, <8 x i32> zeroinitializer
+ %721 = shufflevector <8 x float> %720, <8 x float> %720, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %722 = shufflevector <64 x float> %721, <64 x float> %718, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %723 = insertelement <8 x float> poison, float %535, i32 0
+ %724 = shufflevector <8 x float> %723, <8 x float> poison, <8 x i32> zeroinitializer
+ %725 = shufflevector <8 x float> %724, <8 x float> %724, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %726 = shufflevector <64 x float> %725, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %727 = insertelement <8 x float> poison, float %543, i32 0
+ %728 = shufflevector <8 x float> %727, <8 x float> poison, <8 x i32> zeroinitializer
+ %729 = shufflevector <8 x float> %728, <8 x float> %728, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %730 = shufflevector <64 x float> %729, <64 x float> %726, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %731 = insertelement <8 x float> poison, float %551, i32 0
+ %732 = shufflevector <8 x float> %731, <8 x float> poison, <8 x i32> zeroinitializer
+ %733 = shufflevector <8 x float> %732, <8 x float> %732, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %734 = shufflevector <64 x float> %733, <64 x float> %730, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %735 = insertelement <8 x float> poison, float %559, i32 0
+ %736 = shufflevector <8 x float> %735, <8 x float> poison, <8 x i32> zeroinitializer
+ %737 = shufflevector <8 x float> %736, <8 x float> %736, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %738 = shufflevector <64 x float> %737, <64 x float> %734, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %739 = insertelement <8 x float> poison, float %567, i32 0
+ %740 = shufflevector <8 x float> %739, <8 x float> poison, <8 x i32> zeroinitializer
+ %741 = shufflevector <8 x float> %740, <8 x float> %740, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %742 = shufflevector <64 x float> %741, <64 x float> %738, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %743 = insertelement <8 x float> poison, float %575, i32 0
+ %744 = shufflevector <8 x float> %743, <8 x float> poison, <8 x i32> zeroinitializer
+ %745 = shufflevector <8 x float> %744, <8 x float> %744, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %746 = shufflevector <64 x float> %745, <64 x float> %742, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %747 = insertelement <8 x float> poison, float %583, i32 0
+ %748 = shufflevector <8 x float> %747, <8 x float> poison, <8 x i32> zeroinitializer
+ %749 = shufflevector <8 x float> %748, <8 x float> %748, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %750 = shufflevector <64 x float> %749, <64 x float> %746, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %751 = insertelement <8 x float> poison, float %591, i32 0
+ %752 = shufflevector <8 x float> %751, <8 x float> poison, <8 x i32> zeroinitializer
+ %753 = shufflevector <8 x float> %752, <8 x float> %752, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %754 = shufflevector <64 x float> %753, <64 x float> %750, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %755 = insertelement <8 x float> poison, float %536, i32 0
+ %756 = shufflevector <8 x float> %755, <8 x float> poison, <8 x i32> zeroinitializer
+ %757 = shufflevector <8 x float> %756, <8 x float> %756, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %758 = shufflevector <64 x float> %757, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %759 = insertelement <8 x float> poison, float %544, i32 0
+ %760 = shufflevector <8 x float> %759, <8 x float> poison, <8 x i32> zeroinitializer
+ %761 = shufflevector <8 x float> %760, <8 x float> %760, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %762 = shufflevector <64 x float> %761, <64 x float> %758, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %763 = insertelement <8 x float> poison, float %552, i32 0
+ %764 = shufflevector <8 x float> %763, <8 x float> poison, <8 x i32> zeroinitializer
+ %765 = shufflevector <8 x float> %764, <8 x float> %764, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %766 = shufflevector <64 x float> %765, <64 x float> %762, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %767 = insertelement <8 x float> poison, float %560, i32 0
+ %768 = shufflevector <8 x float> %767, <8 x float> poison, <8 x i32> zeroinitializer
+ %769 = shufflevector <8 x float> %768, <8 x float> %768, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %770 = shufflevector <64 x float> %769, <64 x float> %766, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %771 = insertelement <8 x float> poison, float %568, i32 0
+ %772 = shufflevector <8 x float> %771, <8 x float> poison, <8 x i32> zeroinitializer
+ %773 = shufflevector <8 x float> %772, <8 x float> %772, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %774 = shufflevector <64 x float> %773, <64 x float> %770, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %775 = insertelement <8 x float> poison, float %576, i32 0
+ %776 = shufflevector <8 x float> %775, <8 x float> poison, <8 x i32> zeroinitializer
+ %777 = shufflevector <8 x float> %776, <8 x float> %776, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %778 = shufflevector <64 x float> %777, <64 x float> %774, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %779 = insertelement <8 x float> poison, float %584, i32 0
+ %780 = shufflevector <8 x float> %779, <8 x float> poison, <8 x i32> zeroinitializer
+ %781 = shufflevector <8 x float> %780, <8 x float> %780, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %782 = shufflevector <64 x float> %781, <64 x float> %778, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %783 = insertelement <8 x float> poison, float %592, i32 0
+ %784 = shufflevector <8 x float> %783, <8 x float> poison, <8 x i32> zeroinitializer
+ %785 = shufflevector <8 x float> %784, <8 x float> %784, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %786 = shufflevector <64 x float> %785, <64 x float> %782, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %787 = insertelement <8 x float> poison, float %537, i32 0
+ %788 = shufflevector <8 x float> %787, <8 x float> poison, <8 x i32> zeroinitializer
+ %789 = shufflevector <8 x float> %788, <8 x float> %788, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %790 = shufflevector <64 x float> %789, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %791 = insertelement <8 x float> poison, float %545, i32 0
+ %792 = shufflevector <8 x float> %791, <8 x float> poison, <8 x i32> zeroinitializer
+ %793 = shufflevector <8 x float> %792, <8 x float> %792, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %794 = shufflevector <64 x float> %793, <64 x float> %790, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %795 = insertelement <8 x float> poison, float %553, i32 0
+ %796 = shufflevector <8 x float> %795, <8 x float> poison, <8 x i32> zeroinitializer
+ %797 = shufflevector <8 x float> %796, <8 x float> %796, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %798 = shufflevector <64 x float> %797, <64 x float> %794, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %799 = insertelement <8 x float> poison, float %561, i32 0
+ %800 = shufflevector <8 x float> %799, <8 x float> poison, <8 x i32> zeroinitializer
+ %801 = shufflevector <8 x float> %800, <8 x float> %800, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %802 = shufflevector <64 x float> %801, <64 x float> %798, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %803 = insertelement <8 x float> poison, float %569, i32 0
+ %804 = shufflevector <8 x float> %803, <8 x float> poison, <8 x i32> zeroinitializer
+ %805 = shufflevector <8 x float> %804, <8 x float> %804, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %806 = shufflevector <64 x float> %805, <64 x float> %802, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %807 = insertelement <8 x float> poison, float %577, i32 0
+ %808 = shufflevector <8 x float> %807, <8 x float> poison, <8 x i32> zeroinitializer
+ %809 = shufflevector <8 x float> %808, <8 x float> %808, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %810 = shufflevector <64 x float> %809, <64 x float> %806, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %811 = insertelement <8 x float> poison, float %585, i32 0
+ %812 = shufflevector <8 x float> %811, <8 x float> poison, <8 x i32> zeroinitializer
+ %813 = shufflevector <8 x float> %812, <8 x float> %812, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %814 = shufflevector <64 x float> %813, <64 x float> %810, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %815 = insertelement <8 x float> poison, float %593, i32 0
+ %816 = shufflevector <8 x float> %815, <8 x float> poison, <8 x i32> zeroinitializer
+ %817 = shufflevector <8 x float> %816, <8 x float> %816, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %818 = shufflevector <64 x float> %817, <64 x float> %814, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %819 = insertelement <8 x float> poison, float %538, i32 0
+ %820 = shufflevector <8 x float> %819, <8 x float> poison, <8 x i32> zeroinitializer
+ %821 = shufflevector <8 x float> %820, <8 x float> %820, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %822 = shufflevector <64 x float> %821, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %823 = insertelement <8 x float> poison, float %546, i32 0
+ %824 = shufflevector <8 x float> %823, <8 x float> poison, <8 x i32> zeroinitializer
+ %825 = shufflevector <8 x float> %824, <8 x float> %824, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %826 = shufflevector <64 x float> %825, <64 x float> %822, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %827 = insertelement <8 x float> poison, float %554, i32 0
+ %828 = shufflevector <8 x float> %827, <8 x float> poison, <8 x i32> zeroinitializer
+ %829 = shufflevector <8 x float> %828, <8 x float> %828, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %830 = shufflevector <64 x float> %829, <64 x float> %826, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %831 = insertelement <8 x float> poison, float %562, i32 0
+ %832 = shufflevector <8 x float> %831, <8 x float> poison, <8 x i32> zeroinitializer
+ %833 = shufflevector <8 x float> %832, <8 x float> %832, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %834 = shufflevector <64 x float> %833, <64 x float> %830, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %835 = insertelement <8 x float> poison, float %570, i32 0
+ %836 = shufflevector <8 x float> %835, <8 x float> poison, <8 x i32> zeroinitializer
+ %837 = shufflevector <8 x float> %836, <8 x float> %836, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %838 = shufflevector <64 x float> %837, <64 x float> %834, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %839 = insertelement <8 x float> poison, float %578, i32 0
+ %840 = shufflevector <8 x float> %839, <8 x float> poison, <8 x i32> zeroinitializer
+ %841 = shufflevector <8 x float> %840, <8 x float> %840, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %842 = shufflevector <64 x float> %841, <64 x float> %838, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %843 = insertelement <8 x float> poison, float %586, i32 0
+ %844 = shufflevector <8 x float> %843, <8 x float> poison, <8 x i32> zeroinitializer
+ %845 = shufflevector <8 x float> %844, <8 x float> %844, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %846 = shufflevector <64 x float> %845, <64 x float> %842, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %847 = insertelement <8 x float> poison, float %594, i32 0
+ %848 = shufflevector <8 x float> %847, <8 x float> poison, <8 x i32> zeroinitializer
+ %849 = shufflevector <8 x float> %848, <8 x float> %848, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %850 = shufflevector <64 x float> %849, <64 x float> %846, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %851 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %852 = shufflevector <64 x float> %851, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %853 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %854 = shufflevector <64 x float> %853, <64 x float> %852, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %855 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %856 = shufflevector <64 x float> %855, <64 x float> %854, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %857 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %858 = shufflevector <64 x float> %857, <64 x float> %856, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %859 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %860 = shufflevector <64 x float> %859, <64 x float> %858, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %861 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %862 = shufflevector <64 x float> %861, <64 x float> %860, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %863 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %864 = shufflevector <64 x float> %863, <64 x float> %862, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %865 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %866 = shufflevector <64 x float> %865, <64 x float> %864, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %867 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %868 = shufflevector <64 x float> %867, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %869 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %870 = shufflevector <64 x float> %869, <64 x float> %868, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %871 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %872 = shufflevector <64 x float> %871, <64 x float> %870, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %873 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %874 = shufflevector <64 x float> %873, <64 x float> %872, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %875 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %876 = shufflevector <64 x float> %875, <64 x float> %874, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %877 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %878 = shufflevector <64 x float> %877, <64 x float> %876, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %879 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %880 = shufflevector <64 x float> %879, <64 x float> %878, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %881 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %882 = shufflevector <64 x float> %881, <64 x float> %880, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %883 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %884 = shufflevector <64 x float> %883, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %885 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %886 = shufflevector <64 x float> %885, <64 x float> %884, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %887 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %888 = shufflevector <64 x float> %887, <64 x float> %886, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %889 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %890 = shufflevector <64 x float> %889, <64 x float> %888, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %891 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %892 = shufflevector <64 x float> %891, <64 x float> %890, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %893 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %894 = shufflevector <64 x float> %893, <64 x float> %892, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %895 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %896 = shufflevector <64 x float> %895, <64 x float> %894, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %897 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %898 = shufflevector <64 x float> %897, <64 x float> %896, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %899 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %900 = shufflevector <64 x float> %899, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %901 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %902 = shufflevector <64 x float> %901, <64 x float> %900, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %903 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %904 = shufflevector <64 x float> %903, <64 x float> %902, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %905 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %906 = shufflevector <64 x float> %905, <64 x float> %904, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %907 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %908 = shufflevector <64 x float> %907, <64 x float> %906, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %909 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %910 = shufflevector <64 x float> %909, <64 x float> %908, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %911 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %912 = shufflevector <64 x float> %911, <64 x float> %910, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %913 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %914 = shufflevector <64 x float> %913, <64 x float> %912, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %915 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %916 = shufflevector <64 x float> %915, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %917 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %918 = shufflevector <64 x float> %917, <64 x float> %916, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %919 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %920 = shufflevector <64 x float> %919, <64 x float> %918, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %921 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %922 = shufflevector <64 x float> %921, <64 x float> %920, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %923 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %924 = shufflevector <64 x float> %923, <64 x float> %922, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %925 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %926 = shufflevector <64 x float> %925, <64 x float> %924, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %927 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %928 = shufflevector <64 x float> %927, <64 x float> %926, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %929 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %930 = shufflevector <64 x float> %929, <64 x float> %928, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %931 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %932 = shufflevector <64 x float> %931, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %933 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %934 = shufflevector <64 x float> %933, <64 x float> %932, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %935 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %936 = shufflevector <64 x float> %935, <64 x float> %934, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %937 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %938 = shufflevector <64 x float> %937, <64 x float> %936, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %939 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %940 = shufflevector <64 x float> %939, <64 x float> %938, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %941 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %942 = shufflevector <64 x float> %941, <64 x float> %940, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %943 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %944 = shufflevector <64 x float> %943, <64 x float> %942, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %945 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %946 = shufflevector <64 x float> %945, <64 x float> %944, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %947 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %948 = shufflevector <64 x float> %947, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %949 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %950 = shufflevector <64 x float> %949, <64 x float> %948, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %951 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %952 = shufflevector <64 x float> %951, <64 x float> %950, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %953 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %954 = shufflevector <64 x float> %953, <64 x float> %952, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %955 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %956 = shufflevector <64 x float> %955, <64 x float> %954, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %957 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %958 = shufflevector <64 x float> %957, <64 x float> %956, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %959 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %960 = shufflevector <64 x float> %959, <64 x float> %958, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %961 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %962 = shufflevector <64 x float> %961, <64 x float> %960, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %963 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %964 = shufflevector <64 x float> %963, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %965 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %966 = shufflevector <64 x float> %965, <64 x float> %964, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %967 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %968 = shufflevector <64 x float> %967, <64 x float> %966, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %969 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %970 = shufflevector <64 x float> %969, <64 x float> %968, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %971 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %972 = shufflevector <64 x float> %971, <64 x float> %970, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %973 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %974 = shufflevector <64 x float> %973, <64 x float> %972, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %975 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %976 = shufflevector <64 x float> %975, <64 x float> %974, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %977 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %978 = shufflevector <64 x float> %977, <64 x float> %976, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %979 = call <64 x float> @llvm.fma.v64f32(<64 x float> %850, <64 x float> %978, <64 x float> zeroinitializer)
+ %980 = call <64 x float> @llvm.fma.v64f32(<64 x float> %818, <64 x float> %962, <64 x float> %979)
+ %981 = call <64 x float> @llvm.fma.v64f32(<64 x float> %786, <64 x float> %946, <64 x float> %980)
+ %982 = call <64 x float> @llvm.fma.v64f32(<64 x float> %754, <64 x float> %930, <64 x float> %981)
+ %983 = call <64 x float> @llvm.fma.v64f32(<64 x float> %722, <64 x float> %914, <64 x float> %982)
+ %984 = call <64 x float> @llvm.fma.v64f32(<64 x float> %690, <64 x float> %898, <64 x float> %983)
+ %985 = call <64 x float> @llvm.fma.v64f32(<64 x float> %658, <64 x float> %882, <64 x float> %984)
+ %986 = call <64 x float> @llvm.fma.v64f32(<64 x float> %626, <64 x float> %866, <64 x float> %985)
+ %987 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %988 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+ %989 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+ %990 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ %991 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+ %992 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+ %993 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+ %994 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ br label %995
+
+995: ; preds = %998, %42
+ %996 = phi i32 [ %1007, %998 ], [ 0, %42 ]
+ %997 = icmp slt i32 %996, 8
+ br i1 %997, label %998, label %1008
+
+998: ; preds = %995
+ %999 = zext i32 %996 to i64
+ %1000 = extractelement <8 x float> %987, i64 %999
+ %1001 = add nuw nsw i64 0, %999
+ %1002 = add nuw nsw i64 %1001, 0
+ %1003 = add nuw nsw i64 %1002, 0
+ %1004 = add nuw nsw i64 %1003, 0
+ %1005 = add nuw nsw i64 %1004, 0
+ %1006 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1005
+ store float %1000, ptr addrspace(1) %1006, align 4
+ %1007 = add i32 %996, 1
+ br label %995
+
+1008: ; preds = %1011, %995
+ %1009 = phi i32 [ %1020, %1011 ], [ 0, %995 ]
+ %1010 = icmp slt i32 %1009, 8
+ br i1 %1010, label %1011, label %1021
+
+1011: ; preds = %1008
+ %1012 = zext i32 %1009 to i64
+ %1013 = extractelement <8 x float> %988, i64 %1012
+ %1014 = add nuw nsw i64 8, %1012
+ %1015 = add nuw nsw i64 %1014, 0
+ %1016 = add nuw nsw i64 %1015, 0
+ %1017 = add nuw nsw i64 %1016, 0
+ %1018 = add nuw nsw i64 %1017, 0
+ %1019 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1018
+ store float %1013, ptr addrspace(1) %1019, align 4
+ %1020 = add i32 %1009, 1
+ br label %1008
+
+1021: ; preds = %1024, %1008
+ %1022 = phi i32 [ %1033, %1024 ], [ 0, %1008 ]
+ %1023 = icmp slt i32 %1022, 8
+ br i1 %1023, label %1024, label %1034
+
+1024: ; preds = %1021
+ %1025 = zext i32 %1022 to i64
+ %1026 = extractelement <8 x float> %989, i64 %1025
+ %1027 = add nuw nsw i64 16, %1025
+ %1028 = add nuw nsw i64 %1027, 0
+ %1029 = add nuw nsw i64 %1028, 0
+ %1030 = add nuw nsw i64 %1029, 0
+ %1031 = add nuw nsw i64 %1030, 0
+ %1032 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1031
+ store float %1026, ptr addrspace(1) %1032, align 4
+ %1033 = add i32 %1022, 1
+ br label %1021
+
+1034: ; preds = %1037, %1021
+ %1035 = phi i32 [ %1046, %1037 ], [ 0, %1021 ]
+ %1036 = icmp slt i32 %1035, 8
+ br i1 %1036, label %1037, label %1047
+
+1037: ; preds = %1034
+ %1038 = zext i32 %1035 to i64
+ %1039 = extractelement <8 x float> %990, i64 %1038
+ %1040 = add nuw nsw i64 24, %1038
+ %1041 = add nuw nsw i64 %1040, 0
+ %1042 = add nuw nsw i64 %1041, 0
+ %1043 = add nuw nsw i64 %1042, 0
+ %1044 = add nuw nsw i64 %1043, 0
+ %1045 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1044
+ store float %1039, ptr addrspace(1) %1045, align 4
+ %1046 = add i32 %1035, 1
+ br label %1034
+
+1047: ; preds = %1050, %1034
+ %1048 = phi i32 [ %1059, %1050 ], [ 0, %1034 ]
+ %1049 = icmp slt i32 %1048, 8
+ br i1 %1049, label %1050, label %1060
+
+1050: ; preds = %1047
+ %1051 = zext i32 %1048 to i64
+ %1052 = extractelement <8 x float> %991, i64 %1051
+ %1053 = add nuw nsw i64 32, %1051
+ %1054 = add nuw nsw i64 %1053, 0
+ %1055 = add nuw nsw i64 %1054, 0
+ %1056 = add nuw nsw i64 %1055, 0
+ %1057 = add nuw nsw i64 %1056, 0
+ %1058 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1057
+ store float %1052, ptr addrspace(1) %1058, align 4
+ %1059 = add i32 %1048, 1
+ br label %1047
+
+1060: ; preds = %1063, %1047
+ %1061 = phi i32 [ %1072, %1063 ], [ 0, %1047 ]
+ %1062 = icmp slt i32 %1061, 8
+ br i1 %1062, label %1063, label %1073
+
+1063: ; preds = %1060
+ %1064 = zext i32 %1061 to i64
+ %1065 = extractelement <8 x float> %992, i64 %1064
+ %1066 = add nuw nsw i64 40, %1064
+ %1067 = add nuw nsw i64 %1066, 0
+ %1068 = add nuw nsw i64 %1067, 0
+ %1069 = add nuw nsw i64 %1068, 0
+ %1070 = add nuw nsw i64 %1069, 0
+ %1071 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1070
+ store float %1065, ptr addrspace(1) %1071, align 4
+ %1072 = add i32 %1061, 1
+ br label %1060
+
+1073: ; preds = %1076, %1060
+ %1074 = phi i32 [ %1085, %1076 ], [ 0, %1060 ]
+ %1075 = icmp slt i32 %1074, 8
+ br i1 %1075, label %1076, label %1086
+
+1076: ; preds = %1073
+ %1077 = zext i32 %1074 to i64
+ %1078 = extractelement <8 x float> %993, i64 %1077
+ %1079 = add nuw nsw i64 48, %1077
+ %1080 = add nuw nsw i64 %1079, 0
+ %1081 = add nuw nsw i64 %1080, 0
+ %1082 = add nuw nsw i64 %1081, 0
+ %1083 = add nuw nsw i64 %1082, 0
+ %1084 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1083
+ store float %1078, ptr addrspace(1) %1084, align 4
+ %1085 = add i32 %1074, 1
+ br label %1073
+
+1086: ; preds = %1089, %1073
+ %1087 = phi i32 [ %1098, %1089 ], [ 0, %1073 ]
+ %1088 = icmp slt i32 %1087, 8
+ br i1 %1088, label %1089, label %1099
+
+1089: ; preds = %1086
+ %1090 = zext i32 %1087 to i64
+ %1091 = extractelement <8 x float> %994, i64 %1090
+ %1092 = add nuw nsw i64 56, %1090
+ %1093 = add nuw nsw i64 %1092, 0
+ %1094 = add nuw nsw i64 %1093, 0
+ %1095 = add nuw nsw i64 %1094, 0
+ %1096 = add nuw nsw i64 %1095, 0
+ %1097 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1096
+ store float %1091, ptr addrspace(1) %1097, align 4
+ %1098 = add i32 %1087, 1
+ br label %1086
+
+1099: ; preds = %1086
+ ret void
+}
+
+; Function Attrs: alwaysinline
+define spir_kernel void @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store(ptr addrspace(1) noalias noundef nonnull readonly align 16 %0, ptr addrspace(1) noalias noundef nonnull align 16 %1) addrspace(4) #0 {
+ br label %3
+
+3: ; preds = %17, %2
+ %4 = phi i32 [ %18, %17 ], [ 0, %2 ]
+ %5 = icmp slt i32 %4, 8
+ br i1 %5, label %6, label %19
+
+6: ; preds = %3
+ %7 = zext i32 %4 to i64
+ br label %8
+
+8: ; preds = %11, %6
+ %9 = phi i32 [ %16, %11 ], [ 0, %6 ]
+ %10 = icmp slt i32 %9, 8
+ br i1 %10, label %11, label %17
+
+11: ; preds = %8
+ %12 = zext i32 %9 to i64
+ %13 = mul nuw nsw i64 %7, 8
+ %14 = add nuw nsw i64 %13, %12
+ %15 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %14
+ store float 0.000000e+00, ptr addrspace(3) %15, align 4
+ %16 = add i32 %9, 1
+ br label %8
+
+17: ; preds = %8
+ %18 = add i32 %4, 1
+ br label %3
+
+19: ; preds = %3
+ fence syncscope("workgroup") release, !mmra !2
+ call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+ call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+ fence syncscope("workgroup") acquire, !mmra !2
+ br label %20
+
+20: ; preds = %39, %19
+ %21 = phi i32 [ %40, %39 ], [ 0, %19 ]
+ %22 = icmp slt i32 %21, 6
+ br i1 %22, label %23, label %41
+
+23: ; preds = %20
+ %24 = zext i32 %21 to i64
+ br label %25
+
+25: ; preds = %28, %23
+ %26 = phi i32 [ %38, %28 ], [ 0, %23 ]
+ %27 = icmp slt i32 %26, 6
+ br i1 %27, label %28, label %39
+
+28: ; preds = %25
+ %29 = zext i32 %26 to i64
+ %30 = mul nuw nsw i64 %24, 6
+ %31 = add nuw nsw i64 0, %30
+ %32 = add nuw nsw i64 %31, %29
+ %33 = getelementptr inbounds nuw float, ptr addrspace(1) %0, i64 %32
+ %34 = load float, ptr addrspace(1) %33, align 4
+ %35 = mul nuw nsw i64 %24, 8
+ %36 = add nuw nsw i64 %35, %29
+ %37 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %36
+ store float %34, ptr addrspace(3) %37, align 4
+ %38 = add i32 %26, 1
+ br label %25
+
+39: ; preds = %25
+ %40 = add i32 %21, 1
+ br label %20
+
+41: ; preds = %20
+ fence syncscope("workgroup") release, !mmra !2
+ call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+ call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+ fence syncscope("workgroup") acquire, !mmra !2
+ %42 = load <8 x float>, ptr addrspace(3) @__shared_memory__, align 4
+ %43 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 32), align 4
+ %44 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 64), align 4
+ %45 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 96), align 4
+ %46 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 128), align 4
+ %47 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 160), align 4
+ %48 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 192), align 4
+ %49 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 224), align 4
+ %50 = extractelement <8 x float> %42, i64 0
+ %51 = extractelement <8 x float> %42, i64 1
+ %52 = extractelement <8 x float> %42, i64 2
+ %53 = extractelement <8 x float> %42, i64 3
+ %54 = extractelement <8 x float> %42, i64 4
+ %55 = extractelement <8 x float> %42, i64 5
+ %56 = extractelement <8 x float> %42, i64 6
+ %57 = extractelement <8 x float> %42, i64 7
+ %58 = extractelement <8 x float> %43, i64 0
+ %59 = extractelement <8 x float> %43, i64 1
+ %60 = extractelement <8 x float> %43, i64 2
+ %61 = extractelement <8 x float> %43, i64 3
+ %62 = extractelement <8 x float> %43, i64 4
+ %63 = extractelement <8 x float> %43, i64 5
+ %64 = extractelement <8 x float> %43, i64 6
+ %65 = extractelement <8 x float> %43, i64 7
+ %66 = extractelement <8 x float> %44, i64 0
+ %67 = extractelement <8 x float> %44, i64 1
+ %68 = extractelement <8 x float> %44, i64 2
+ %69 = extractelement <8 x float> %44, i64 3
+ %70 = extractelement <8 x float> %44, i64 4
+ %71 = extractelement <8 x float> %44, i64 5
+ %72 = extractelement <8 x float> %44, i64 6
+ %73 = extractelement <8 x float> %44, i64 7
+ %74 = extractelement <8 x float> %45, i64 0
+ %75 = extractelement <8 x float> %45, i64 1
+ %76 = extractelement <8 x float> %45, i64 2
+ %77 = extractelement <8 x float> %45, i64 3
+ %78 = extractelement <8 x float> %45, i64 4
+ %79 = extractelement <8 x float> %45, i64 5
+ %80 = extractelement <8 x float> %45, i64 6
+ %81 = extractelement <8 x float> %45, i64 7
+ %82 = extractelement <8 x float> %46, i64 0
+ %83 = extractelement <8 x float> %46, i64 1
+ %84 = extractelement <8 x float> %46, i64 2
+ %85 = extractelement <8 x float> %46, i64 3
+ %86 = extractelement <8 x float> %46, i64 4
+ %87 = extractelement <8 x float> %46, i64 5
+ %88 = extractelement <8 x float> %46, i64 6
+ %89 = extractelement <8 x float> %46, i64 7
+ %90 = extractelement <8 x float> %47, i64 0
+ %91 = extractelement <8 x float> %47, i64 1
+ %92 = extractelement <8 x float> %47, i64 2
+ %93 = extractelement <8 x float> %47, i64 3
+ %94 = extractelement <8 x float> %47, i64 4
+ %95 = extractelement <8 x float> %47, i64 5
+ %96 = extractelement <8 x float> %47, i64 6
+ %97 = extractelement <8 x float> %47, i64 7
+ %98 = extractelement <8 x float> %48, i64 0
+ %99 = extractelement <8 x float> %48, i64 1
+ %100 = extractelement <8 x float> %48, i64 2
+ %101 = extractelement <8 x float> %48, i64 3
+ %102 = extractelement <8 x float> %48, i64 4
+ %103 = extractelement <8 x float> %48, i64 5
+ %104 = extractelement <8 x float> %48, i64 6
+ %105 = extractelement <8 x float> %48, i64 7
+ %106 = extractelement <8 x float> %49, i64 0
+ %107 = extractelement <8 x float> %49, i64 1
+ %108 = extractelement <8 x float> %49, i64 2
+ %109 = extractelement <8 x float> %49, i64 3
+ %110 = extractelement <8 x float> %49, i64 4
+ %111 = extractelement <8 x float> %49, i64 5
+ %112 = extractelement <8 x float> %49, i64 6
+ %113 = extractelement <8 x float> %49, i64 7
+ %114 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
+ %115 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
+ %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
+ %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
+ %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
+ %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
+ %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
+ %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+ %122 = insertelement <8 x float> poison, float %50, i32 0
+ %123 = shufflevector <8 x float> %122, <8 x float> poison, <8 x i32> zeroinitializer
+ %124 = shufflevector <8 x float> %123, <8 x float> %123, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %125 = shufflevector <64 x float> %124, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %126 = insertelement <8 x float> poison, float %58, i32 0
+ %127 = shufflevector <8 x float> %126, <8 x float> poison, <8 x i32> zeroinitializer
+ %128 = shufflevector <8 x float> %127, <8 x float> %127, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %129 = shufflevector <64 x float> %128, <64 x float> %125, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %130 = insertelement <8 x float> poison, float %66, i32 0
+ %131 = shufflevector <8 x float> %130, <8 x float> poison, <8 x i32> zeroinitializer
+ %132 = shufflevector <8 x float> %131, <8 x float> %131, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %133 = shufflevector <64 x float> %132, <64 x float> %129, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %134 = insertelement <8 x float> poison, float %74, i32 0
+ %135 = shufflevector <8 x float> %134, <8 x float> poison, <8 x i32> zeroinitializer
+ %136 = shufflevector <8 x float> %135, <8 x float> %135, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %137 = shufflevector <64 x float> %136, <64 x float> %133, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %138 = insertelement <8 x float> poison, float %82, i32 0
+ %139 = shufflevector <8 x float> %138, <8 x float> poison, <8 x i32> zeroinitializer
+ %140 = shufflevector <8 x float> %139, <8 x float> %139, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %141 = shufflevector <64 x float> %140, <64 x float> %137, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %142 = insertelement <8 x float> poison, float %90, i32 0
+ %143 = shufflevector <8 x float> %142, <8 x float> poison, <8 x i32> zeroinitializer
+ %144 = shufflevector <8 x float> %143, <8 x float> %143, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %145 = shufflevector <64 x float> %144, <64 x float> %141, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %146 = insertelement <8 x float> poison, float %98, i32 0
+ %147 = shufflevector <8 x float> %146, <8 x float> poison, <8 x i32> zeroinitializer
+ %148 = shufflevector <8 x float> %147, <8 x float> %147, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %149 = shufflevector <64 x float> %148, <64 x float> %145, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %150 = insertelement <8 x float> poison, float %106, i32 0
+ %151 = shufflevector <8 x float> %150, <8 x float> poison, <8 x i32> zeroinitializer
+ %152 = shufflevector <8 x float> %151, <8 x float> %151, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %153 = shufflevector <64 x float> %152, <64 x float> %149, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %154 = insertelement <8 x float> poison, float %51, i32 0
+ %155 = shufflevector <8 x float> %154, <8 x float> poison, <8 x i32> zeroinitializer
+ %156 = shufflevector <8 x float> %155, <8 x float> %155, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %157 = shufflevector <64 x float> %156, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %158 = insertelement <8 x float> poison, float %59, i32 0
+ %159 = shufflevector <8 x float> %158, <8 x float> poison, <8 x i32> zeroinitializer
+ %160 = shufflevector <8 x float> %159, <8 x float> %159, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %161 = shufflevector <64 x float> %160, <64 x float> %157, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %162 = insertelement <8 x float> poison, float %67, i32 0
+ %163 = shufflevector <8 x float> %162, <8 x float> poison, <8 x i32> zeroinitializer
+ %164 = shufflevector <8 x float> %163, <8 x float> %163, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %165 = shufflevector <64 x float> %164, <64 x float> %161, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %166 = insertelement <8 x float> poison, float %75, i32 0
+ %167 = shufflevector <8 x float> %166, <8 x float> poison, <8 x i32> zeroinitializer
+ %168 = shufflevector <8 x float> %167, <8 x float> %167, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %169 = shufflevector <64 x float> %168, <64 x float> %165, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %170 = insertelement <8 x float> poison, float %83, i32 0
+ %171 = shufflevector <8 x float> %170, <8 x float> poison, <8 x i32> zeroinitializer
+ %172 = shufflevector <8 x float> %171, <8 x float> %171, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %173 = shufflevector <64 x float> %172, <64 x float> %169, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %174 = insertelement <8 x float> poison, float %91, i32 0
+ %175 = shufflevector <8 x float> %174, <8 x float> poison, <8 x i32> zeroinitializer
+ %176 = shufflevector <8 x float> %175, <8 x float> %175, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %177 = shufflevector <64 x float> %176, <64 x float> %173, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %178 = insertelement <8 x float> poison, float %99, i32 0
+ %179 = shufflevector <8 x float> %178, <8 x float> poison, <8 x i32> zeroinitializer
+ %180 = shufflevector <8 x float> %179, <8 x float> %179, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %181 = shufflevector <64 x float> %180, <64 x float> %177, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %182 = insertelement <8 x float> poison, float %107, i32 0
+ %183 = shufflevector <8 x float> %182, <8 x float> poison, <8 x i32> zeroinitializer
+ %184 = shufflevector <8 x float> %183, <8 x float> %183, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %185 = shufflevector <64 x float> %184, <64 x float> %181, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %186 = insertelement <8 x float> poison, float %52, i32 0
+ %187 = shufflevector <8 x float> %186, <8 x float> poison, <8 x i32> zeroinitializer
+ %188 = shufflevector <8 x float> %187, <8 x float> %187, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %189 = shufflevector <64 x float> %188, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %190 = insertelement <8 x float> poison, float %60, i32 0
+ %191 = shufflevector <8 x float> %190, <8 x float> poison, <8 x i32> zeroinitializer
+ %192 = shufflevector <8 x float> %191, <8 x float> %191, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %193 = shufflevector <64 x float> %192, <64 x float> %189, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %194 = insertelement <8 x float> poison, float %68, i32 0
+ %195 = shufflevector <8 x float> %194, <8 x float> poison, <8 x i32> zeroinitializer
+ %196 = shufflevector <8 x float> %195, <8 x float> %195, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %197 = shufflevector <64 x float> %196, <64 x float> %193, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %198 = insertelement <8 x float> poison, float %76, i32 0
+ %199 = shufflevector <8 x float> %198, <8 x float> poison, <8 x i32> zeroinitializer
+ %200 = shufflevector <8 x float> %199, <8 x float> %199, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %201 = shufflevector <64 x float> %200, <64 x float> %197, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %202 = insertelement <8 x float> poison, float %84, i32 0
+ %203 = shufflevector <8 x float> %202, <8 x float> poison, <8 x i32> zeroinitializer
+ %204 = shufflevector <8 x float> %203, <8 x float> %203, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %205 = shufflevector <64 x float> %204, <64 x float> %201, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %206 = insertelement <8 x float> poison, float %92, i32 0
+ %207 = shufflevector <8 x float> %206, <8 x float> poison, <8 x i32> zeroinitializer
+ %208 = shufflevector <8 x float> %207, <8 x float> %207, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %209 = shufflevector <64 x float> %208, <64 x float> %205, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %210 = insertelement <8 x float> poison, float %100, i32 0
+ %211 = shufflevector <8 x float> %210, <8 x float> poison, <8 x i32> zeroinitializer
+ %212 = shufflevector <8 x float> %211, <8 x float> %211, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %213 = shufflevector <64 x float> %212, <64 x float> %209, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %214 = insertelement <8 x float> poison, float %108, i32 0
+ %215 = shufflevector <8 x float> %214, <8 x float> poison, <8 x i32> zeroinitializer
+ %216 = shufflevector <8 x float> %215, <8 x float> %215, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %217 = shufflevector <64 x float> %216, <64 x float> %213, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %218 = insertelement <8 x float> poison, float %53, i32 0
+ %219 = shufflevector <8 x float> %218, <8 x float> poison, <8 x i32> zeroinitializer
+ %220 = shufflevector <8 x float> %219, <8 x float> %219, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %221 = shufflevector <64 x float> %220, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %222 = insertelement <8 x float> poison, float %61, i32 0
+ %223 = shufflevector <8 x float> %222, <8 x float> poison, <8 x i32> zeroinitializer
+ %224 = shufflevector <8 x float> %223, <8 x float> %223, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %225 = shufflevector <64 x float> %224, <64 x float> %221, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %226 = insertelement <8 x float> poison, float %69, i32 0
+ %227 = shufflevector <8 x float> %226, <8 x float> poison, <8 x i32> zeroinitializer
+ %228 = shufflevector <8 x float> %227, <8 x float> %227, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %229 = shufflevector <64 x float> %228, <64 x float> %225, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %230 = insertelement <8 x float> poison, float %77, i32 0
+ %231 = shufflevector <8 x float> %230, <8 x float> poison, <8 x i32> zeroinitializer
+ %232 = shufflevector <8 x float> %231, <8 x float> %231, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %233 = shufflevector <64 x float> %232, <64 x float> %229, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %234 = insertelement <8 x float> poison, float %85, i32 0
+ %235 = shufflevector <8 x float> %234, <8 x float> poison, <8 x i32> zeroinitializer
+ %236 = shufflevector <8 x float> %235, <8 x float> %235, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %237 = shufflevector <64 x float> %236, <64 x float> %233, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %238 = insertelement <8 x float> poison, float %93, i32 0
+ %239 = shufflevector <8 x float> %238, <8 x float> poison, <8 x i32> zeroinitializer
+ %240 = shufflevector <8 x float> %239, <8 x float> %239, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %241 = shufflevector <64 x float> %240, <64 x float> %237, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %242 = insertelement <8 x float> poison, float %101, i32 0
+ %243 = shufflevector <8 x float> %242, <8 x float> poison, <8 x i32> zeroinitializer
+ %244 = shufflevector <8 x float> %243, <8 x float> %243, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %245 = shufflevector <64 x float> %244, <64 x float> %241, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %246 = insertelement <8 x float> poison, float %109, i32 0
+ %247 = shufflevector <8 x float> %246, <8 x float> poison, <8 x i32> zeroinitializer
+ %248 = shufflevector <8 x float> %247, <8 x float> %247, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %249 = shufflevector <64 x float> %248, <64 x float> %245, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %250 = insertelement <8 x float> poison, float %54, i32 0
+ %251 = shufflevector <8 x float> %250, <8 x float> poison, <8 x i32> zeroinitializer
+ %252 = shufflevector <8 x float> %251, <8 x float> %251, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %253 = shufflevector <64 x float> %252, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %254 = insertelement <8 x float> poison, float %62, i32 0
+ %255 = shufflevector <8 x float> %254, <8 x float> poison, <8 x i32> zeroinitializer
+ %256 = shufflevector <8 x float> %255, <8 x float> %255, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %257 = shufflevector <64 x float> %256, <64 x float> %253, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %258 = insertelement <8 x float> poison, float %70, i32 0
+ %259 = shufflevector <8 x float> %258, <8 x float> poison, <8 x i32> zeroinitializer
+ %260 = shufflevector <8 x float> %259, <8 x float> %259, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %261 = shufflevector <64 x float> %260, <64 x float> %257, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %262 = insertelement <8 x float> poison, float %78, i32 0
+ %263 = shufflevector <8 x float> %262, <8 x float> poison, <8 x i32> zeroinitializer
+ %264 = shufflevector <8 x float> %263, <8 x float> %263, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %265 = shufflevector <64 x float> %264, <64 x float> %261, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %266 = insertelement <8 x float> poison, float %86, i32 0
+ %267 = shufflevector <8 x float> %266, <8 x float> poison, <8 x i32> zeroinitializer
+ %268 = shufflevector <8 x float> %267, <8 x float> %267, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %269 = shufflevector <64 x float> %268, <64 x float> %265, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %270 = insertelement <8 x float> poison, float %94, i32 0
+ %271 = shufflevector <8 x float> %270, <8 x float> poison, <8 x i32> zeroinitializer
+ %272 = shufflevector <8 x float> %271, <8 x float> %271, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %273 = shufflevector <64 x float> %272, <64 x float> %269, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %274 = insertelement <8 x float> poison, float %102, i32 0
+ %275 = shufflevector <8 x float> %274, <8 x float> poison, <8 x i32> zeroinitializer
+ %276 = shufflevector <8 x float> %275, <8 x float> %275, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %277 = shufflevector <64 x float> %276, <64 x float> %273, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %278 = insertelement <8 x float> poison, float %110, i32 0
+ %279 = shufflevector <8 x float> %278, <8 x float> poison, <8 x i32> zeroinitializer
+ %280 = shufflevector <8 x float> %279, <8 x float> %279, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %281 = shufflevector <64 x float> %280, <64 x float> %277, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %282 = insertelement <8 x float> poison, float %55, i32 0
+ %283 = shufflevector <8 x float> %282, <8 x float> poison, <8 x i32> zeroinitializer
+ %284 = shufflevector <8 x float> %283, <8 x float> %283, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %285 = shufflevector <64 x float> %284, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %286 = insertelement <8 x float> poison, float %63, i32 0
+ %287 = shufflevector <8 x float> %286, <8 x float> poison, <8 x i32> zeroinitializer
+ %288 = shufflevector <8 x float> %287, <8 x float> %287, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %289 = shufflevector <64 x float> %288, <64 x float> %285, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %290 = insertelement <8 x float> poison, float %71, i32 0
+ %291 = shufflevector <8 x float> %290, <8 x float> poison, <8 x i32> zeroinitializer
+ %292 = shufflevector <8 x float> %291, <8 x float> %291, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %293 = shufflevector <64 x float> %292, <64 x float> %289, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %294 = insertelement <8 x float> poison, float %79, i32 0
+ %295 = shufflevector <8 x float> %294, <8 x float> poison, <8 x i32> zeroinitializer
+ %296 = shufflevector <8 x float> %295, <8 x float> %295, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %297 = shufflevector <64 x float> %296, <64 x float> %293, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %298 = insertelement <8 x float> poison, float %87, i32 0
+ %299 = shufflevector <8 x float> %298, <8 x float> poison, <8 x i32> zeroinitializer
+ %300 = shufflevector <8 x float> %299, <8 x float> %299, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %301 = shufflevector <64 x float> %300, <64 x float> %297, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %302 = insertelement <8 x float> poison, float %95, i32 0
+ %303 = shufflevector <8 x float> %302, <8 x float> poison, <8 x i32> zeroinitializer
+ %304 = shufflevector <8 x float> %303, <8 x float> %303, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %305 = shufflevector <64 x float> %304, <64 x float> %301, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %306 = insertelement <8 x float> poison, float %103, i32 0
+ %307 = shufflevector <8 x float> %306, <8 x float> poison, <8 x i32> zeroinitializer
+ %308 = shufflevector <8 x float> %307, <8 x float> %307, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %309 = shufflevector <64 x float> %308, <64 x float> %305, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %310 = insertelement <8 x float> poison, float %111, i32 0
+ %311 = shufflevector <8 x float> %310, <8 x float> poison, <8 x i32> zeroinitializer
+ %312 = shufflevector <8 x float> %311, <8 x float> %311, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %313 = shufflevector <64 x float> %312, <64 x float> %309, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %314 = insertelement <8 x float> poison, float %56, i32 0
+ %315 = shufflevector <8 x float> %314, <8 x float> poison, <8 x i32> zeroinitializer
+ %316 = shufflevector <8 x float> %315, <8 x float> %315, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %317 = shufflevector <64 x float> %316, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %318 = insertelement <8 x float> poison, float %64, i32 0
+ %319 = shufflevector <8 x float> %318, <8 x float> poison, <8 x i32> zeroinitializer
+ %320 = shufflevector <8 x float> %319, <8 x float> %319, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %321 = shufflevector <64 x float> %320, <64 x float> %317, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %322 = insertelement <8 x float> poison, float %72, i32 0
+ %323 = shufflevector <8 x float> %322, <8 x float> poison, <8 x i32> zeroinitializer
+ %324 = shufflevector <8 x float> %323, <8 x float> %323, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %325 = shufflevector <64 x float> %324, <64 x float> %321, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %326 = insertelement <8 x float> poison, float %80, i32 0
+ %327 = shufflevector <8 x float> %326, <8 x float> poison, <8 x i32> zeroinitializer
+ %328 = shufflevector <8 x float> %327, <8 x float> %327, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %329 = shufflevector <64 x float> %328, <64 x float> %325, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %330 = insertelement <8 x float> poison, float %88, i32 0
+ %331 = shufflevector <8 x float> %330, <8 x float> poison, <8 x i32> zeroinitializer
+ %332 = shufflevector <8 x float> %331, <8 x float> %331, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %333 = shufflevector <64 x float> %332, <64 x float> %329, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %334 = insertelement <8 x float> poison, float %96, i32 0
+ %335 = shufflevector <8 x float> %334, <8 x float> poison, <8 x i32> zeroinitializer
+ %336 = shufflevector <8 x float> %335, <8 x float> %335, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %337 = shufflevector <64 x float> %336, <64 x float> %333, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %338 = insertelement <8 x float> poison, float %104, i32 0
+ %339 = shufflevector <8 x float> %338, <8 x float> poison, <8 x i32> zeroinitializer
+ %340 = shufflevector <8 x float> %339, <8 x float> %339, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %341 = shufflevector <64 x float> %340, <64 x float> %337, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %342 = insertelement <8 x float> poison, float %112, i32 0
+ %343 = shufflevector <8 x float> %342, <8 x float> poison, <8 x i32> zeroinitializer
+ %344 = shufflevector <8 x float> %343, <8 x float> %343, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %345 = shufflevector <64 x float> %344, <64 x float> %341, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %346 = insertelement <8 x float> poison, float %57, i32 0
+ %347 = shufflevector <8 x float> %346, <8 x float> poison, <8 x i32> zeroinitializer
+ %348 = shufflevector <8 x float> %347, <8 x float> %347, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %349 = shufflevector <64 x float> %348, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %350 = insertelement <8 x float> poison, float %65, i32 0
+ %351 = shufflevector <8 x float> %350, <8 x float> poison, <8 x i32> zeroinitializer
+ %352 = shufflevector <8 x float> %351, <8 x float> %351, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %353 = shufflevector <64 x float> %352, <64 x float> %349, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %354 = insertelement <8 x float> poison, float %73, i32 0
+ %355 = shufflevector <8 x float> %354, <8 x float> poison, <8 x i32> zeroinitializer
+ %356 = shufflevector <8 x float> %355, <8 x float> %355, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %357 = shufflevector <64 x float> %356, <64 x float> %353, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %358 = insertelement <8 x float> poison, float %81, i32 0
+ %359 = shufflevector <8 x float> %358, <8 x float> poison, <8 x i32> zeroinitializer
+ %360 = shufflevector <8 x float> %359, <8 x float> %359, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %361 = shufflevector <64 x float> %360, <64 x float> %357, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %362 = insertelement <8 x float> poison, float %89, i32 0
+ %363 = shufflevector <8 x float> %362, <8 x float> poison, <8 x i32> zeroinitializer
+ %364 = shufflevector <8 x float> %363, <8 x float> %363, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %365 = shufflevector <64 x float> %364, <64 x float> %361, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %366 = insertelement <8 x float> poison, float %97, i32 0
+ %367 = shufflevector <8 x float> %366, <8 x float> poison, <8 x i32> zeroinitializer
+ %368 = shufflevector <8 x float> %367, <8 x float> %367, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %369 = shufflevector <64 x float> %368, <64 x float> %365, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %370 = insertelement <8 x float> poison, float %105, i32 0
+ %371 = shufflevector <8 x float> %370, <8 x float> poison, <8 x i32> zeroinitializer
+ %372 = shufflevector <8 x float> %371, <8 x float> %371, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %373 = shufflevector <64 x float> %372, <64 x float> %369, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %374 = insertelement <8 x float> poison, float %113, i32 0
+ %375 = shufflevector <8 x float> %374, <8 x float> poison, <8 x i32> zeroinitializer
+ %376 = shufflevector <8 x float> %375, <8 x float> %375, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %377 = shufflevector <64 x float> %376, <64 x float> %373, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %378 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %379 = shufflevector <64 x float> %378, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %380 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %381 = shufflevector <64 x float> %380, <64 x float> %379, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %382 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %383 = shufflevector <64 x float> %382, <64 x float> %381, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %384 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %385 = shufflevector <64 x float> %384, <64 x float> %383, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %386 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %387 = shufflevector <64 x float> %386, <64 x float> %385, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %388 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %389 = shufflevector <64 x float> %388, <64 x float> %387, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %390 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %391 = shufflevector <64 x float> %390, <64 x float> %389, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %392 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %393 = shufflevector <64 x float> %392, <64 x float> %391, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %394 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %395 = shufflevector <64 x float> %394, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %396 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %397 = shufflevector <64 x float> %396, <64 x float> %395, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %398 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %399 = shufflevector <64 x float> %398, <64 x float> %397, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %400 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %401 = shufflevector <64 x float> %400, <64 x float> %399, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %402 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %403 = shufflevector <64 x float> %402, <64 x float> %401, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %404 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %405 = shufflevector <64 x float> %404, <64 x float> %403, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %406 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %407 = shufflevector <64 x float> %406, <64 x float> %405, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %408 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %409 = shufflevector <64 x float> %408, <64 x float> %407, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %410 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %411 = shufflevector <64 x float> %410, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %412 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %413 = shufflevector <64 x float> %412, <64 x float> %411, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %414 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %415 = shufflevector <64 x float> %414, <64 x float> %413, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %416 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %417 = shufflevector <64 x float> %416, <64 x float> %415, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %418 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %419 = shufflevector <64 x float> %418, <64 x float> %417, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %420 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %421 = shufflevector <64 x float> %420, <64 x float> %419, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %422 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %423 = shufflevector <64 x float> %422, <64 x float> %421, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %424 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %425 = shufflevector <64 x float> %424, <64 x float> %423, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %426 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %427 = shufflevector <64 x float> %426, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %428 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %429 = shufflevector <64 x float> %428, <64 x float> %427, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %430 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %431 = shufflevector <64 x float> %430, <64 x float> %429, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %432 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %433 = shufflevector <64 x float> %432, <64 x float> %431, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %434 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %435 = shufflevector <64 x float> %434, <64 x float> %433, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %436 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %437 = shufflevector <64 x float> %436, <64 x float> %435, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %438 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %439 = shufflevector <64 x float> %438, <64 x float> %437, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %440 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %441 = shufflevector <64 x float> %440, <64 x float> %439, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %442 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %443 = shufflevector <64 x float> %442, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %444 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %445 = shufflevector <64 x float> %444, <64 x float> %443, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %446 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %447 = shufflevector <64 x float> %446, <64 x float> %445, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %448 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %449 = shufflevector <64 x float> %448, <64 x float> %447, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %450 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %451 = shufflevector <64 x float> %450, <64 x float> %449, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %452 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %453 = shufflevector <64 x float> %452, <64 x float> %451, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %454 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %455 = shufflevector <64 x float> %454, <64 x float> %453, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %456 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %457 = shufflevector <64 x float> %456, <64 x float> %455, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %458 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %459 = shufflevector <64 x float> %458, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %460 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %461 = shufflevector <64 x float> %460, <64 x float> %459, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %462 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %463 = shufflevector <64 x float> %462, <64 x float> %461, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %464 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %465 = shufflevector <64 x float> %464, <64 x float> %463, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %466 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %467 = shufflevector <64 x float> %466, <64 x float> %465, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %468 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %469 = shufflevector <64 x float> %468, <64 x float> %467, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %470 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %471 = shufflevector <64 x float> %470, <64 x float> %469, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %472 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %473 = shufflevector <64 x float> %472, <64 x float> %471, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %474 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %475 = shufflevector <64 x float> %474, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %476 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %477 = shufflevector <64 x float> %476, <64 x float> %475, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %478 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %479 = shufflevector <64 x float> %478, <64 x float> %477, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %480 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %481 = shufflevector <64 x float> %480, <64 x float> %479, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %482 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %483 = shufflevector <64 x float> %482, <64 x float> %481, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %484 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %485 = shufflevector <64 x float> %484, <64 x float> %483, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %486 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %487 = shufflevector <64 x float> %486, <64 x float> %485, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %488 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %489 = shufflevector <64 x float> %488, <64 x float> %487, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %490 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %491 = shufflevector <64 x float> %490, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %492 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %493 = shufflevector <64 x float> %492, <64 x float> %491, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %494 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %495 = shufflevector <64 x float> %494, <64 x float> %493, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %496 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %497 = shufflevector <64 x float> %496, <64 x float> %495, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %498 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %499 = shufflevector <64 x float> %498, <64 x float> %497, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %500 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %501 = shufflevector <64 x float> %500, <64 x float> %499, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %502 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %503 = shufflevector <64 x float> %502, <64 x float> %501, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %504 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %505 = shufflevector <64 x float> %504, <64 x float> %503, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %506 = call <64 x float> @llvm.fma.v64f32(<64 x float> %377, <64 x float> %505, <64 x float> zeroinitializer)
+ %507 = call <64 x float> @llvm.fma.v64f32(<64 x float> %345, <64 x float> %489, <64 x float> %506)
+ %508 = call <64 x float> @llvm.fma.v64f32(<64 x float> %313, <64 x float> %473, <64 x float> %507)
+ %509 = call <64 x float> @llvm.fma.v64f32(<64 x float> %281, <64 x float> %457, <64 x float> %508)
+ %510 = call <64 x float> @llvm.fma.v64f32(<64 x float> %249, <64 x float> %441, <64 x float> %509)
+ %511 = call <64 x float> @llvm.fma.v64f32(<64 x float> %217, <64 x float> %425, <64 x float> %510)
+ %512 = call <64 x float> @llvm.fma.v64f32(<64 x float> %185, <64 x float> %409, <64 x float> %511)
+ %513 = call <64 x float> @llvm.fma.v64f32(<64 x float> %153, <64 x float> %393, <64 x float> %512)
+ %514 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %515 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+ %516 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+ %517 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ %518 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+ %519 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+ %520 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+ %521 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ %522 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
+ %523 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
+ %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
+ %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
+ %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
+ %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
+ %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
+ %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+ %530 = extractelement <8 x float> %522, i64 0
+ %531 = extractelement <8 x float> %522, i64 1
+ %532 = extractelement <8 x float> %522, i64 2
+ %533 = extractelement <8 x float> %522, i64 3
+ %534 = extractelement <8 x float> %522, i64 4
+ %535 = extractelement <8 x float> %522, i64 5
+ %536 = extractelement <8 x float> %522, i64 6
+ %537 = extractelement <8 x float> %522, i64 7
+ %538 = extractelement <8 x float> %523, i64 0
+ %539 = extractelement <8 x float> %523, i64 1
+ %540 = extractelement <8 x float> %523, i64 2
+ %541 = extractelement <8 x float> %523, i64 3
+ %542 = extractelement <8 x float> %523, i64 4
+ %543 = extractelement <8 x float> %523, i64 5
+ %544 = extractelement <8 x float> %523, i64 6
+ %545 = extractelement <8 x float> %523, i64 7
+ %546 = extractelement <8 x float> %524, i64 0
+ %547 = extractelement <8 x float> %524, i64 1
+ %548 = extractelement <8 x float> %524, i64 2
+ %549 = extractelement <8 x float> %524, i64 3
+ %550 = extractelement <8 x float> %524, i64 4
+ %551 = extractelement <8 x float> %524, i64 5
+ %552 = extractelement <8 x float> %524, i64 6
+ %553 = extractelement <8 x float> %524, i64 7
+ %554 = extractelement <8 x float> %525, i64 0
+ %555 = extractelement <8 x float> %525, i64 1
+ %556 = extractelement <8 x float> %525, i64 2
+ %557 = extractelement <8 x float> %525, i64 3
+ %558 = extractelement <8 x float> %525, i64 4
+ %559 = extractelement <8 x float> %525, i64 5
+ %560 = extractelement <8 x float> %525, i64 6
+ %561 = extractelement <8 x float> %525, i64 7
+ %562 = extractelement <8 x float> %526, i64 0
+ %563 = extractelement <8 x float> %526, i64 1
+ %564 = extractelement <8 x float> %526, i64 2
+ %565 = extractelement <8 x float> %526, i64 3
+ %566 = extractelement <8 x float> %526, i64 4
+ %567 = extractelement <8 x float> %526, i64 5
+ %568 = extractelement <8 x float> %526, i64 6
+ %569 = extractelement <8 x float> %526, i64 7
+ %570 = extractelement <8 x float> %527, i64 0
+ %571 = extractelement <8 x float> %527, i64 1
+ %572 = extractelement <8 x float> %527, i64 2
+ %573 = extractelement <8 x float> %527, i64 3
+ %574 = extractelement <8 x float> %527, i64 4
+ %575 = extractelement <8 x float> %527, i64 5
+ %576 = extractelement <8 x float> %527, i64 6
+ %577 = extractelement <8 x float> %527, i64 7
+ %578 = extractelement <8 x float> %528, i64 0
+ %579 = extractelement <8 x float> %528, i64 1
+ %580 = extractelement <8 x float> %528, i64 2
+ %581 = extractelement <8 x float> %528, i64 3
+ %582 = extractelement <8 x float> %528, i64 4
+ %583 = extractelement <8 x float> %528, i64 5
+ %584 = extractelement <8 x float> %528, i64 6
+ %585 = extractelement <8 x float> %528, i64 7
+ %586 = extractelement <8 x float> %529, i64 0
+ %587 = extractelement <8 x float> %529, i64 1
+ %588 = extractelement <8 x float> %529, i64 2
+ %589 = extractelement <8 x float> %529, i64 3
+ %590 = extractelement <8 x float> %529, i64 4
+ %591 = extractelement <8 x float> %529, i64 5
+ %592 = extractelement <8 x float> %529, i64 6
+ %593 = extractelement <8 x float> %529, i64 7
+ %594 = insertelement <8 x float> poison, float %530, i32 0
+ %595 = shufflevector <8 x float> %594, <8 x float> poison, <8 x i32> zeroinitializer
+ %596 = shufflevector <8 x float> %595, <8 x float> %595, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %597 = shufflevector <64 x float> %596, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %598 = insertelement <8 x float> poison, float %538, i32 0
+ %599 = shufflevector <8 x float> %598, <8 x float> poison, <8 x i32> zeroinitializer
+ %600 = shufflevector <8 x float> %599, <8 x float> %599, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %601 = shufflevector <64 x float> %600, <64 x float> %597, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %602 = insertelement <8 x float> poison, float %546, i32 0
+ %603 = shufflevector <8 x float> %602, <8 x float> poison, <8 x i32> zeroinitializer
+ %604 = shufflevector <8 x float> %603, <8 x float> %603, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %605 = shufflevector <64 x float> %604, <64 x float> %601, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %606 = insertelement <8 x float> poison, float %554, i32 0
+ %607 = shufflevector <8 x float> %606, <8 x float> poison, <8 x i32> zeroinitializer
+ %608 = shufflevector <8 x float> %607, <8 x float> %607, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %609 = shufflevector <64 x float> %608, <64 x float> %605, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %610 = insertelement <8 x float> poison, float %562, i32 0
+ %611 = shufflevector <8 x float> %610, <8 x float> poison, <8 x i32> zeroinitializer
+ %612 = shufflevector <8 x float> %611, <8 x float> %611, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %613 = shufflevector <64 x float> %612, <64 x float> %609, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %614 = insertelement <8 x float> poison, float %570, i32 0
+ %615 = shufflevector <8 x float> %614, <8 x float> poison, <8 x i32> zeroinitializer
+ %616 = shufflevector <8 x float> %615, <8 x float> %615, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %617 = shufflevector <64 x float> %616, <64 x float> %613, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %618 = insertelement <8 x float> poison, float %578, i32 0
+ %619 = shufflevector <8 x float> %618, <8 x float> poison, <8 x i32> zeroinitializer
+ %620 = shufflevector <8 x float> %619, <8 x float> %619, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %621 = shufflevector <64 x float> %620, <64 x float> %617, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %622 = insertelement <8 x float> poison, float %586, i32 0
+ %623 = shufflevector <8 x float> %622, <8 x float> poison, <8 x i32> zeroinitializer
+ %624 = shufflevector <8 x float> %623, <8 x float> %623, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %625 = shufflevector <64 x float> %624, <64 x float> %621, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %626 = insertelement <8 x float> poison, float %531, i32 0
+ %627 = shufflevector <8 x float> %626, <8 x float> poison, <8 x i32> zeroinitializer
+ %628 = shufflevector <8 x float> %627, <8 x float> %627, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %629 = shufflevector <64 x float> %628, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %630 = insertelement <8 x float> poison, float %539, i32 0
+ %631 = shufflevector <8 x float> %630, <8 x float> poison, <8 x i32> zeroinitializer
+ %632 = shufflevector <8 x float> %631, <8 x float> %631, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %633 = shufflevector <64 x float> %632, <64 x float> %629, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %634 = insertelement <8 x float> poison, float %547, i32 0
+ %635 = shufflevector <8 x float> %634, <8 x float> poison, <8 x i32> zeroinitializer
+ %636 = shufflevector <8 x float> %635, <8 x float> %635, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %637 = shufflevector <64 x float> %636, <64 x float> %633, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %638 = insertelement <8 x float> poison, float %555, i32 0
+ %639 = shufflevector <8 x float> %638, <8 x float> poison, <8 x i32> zeroinitializer
+ %640 = shufflevector <8 x float> %639, <8 x float> %639, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %641 = shufflevector <64 x float> %640, <64 x float> %637, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %642 = insertelement <8 x float> poison, float %563, i32 0
+ %643 = shufflevector <8 x float> %642, <8 x float> poison, <8 x i32> zeroinitializer
+ %644 = shufflevector <8 x float> %643, <8 x float> %643, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %645 = shufflevector <64 x float> %644, <64 x float> %641, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %646 = insertelement <8 x float> poison, float %571, i32 0
+ %647 = shufflevector <8 x float> %646, <8 x float> poison, <8 x i32> zeroinitializer
+ %648 = shufflevector <8 x float> %647, <8 x float> %647, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %649 = shufflevector <64 x float> %648, <64 x float> %645, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %650 = insertelement <8 x float> poison, float %579, i32 0
+ %651 = shufflevector <8 x float> %650, <8 x float> poison, <8 x i32> zeroinitializer
+ %652 = shufflevector <8 x float> %651, <8 x float> %651, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %653 = shufflevector <64 x float> %652, <64 x float> %649, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %654 = insertelement <8 x float> poison, float %587, i32 0
+ %655 = shufflevector <8 x float> %654, <8 x float> poison, <8 x i32> zeroinitializer
+ %656 = shufflevector <8 x float> %655, <8 x float> %655, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %657 = shufflevector <64 x float> %656, <64 x float> %653, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %658 = insertelement <8 x float> poison, float %532, i32 0
+ %659 = shufflevector <8 x float> %658, <8 x float> poison, <8 x i32> zeroinitializer
+ %660 = shufflevector <8 x float> %659, <8 x float> %659, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %661 = shufflevector <64 x float> %660, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %662 = insertelement <8 x float> poison, float %540, i32 0
+ %663 = shufflevector <8 x float> %662, <8 x float> poison, <8 x i32> zeroinitializer
+ %664 = shufflevector <8 x float> %663, <8 x float> %663, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %665 = shufflevector <64 x float> %664, <64 x float> %661, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %666 = insertelement <8 x float> poison, float %548, i32 0
+ %667 = shufflevector <8 x float> %666, <8 x float> poison, <8 x i32> zeroinitializer
+ %668 = shufflevector <8 x float> %667, <8 x float> %667, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %669 = shufflevector <64 x float> %668, <64 x float> %665, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %670 = insertelement <8 x float> poison, float %556, i32 0
+ %671 = shufflevector <8 x float> %670, <8 x float> poison, <8 x i32> zeroinitializer
+ %672 = shufflevector <8 x float> %671, <8 x float> %671, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %673 = shufflevector <64 x float> %672, <64 x float> %669, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %674 = insertelement <8 x float> poison, float %564, i32 0
+ %675 = shufflevector <8 x float> %674, <8 x float> poison, <8 x i32> zeroinitializer
+ %676 = shufflevector <8 x float> %675, <8 x float> %675, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %677 = shufflevector <64 x float> %676, <64 x float> %673, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %678 = insertelement <8 x float> poison, float %572, i32 0
+ %679 = shufflevector <8 x float> %678, <8 x float> poison, <8 x i32> zeroinitializer
+ %680 = shufflevector <8 x float> %679, <8 x float> %679, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %681 = shufflevector <64 x float> %680, <64 x float> %677, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %682 = insertelement <8 x float> poison, float %580, i32 0
+ %683 = shufflevector <8 x float> %682, <8 x float> poison, <8 x i32> zeroinitializer
+ %684 = shufflevector <8 x float> %683, <8 x float> %683, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %685 = shufflevector <64 x float> %684, <64 x float> %681, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %686 = insertelement <8 x float> poison, float %588, i32 0
+ %687 = shufflevector <8 x float> %686, <8 x float> poison, <8 x i32> zeroinitializer
+ %688 = shufflevector <8 x float> %687, <8 x float> %687, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %689 = shufflevector <64 x float> %688, <64 x float> %685, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %690 = insertelement <8 x float> poison, float %533, i32 0
+ %691 = shufflevector <8 x float> %690, <8 x float> poison, <8 x i32> zeroinitializer
+ %692 = shufflevector <8 x float> %691, <8 x float> %691, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %693 = shufflevector <64 x float> %692, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %694 = insertelement <8 x float> poison, float %541, i32 0
+ %695 = shufflevector <8 x float> %694, <8 x float> poison, <8 x i32> zeroinitializer
+ %696 = shufflevector <8 x float> %695, <8 x float> %695, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %697 = shufflevector <64 x float> %696, <64 x float> %693, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %698 = insertelement <8 x float> poison, float %549, i32 0
+ %699 = shufflevector <8 x float> %698, <8 x float> poison, <8 x i32> zeroinitializer
+ %700 = shufflevector <8 x float> %699, <8 x float> %699, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %701 = shufflevector <64 x float> %700, <64 x float> %697, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %702 = insertelement <8 x float> poison, float %557, i32 0
+ %703 = shufflevector <8 x float> %702, <8 x float> poison, <8 x i32> zeroinitializer
+ %704 = shufflevector <8 x float> %703, <8 x float> %703, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %705 = shufflevector <64 x float> %704, <64 x float> %701, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %706 = insertelement <8 x float> poison, float %565, i32 0
+ %707 = shufflevector <8 x float> %706, <8 x float> poison, <8 x i32> zeroinitializer
+ %708 = shufflevector <8 x float> %707, <8 x float> %707, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %709 = shufflevector <64 x float> %708, <64 x float> %705, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %710 = insertelement <8 x float> poison, float %573, i32 0
+ %711 = shufflevector <8 x float> %710, <8 x float> poison, <8 x i32> zeroinitializer
+ %712 = shufflevector <8 x float> %711, <8 x float> %711, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %713 = shufflevector <64 x float> %712, <64 x float> %709, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %714 = insertelement <8 x float> poison, float %581, i32 0
+ %715 = shufflevector <8 x float> %714, <8 x float> poison, <8 x i32> zeroinitializer
+ %716 = shufflevector <8 x float> %715, <8 x float> %715, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %717 = shufflevector <64 x float> %716, <64 x float> %713, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %718 = insertelement <8 x float> poison, float %589, i32 0
+ %719 = shufflevector <8 x float> %718, <8 x float> poison, <8 x i32> zeroinitializer
+ %720 = shufflevector <8 x float> %719, <8 x float> %719, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %721 = shufflevector <64 x float> %720, <64 x float> %717, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %722 = insertelement <8 x float> poison, float %534, i32 0
+ %723 = shufflevector <8 x float> %722, <8 x float> poison, <8 x i32> zeroinitializer
+ %724 = shufflevector <8 x float> %723, <8 x float> %723, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %725 = shufflevector <64 x float> %724, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %726 = insertelement <8 x float> poison, float %542, i32 0
+ %727 = shufflevector <8 x float> %726, <8 x float> poison, <8 x i32> zeroinitializer
+ %728 = shufflevector <8 x float> %727, <8 x float> %727, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %729 = shufflevector <64 x float> %728, <64 x float> %725, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %730 = insertelement <8 x float> poison, float %550, i32 0
+ %731 = shufflevector <8 x float> %730, <8 x float> poison, <8 x i32> zeroinitializer
+ %732 = shufflevector <8 x float> %731, <8 x float> %731, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %733 = shufflevector <64 x float> %732, <64 x float> %729, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %734 = insertelement <8 x float> poison, float %558, i32 0
+ %735 = shufflevector <8 x float> %734, <8 x float> poison, <8 x i32> zeroinitializer
+ %736 = shufflevector <8 x float> %735, <8 x float> %735, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %737 = shufflevector <64 x float> %736, <64 x float> %733, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %738 = insertelement <8 x float> poison, float %566, i32 0
+ %739 = shufflevector <8 x float> %738, <8 x float> poison, <8 x i32> zeroinitializer
+ %740 = shufflevector <8 x float> %739, <8 x float> %739, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %741 = shufflevector <64 x float> %740, <64 x float> %737, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %742 = insertelement <8 x float> poison, float %574, i32 0
+ %743 = shufflevector <8 x float> %742, <8 x float> poison, <8 x i32> zeroinitializer
+ %744 = shufflevector <8 x float> %743, <8 x float> %743, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %745 = shufflevector <64 x float> %744, <64 x float> %741, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %746 = insertelement <8 x float> poison, float %582, i32 0
+ %747 = shufflevector <8 x float> %746, <8 x float> poison, <8 x i32> zeroinitializer
+ %748 = shufflevector <8 x float> %747, <8 x float> %747, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %749 = shufflevector <64 x float> %748, <64 x float> %745, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %750 = insertelement <8 x float> poison, float %590, i32 0
+ %751 = shufflevector <8 x float> %750, <8 x float> poison, <8 x i32> zeroinitializer
+ %752 = shufflevector <8 x float> %751, <8 x float> %751, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %753 = shufflevector <64 x float> %752, <64 x float> %749, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %754 = insertelement <8 x float> poison, float %535, i32 0
+ %755 = shufflevector <8 x float> %754, <8 x float> poison, <8 x i32> zeroinitializer
+ %756 = shufflevector <8 x float> %755, <8 x float> %755, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %757 = shufflevector <64 x float> %756, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %758 = insertelement <8 x float> poison, float %543, i32 0
+ %759 = shufflevector <8 x float> %758, <8 x float> poison, <8 x i32> zeroinitializer
+ %760 = shufflevector <8 x float> %759, <8 x float> %759, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %761 = shufflevector <64 x float> %760, <64 x float> %757, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %762 = insertelement <8 x float> poison, float %551, i32 0
+ %763 = shufflevector <8 x float> %762, <8 x float> poison, <8 x i32> zeroinitializer
+ %764 = shufflevector <8 x float> %763, <8 x float> %763, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %765 = shufflevector <64 x float> %764, <64 x float> %761, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %766 = insertelement <8 x float> poison, float %559, i32 0
+ %767 = shufflevector <8 x float> %766, <8 x float> poison, <8 x i32> zeroinitializer
+ %768 = shufflevector <8 x float> %767, <8 x float> %767, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %769 = shufflevector <64 x float> %768, <64 x float> %765, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %770 = insertelement <8 x float> poison, float %567, i32 0
+ %771 = shufflevector <8 x float> %770, <8 x float> poison, <8 x i32> zeroinitializer
+ %772 = shufflevector <8 x float> %771, <8 x float> %771, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %773 = shufflevector <64 x float> %772, <64 x float> %769, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %774 = insertelement <8 x float> poison, float %575, i32 0
+ %775 = shufflevector <8 x float> %774, <8 x float> poison, <8 x i32> zeroinitializer
+ %776 = shufflevector <8 x float> %775, <8 x float> %775, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %777 = shufflevector <64 x float> %776, <64 x float> %773, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %778 = insertelement <8 x float> poison, float %583, i32 0
+ %779 = shufflevector <8 x float> %778, <8 x float> poison, <8 x i32> zeroinitializer
+ %780 = shufflevector <8 x float> %779, <8 x float> %779, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %781 = shufflevector <64 x float> %780, <64 x float> %777, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %782 = insertelement <8 x float> poison, float %591, i32 0
+ %783 = shufflevector <8 x float> %782, <8 x float> poison, <8 x i32> zeroinitializer
+ %784 = shufflevector <8 x float> %783, <8 x float> %783, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %785 = shufflevector <64 x float> %784, <64 x float> %781, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %786 = insertelement <8 x float> poison, float %536, i32 0
+ %787 = shufflevector <8 x float> %786, <8 x float> poison, <8 x i32> zeroinitializer
+ %788 = shufflevector <8 x float> %787, <8 x float> %787, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %789 = shufflevector <64 x float> %788, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %790 = insertelement <8 x float> poison, float %544, i32 0
+ %791 = shufflevector <8 x float> %790, <8 x float> poison, <8 x i32> zeroinitializer
+ %792 = shufflevector <8 x float> %791, <8 x float> %791, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %793 = shufflevector <64 x float> %792, <64 x float> %789, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %794 = insertelement <8 x float> poison, float %552, i32 0
+ %795 = shufflevector <8 x float> %794, <8 x float> poison, <8 x i32> zeroinitializer
+ %796 = shufflevector <8 x float> %795, <8 x float> %795, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %797 = shufflevector <64 x float> %796, <64 x float> %793, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %798 = insertelement <8 x float> poison, float %560, i32 0
+ %799 = shufflevector <8 x float> %798, <8 x float> poison, <8 x i32> zeroinitializer
+ %800 = shufflevector <8 x float> %799, <8 x float> %799, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %801 = shufflevector <64 x float> %800, <64 x float> %797, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %802 = insertelement <8 x float> poison, float %568, i32 0
+ %803 = shufflevector <8 x float> %802, <8 x float> poison, <8 x i32> zeroinitializer
+ %804 = shufflevector <8 x float> %803, <8 x float> %803, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %805 = shufflevector <64 x float> %804, <64 x float> %801, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %806 = insertelement <8 x float> poison, float %576, i32 0
+ %807 = shufflevector <8 x float> %806, <8 x float> poison, <8 x i32> zeroinitializer
+ %808 = shufflevector <8 x float> %807, <8 x float> %807, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %809 = shufflevector <64 x float> %808, <64 x float> %805, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %810 = insertelement <8 x float> poison, float %584, i32 0
+ %811 = shufflevector <8 x float> %810, <8 x float> poison, <8 x i32> zeroinitializer
+ %812 = shufflevector <8 x float> %811, <8 x float> %811, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %813 = shufflevector <64 x float> %812, <64 x float> %809, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %814 = insertelement <8 x float> poison, float %592, i32 0
+ %815 = shufflevector <8 x float> %814, <8 x float> poison, <8 x i32> zeroinitializer
+ %816 = shufflevector <8 x float> %815, <8 x float> %815, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %817 = shufflevector <64 x float> %816, <64 x float> %813, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %818 = insertelement <8 x float> poison, float %537, i32 0
+ %819 = shufflevector <8 x float> %818, <8 x float> poison, <8 x i32> zeroinitializer
+ %820 = shufflevector <8 x float> %819, <8 x float> %819, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %821 = shufflevector <64 x float> %820, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %822 = insertelement <8 x float> poison, float %545, i32 0
+ %823 = shufflevector <8 x float> %822, <8 x float> poison, <8 x i32> zeroinitializer
+ %824 = shufflevector <8 x float> %823, <8 x float> %823, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %825 = shufflevector <64 x float> %824, <64 x float> %821, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %826 = insertelement <8 x float> poison, float %553, i32 0
+ %827 = shufflevector <8 x float> %826, <8 x float> poison, <8 x i32> zeroinitializer
+ %828 = shufflevector <8 x float> %827, <8 x float> %827, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %829 = shufflevector <64 x float> %828, <64 x float> %825, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %830 = insertelement <8 x float> poison, float %561, i32 0
+ %831 = shufflevector <8 x float> %830, <8 x float> poison, <8 x i32> zeroinitializer
+ %832 = shufflevector <8 x float> %831, <8 x float> %831, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %833 = shufflevector <64 x float> %832, <64 x float> %829, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %834 = insertelement <8 x float> poison, float %569, i32 0
+ %835 = shufflevector <8 x float> %834, <8 x float> poison, <8 x i32> zeroinitializer
+ %836 = shufflevector <8 x float> %835, <8 x float> %835, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %837 = shufflevector <64 x float> %836, <64 x float> %833, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %838 = insertelement <8 x float> poison, float %577, i32 0
+ %839 = shufflevector <8 x float> %838, <8 x float> poison, <8 x i32> zeroinitializer
+ %840 = shufflevector <8 x float> %839, <8 x float> %839, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %841 = shufflevector <64 x float> %840, <64 x float> %837, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %842 = insertelement <8 x float> poison, float %585, i32 0
+ %843 = shufflevector <8 x float> %842, <8 x float> poison, <8 x i32> zeroinitializer
+ %844 = shufflevector <8 x float> %843, <8 x float> %843, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %845 = shufflevector <64 x float> %844, <64 x float> %841, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %846 = insertelement <8 x float> poison, float %593, i32 0
+ %847 = shufflevector <8 x float> %846, <8 x float> poison, <8 x i32> zeroinitializer
+ %848 = shufflevector <8 x float> %847, <8 x float> %847, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %849 = shufflevector <64 x float> %848, <64 x float> %845, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %850 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %851 = shufflevector <64 x float> %850, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %852 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %853 = shufflevector <64 x float> %852, <64 x float> %851, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %854 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %855 = shufflevector <64 x float> %854, <64 x float> %853, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %856 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %857 = shufflevector <64 x float> %856, <64 x float> %855, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %858 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %859 = shufflevector <64 x float> %858, <64 x float> %857, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %860 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %861 = shufflevector <64 x float> %860, <64 x float> %859, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %862 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %863 = shufflevector <64 x float> %862, <64 x float> %861, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %864 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %865 = shufflevector <64 x float> %864, <64 x float> %863, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %866 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %867 = shufflevector <64 x float> %866, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %868 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %869 = shufflevector <64 x float> %868, <64 x float> %867, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %870 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %871 = shufflevector <64 x float> %870, <64 x float> %869, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %872 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %873 = shufflevector <64 x float> %872, <64 x float> %871, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %874 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %875 = shufflevector <64 x float> %874, <64 x float> %873, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %876 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %877 = shufflevector <64 x float> %876, <64 x float> %875, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %878 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %879 = shufflevector <64 x float> %878, <64 x float> %877, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %880 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %881 = shufflevector <64 x float> %880, <64 x float> %879, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %882 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %883 = shufflevector <64 x float> %882, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %884 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %885 = shufflevector <64 x float> %884, <64 x float> %883, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %886 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %887 = shufflevector <64 x float> %886, <64 x float> %885, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %888 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %889 = shufflevector <64 x float> %888, <64 x float> %887, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %890 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %891 = shufflevector <64 x float> %890, <64 x float> %889, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %892 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %893 = shufflevector <64 x float> %892, <64 x float> %891, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %894 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %895 = shufflevector <64 x float> %894, <64 x float> %893, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %896 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %897 = shufflevector <64 x float> %896, <64 x float> %895, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %898 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %899 = shufflevector <64 x float> %898, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %900 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %901 = shufflevector <64 x float> %900, <64 x float> %899, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %902 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %903 = shufflevector <64 x float> %902, <64 x float> %901, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %904 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %905 = shufflevector <64 x float> %904, <64 x float> %903, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %906 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %907 = shufflevector <64 x float> %906, <64 x float> %905, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %908 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %909 = shufflevector <64 x float> %908, <64 x float> %907, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %910 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %911 = shufflevector <64 x float> %910, <64 x float> %909, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %912 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %913 = shufflevector <64 x float> %912, <64 x float> %911, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %914 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %915 = shufflevector <64 x float> %914, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %916 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %917 = shufflevector <64 x float> %916, <64 x float> %915, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %918 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %919 = shufflevector <64 x float> %918, <64 x float> %917, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %920 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %921 = shufflevector <64 x float> %920, <64 x float> %919, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %922 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %923 = shufflevector <64 x float> %922, <64 x float> %921, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %924 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %925 = shufflevector <64 x float> %924, <64 x float> %923, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %926 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %927 = shufflevector <64 x float> %926, <64 x float> %925, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %928 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %929 = shufflevector <64 x float> %928, <64 x float> %927, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %930 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %931 = shufflevector <64 x float> %930, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %932 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %933 = shufflevector <64 x float> %932, <64 x float> %931, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %934 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %935 = shufflevector <64 x float> %934, <64 x float> %933, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %936 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %937 = shufflevector <64 x float> %936, <64 x float> %935, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %938 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %939 = shufflevector <64 x float> %938, <64 x float> %937, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %940 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %941 = shufflevector <64 x float> %940, <64 x float> %939, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %942 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %943 = shufflevector <64 x float> %942, <64 x float> %941, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %944 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %945 = shufflevector <64 x float> %944, <64 x float> %943, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %946 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %947 = shufflevector <64 x float> %946, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %948 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %949 = shufflevector <64 x float> %948, <64 x float> %947, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %950 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %951 = shufflevector <64 x float> %950, <64 x float> %949, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %952 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %953 = shufflevector <64 x float> %952, <64 x float> %951, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %954 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %955 = shufflevector <64 x float> %954, <64 x float> %953, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %956 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %957 = shufflevector <64 x float> %956, <64 x float> %955, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %958 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %959 = shufflevector <64 x float> %958, <64 x float> %957, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %960 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %961 = shufflevector <64 x float> %960, <64 x float> %959, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %962 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %963 = shufflevector <64 x float> %962, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %964 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %965 = shufflevector <64 x float> %964, <64 x float> %963, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %966 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %967 = shufflevector <64 x float> %966, <64 x float> %965, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %968 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %969 = shufflevector <64 x float> %968, <64 x float> %967, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %970 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %971 = shufflevector <64 x float> %970, <64 x float> %969, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %972 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %973 = shufflevector <64 x float> %972, <64 x float> %971, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %974 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %975 = shufflevector <64 x float> %974, <64 x float> %973, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %976 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %977 = shufflevector <64 x float> %976, <64 x float> %975, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %978 = call <64 x float> @llvm.fma.v64f32(<64 x float> %849, <64 x float> %977, <64 x float> zeroinitializer)
+ %979 = call <64 x float> @llvm.fma.v64f32(<64 x float> %817, <64 x float> %961, <64 x float> %978)
+ %980 = call <64 x float> @llvm.fma.v64f32(<64 x float> %785, <64 x float> %945, <64 x float> %979)
+ %981 = call <64 x float> @llvm.fma.v64f32(<64 x float> %753, <64 x float> %929, <64 x float> %980)
+ %982 = call <64 x float> @llvm.fma.v64f32(<64 x float> %721, <64 x float> %913, <64 x float> %981)
+ %983 = call <64 x float> @llvm.fma.v64f32(<64 x float> %689, <64 x float> %897, <64 x float> %982)
+ %984 = call <64 x float> @llvm.fma.v64f32(<64 x float> %657, <64 x float> %881, <64 x float> %983)
+ %985 = call <64 x float> @llvm.fma.v64f32(<64 x float> %625, <64 x float> %865, <64 x float> %984)
+ %986 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %987 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+ %988 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+ %989 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ %990 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+ %991 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+ %992 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+ %993 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ br label %994
+
+994: ; preds = %997, %41
+ %995 = phi i32 [ %1006, %997 ], [ 0, %41 ]
+ %996 = icmp slt i32 %995, 8
+ br i1 %996, label %997, label %1007
+
+997: ; preds = %994
+ %998 = zext i32 %995 to i64
+ %999 = extractelement <8 x float> %986, i64 %998
+ %1000 = add nuw nsw i64 0, %998
+ %1001 = add nuw nsw i64 %1000, 0
+ %1002 = add nuw nsw i64 %1001, 0
+ %1003 = add nuw nsw i64 %1002, 0
+ %1004 = add nuw nsw i64 %1003, 0
+ %1005 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1004
+ store float %999, ptr addrspace(1) %1005, align 4
+ %1006 = add i32 %995, 1
+ br label %994
+
+1007: ; preds = %1010, %994
+ %1008 = phi i32 [ %1019, %1010 ], [ 0, %994 ]
+ %1009 = icmp slt i32 %1008, 8
+ br i1 %1009, label %1010, label %1020
+
+1010: ; preds = %1007
+ %1011 = zext i32 %1008 to i64
+ %1012 = extractelement <8 x float> %987, i64 %1011
+ %1013 = add nuw nsw i64 8, %1011
+ %1014 = add nuw nsw i64 %1013, 0
+ %1015 = add nuw nsw i64 %1014, 0
+ %1016 = add nuw nsw i64 %1015, 0
+ %1017 = add nuw nsw i64 %1016, 0
+ %1018 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1017
+ store float %1012, ptr addrspace(1) %1018, align 4
+ %1019 = add i32 %1008, 1
+ br label %1007
+
+1020: ; preds = %1023, %1007
+ %1021 = phi i32 [ %1032, %1023 ], [ 0, %1007 ]
+ %1022 = icmp slt i32 %1021, 8
+ br i1 %1022, label %1023, label %1033
+
+1023: ; preds = %1020
+ %1024 = zext i32 %1021 to i64
+ %1025 = extractelement <8 x float> %988, i64 %1024
+ %1026 = add nuw nsw i64 16, %1024
+ %1027 = add nuw nsw i64 %1026, 0
+ %1028 = add nuw nsw i64 %1027, 0
+ %1029 = add nuw nsw i64 %1028, 0
+ %1030 = add nuw nsw i64 %1029, 0
+ %1031 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1030
+ store float %1025, ptr addrspace(1) %1031, align 4
+ %1032 = add i32 %1021, 1
+ br label %1020
+
+1033: ; preds = %1036, %1020
+ %1034 = phi i32 [ %1045, %1036 ], [ 0, %1020 ]
+ %1035 = icmp slt i32 %1034, 8
+ br i1 %1035, label %1036, label %1046
+
+1036: ; preds = %1033
+ %1037 = zext i32 %1034 to i64
+ %1038 = extractelement <8 x float> %989, i64 %1037
+ %1039 = add nuw nsw i64 24, %1037
+ %1040 = add nuw nsw i64 %1039, 0
+ %1041 = add nuw nsw i64 %1040, 0
+ %1042 = add nuw nsw i64 %1041, 0
+ %1043 = add nuw nsw i64 %1042, 0
+ %1044 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1043
+ store float %1038, ptr addrspace(1) %1044, align 4
+ %1045 = add i32 %1034, 1
+ br label %1033
+
+1046: ; preds = %1049, %1033
+ %1047 = phi i32 [ %1058, %1049 ], [ 0, %1033 ]
+ %1048 = icmp slt i32 %1047, 8
+ br i1 %1048, label %1049, label %1059
+
+1049: ; preds = %1046
+ %1050 = zext i32 %1047 to i64
+ %1051 = extractelement <8 x float> %990, i64 %1050
+ %1052 = add nuw nsw i64 32, %1050
+ %1053 = add nuw nsw i64 %1052, 0
+ %1054 = add nuw nsw i64 %1053, 0
+ %1055 = add nuw nsw i64 %1054, 0
+ %1056 = add nuw nsw i64 %1055, 0
+ %1057 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1056
+ store float %1051, ptr addrspace(1) %1057, align 4
+ %1058 = add i32 %1047, 1
+ br label %1046
+
+1059: ; preds = %1062, %1046
+ %1060 = phi i32 [ %1071, %1062 ], [ 0, %1046 ]
+ %1061 = icmp slt i32 %1060, 8
+ br i1 %1061, label %1062, label %1072
+
+1062: ; preds = %1059
+ %1063 = zext i32 %1060 to i64
+ %1064 = extractelement <8 x float> %991, i64 %1063
+ %1065 = add nuw nsw i64 40, %1063
+ %1066 = add nuw nsw i64 %1065, 0
+ %1067 = add nuw nsw i64 %1066, 0
+ %1068 = add nuw nsw i64 %1067, 0
+ %1069 = add nuw nsw i64 %1068, 0
+ %1070 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1069
+ store float %1064, ptr addrspace(1) %1070, align 4
+ %1071 = add i32 %1060, 1
+ br label %1059
+
+1072: ; preds = %1075, %1059
+ %1073 = phi i32 [ %1084, %1075 ], [ 0, %1059 ]
+ %1074 = icmp slt i32 %1073, 8
+ br i1 %1074, label %1075, label %1085
+
+1075: ; preds = %1072
+ %1076 = zext i32 %1073 to i64
+ %1077 = extractelement <8 x float> %992, i64 %1076
+ %1078 = add nuw nsw i64 48, %1076
+ %1079 = add nuw nsw i64 %1078, 0
+ %1080 = add nuw nsw i64 %1079, 0
+ %1081 = add nuw nsw i64 %1080, 0
+ %1082 = add nuw nsw i64 %1081, 0
+ %1083 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1082
+ store float %1077, ptr addrspace(1) %1083, align 4
+ %1084 = add i32 %1073, 1
+ br label %1072
+
+1085: ; preds = %1088, %1072
+ %1086 = phi i32 [ %1097, %1088 ], [ 0, %1072 ]
+ %1087 = icmp slt i32 %1086, 8
+ br i1 %1087, label %1088, label %1098
+
+1088: ; preds = %1085
+ %1089 = zext i32 %1086 to i64
+ %1090 = extractelement <8 x float> %993, i64 %1089
+ %1091 = add nuw nsw i64 56, %1089
+ %1092 = add nuw nsw i64 %1091, 0
+ %1093 = add nuw nsw i64 %1092, 0
+ %1094 = add nuw nsw i64 %1093, 0
+ %1095 = add nuw nsw i64 %1094, 0
+ %1096 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1095
+ store float %1090, ptr addrspace(1) %1096, align 4
+ %1097 = add i32 %1086, 1
+ br label %1085
+
+1098: ; preds = %1085
+ ret void
+}
+
+; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
+declare void @llvm.assume(i1 noundef) #1
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.signal(i32 immarg) #2
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.wait(i16 immarg) #2
+
+; Function Attrs: alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
+declare <64 x float> @llvm.fma.v64f32(<64 x float>, <64 x float>, <64 x float>) #3
+
+attributes #0 = { alwaysinline }
+attributes #1 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }
+attributes #2 = { alwaysinline convergent nocallback nofree nounwind willreturn }
+attributes #3 = { alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
+
+!llvm.module.flags = !{!0, !1}
+!spirv.ExecutionMode = !{!3, !4}
+
+!0 = !{i32 2, !"Debug Info Version", i32 3}
+!1 = !{i32 1, !"amdhsa_code_object_version", i32 500}
+!2 = !{!"amdgpu-synchronize-as", !"local"}
+!3 = !{ptr addrspace(4) @_winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
+!4 = !{ptr addrspace(4) @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
new file mode 100644
index 0000000000000..ad5da582cde96
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
@@ -0,0 +1,2426 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - -filetype=obj | spirv-val %}
+
+; This is a repro extracted from IREE.
+
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+ at __constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+
+; Function Attrs: alwaysinline
+define spir_kernel void @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store(ptr addrspace(1) noalias noundef nonnull readonly align 16 %0, ptr addrspace(1) noalias noundef nonnull align 16 %1) addrspace(4) #0 {
+; CHECK-LABEL: _winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK: %106 = OpFunction %11 Inline %12 ; -- Begin function _winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK-NEXT: %104 = OpFunctionParameter %10
+; CHECK-NEXT: %105 = OpFunctionParameter %10
+; CHECK-NEXT: %1228 = OpLabel
+; CHECK-NEXT: %107 = OpBitcast %20 %92
+; CHECK-NEXT: %108 = OpInBoundsPtrAccessChain %20 %107 %52
+; CHECK-NEXT: %109 = OpInBoundsPtrAccessChain %20 %107 %51
+; CHECK-NEXT: %110 = OpInBoundsPtrAccessChain %20 %107 %50
+; CHECK-NEXT: %111 = OpInBoundsPtrAccessChain %20 %107 %49
+; CHECK-NEXT: %112 = OpInBoundsPtrAccessChain %20 %107 %48
+; CHECK-NEXT: %113 = OpInBoundsPtrAccessChain %20 %107 %47
+; CHECK-NEXT: %114 = OpInBoundsPtrAccessChain %20 %107 %46
+; CHECK-NEXT: %115 = OpBitcast %21 %81
+; CHECK-NEXT: %116 = OpInBoundsPtrAccessChain %21 %115 %52
+; CHECK-NEXT: %117 = OpInBoundsPtrAccessChain %21 %115 %51
+; CHECK-NEXT: %118 = OpInBoundsPtrAccessChain %21 %115 %50
+; CHECK-NEXT: %119 = OpInBoundsPtrAccessChain %21 %115 %49
+; CHECK-NEXT: %120 = OpInBoundsPtrAccessChain %21 %115 %48
+; CHECK-NEXT: %121 = OpInBoundsPtrAccessChain %21 %115 %47
+; CHECK-NEXT: %122 = OpInBoundsPtrAccessChain %21 %115 %46
+; CHECK-NEXT: %123 = OpBitcast %21 %91
+; CHECK-NEXT: %124 = OpInBoundsPtrAccessChain %21 %123 %52
+; CHECK-NEXT: %125 = OpInBoundsPtrAccessChain %21 %123 %51
+; CHECK-NEXT: %126 = OpInBoundsPtrAccessChain %21 %123 %50
+; CHECK-NEXT: %127 = OpInBoundsPtrAccessChain %21 %123 %49
+; CHECK-NEXT: %128 = OpInBoundsPtrAccessChain %21 %123 %48
+; CHECK-NEXT: %129 = OpInBoundsPtrAccessChain %21 %123 %47
+; CHECK-NEXT: %130 = OpInBoundsPtrAccessChain %21 %123 %46
+; CHECK-NEXT: OpBranch %1229
+; CHECK-NEXT: %1229 = OpLabel
+; CHECK-NEXT: %131 = OpPhi %13 %132 %1230 %40 %1228
+; CHECK-NEXT: %133 = OpSLessThan %27 %131 %28
+; CHECK-NEXT: OpBranchConditional %133 %1231 %1232
+; CHECK-NEXT: %1232 = OpLabel
+; CHECK-NEXT: OpMemoryBarrier %71 %70
+; CHECK-NEXT: %134 = OpFunctionCall %11 %93 %45
+; CHECK-NEXT: %135 = OpFunctionCall %11 %95 %44
+; CHECK-NEXT: OpMemoryBarrier %71 %71
+; CHECK-NEXT: OpBranch %1233
+; CHECK-NEXT: %1233 = OpLabel
+; CHECK-NEXT: %136 = OpPhi %13 %137 %1234 %40 %1232
+; CHECK-NEXT: %138 = OpSLessThan %27 %136 %43
+; CHECK-NEXT: OpBranchConditional %138 %1235 %1236
+; CHECK-NEXT: %1236 = OpLabel
+; CHECK-NEXT: OpMemoryBarrier %71 %70
+; CHECK-NEXT: %139 = OpFunctionCall %11 %93 %45
+; CHECK-NEXT: %140 = OpFunctionCall %11 %95 %44
+; CHECK-NEXT: OpMemoryBarrier %71 %71
+; CHECK-NEXT: %141 = OpBitcast %23 %92
+; CHECK-NEXT: %142 = OpLoad %22 %141 Aligned 4
+; CHECK-NEXT: %143 = OpBitcast %23 %108
+; CHECK-NEXT: %144 = OpLoad %22 %143 Aligned 4
+; CHECK-NEXT: %145 = OpBitcast %23 %109
+; CHECK-NEXT: %146 = OpLoad %22 %145 Aligned 4
+; CHECK-NEXT: %147 = OpBitcast %23 %110
+; CHECK-NEXT: %148 = OpLoad %22 %147 Aligned 4
+; CHECK-NEXT: %149 = OpBitcast %23 %111
+; CHECK-NEXT: %150 = OpLoad %22 %149 Aligned 4
+; CHECK-NEXT: %151 = OpBitcast %23 %112
+; CHECK-NEXT: %152 = OpLoad %22 %151 Aligned 4
+; CHECK-NEXT: %153 = OpBitcast %23 %113
+; CHECK-NEXT: %154 = OpLoad %22 %153 Aligned 4
+; CHECK-NEXT: %155 = OpBitcast %23 %114
+; CHECK-NEXT: %156 = OpLoad %22 %155 Aligned 4
+; CHECK-NEXT: %157 = OpCompositeExtract %9 %142 0
+; CHECK-NEXT: %158 = OpCompositeExtract %9 %142 1
+; CHECK-NEXT: %159 = OpCompositeExtract %9 %142 2
+; CHECK-NEXT: %160 = OpCompositeExtract %9 %142 3
+; CHECK-NEXT: %161 = OpCompositeExtract %9 %142 4
+; CHECK-NEXT: %162 = OpCompositeExtract %9 %142 5
+; CHECK-NEXT: %163 = OpCompositeExtract %9 %142 6
+; CHECK-NEXT: %164 = OpCompositeExtract %9 %142 7
+; CHECK-NEXT: %165 = OpCompositeExtract %9 %144 0
+; CHECK-NEXT: %166 = OpCompositeExtract %9 %144 1
+; CHECK-NEXT: %167 = OpCompositeExtract %9 %144 2
+; CHECK-NEXT: %168 = OpCompositeExtract %9 %144 3
+; CHECK-NEXT: %169 = OpCompositeExtract %9 %144 4
+; CHECK-NEXT: %170 = OpCompositeExtract %9 %144 5
+; CHECK-NEXT: %171 = OpCompositeExtract %9 %144 6
+; CHECK-NEXT: %172 = OpCompositeExtract %9 %144 7
+; CHECK-NEXT: %173 = OpCompositeExtract %9 %146 0
+; CHECK-NEXT: %174 = OpCompositeExtract %9 %146 1
+; CHECK-NEXT: %175 = OpCompositeExtract %9 %146 2
+; CHECK-NEXT: %176 = OpCompositeExtract %9 %146 3
+; CHECK-NEXT: %177 = OpCompositeExtract %9 %146 4
+; CHECK-NEXT: %178 = OpCompositeExtract %9 %146 5
+; CHECK-NEXT: %179 = OpCompositeExtract %9 %146 6
+; CHECK-NEXT: %180 = OpCompositeExtract %9 %146 7
+; CHECK-NEXT: %181 = OpCompositeExtract %9 %148 0
+; CHECK-NEXT: %182 = OpCompositeExtract %9 %148 1
+; CHECK-NEXT: %183 = OpCompositeExtract %9 %148 2
+; CHECK-NEXT: %184 = OpCompositeExtract %9 %148 3
+; CHECK-NEXT: %185 = OpCompositeExtract %9 %148 4
+; CHECK-NEXT: %186 = OpCompositeExtract %9 %148 5
+; CHECK-NEXT: %187 = OpCompositeExtract %9 %148 6
+; CHECK-NEXT: %188 = OpCompositeExtract %9 %148 7
+; CHECK-NEXT: %189 = OpCompositeExtract %9 %150 0
+; CHECK-NEXT: %190 = OpCompositeExtract %9 %150 1
+; CHECK-NEXT: %191 = OpCompositeExtract %9 %150 2
+; CHECK-NEXT: %192 = OpCompositeExtract %9 %150 3
+; CHECK-NEXT: %193 = OpCompositeExtract %9 %150 4
+; CHECK-NEXT: %194 = OpCompositeExtract %9 %150 5
+; CHECK-NEXT: %195 = OpCompositeExtract %9 %150 6
+; CHECK-NEXT: %196 = OpCompositeExtract %9 %150 7
+; CHECK-NEXT: %197 = OpCompositeExtract %9 %152 0
+; CHECK-NEXT: %198 = OpCompositeExtract %9 %152 1
+; CHECK-NEXT: %199 = OpCompositeExtract %9 %152 2
+; CHECK-NEXT: %200 = OpCompositeExtract %9 %152 3
+; CHECK-NEXT: %201 = OpCompositeExtract %9 %152 4
+; CHECK-NEXT: %202 = OpCompositeExtract %9 %152 5
+; CHECK-NEXT: %203 = OpCompositeExtract %9 %152 6
+; CHECK-NEXT: %204 = OpCompositeExtract %9 %152 7
+; CHECK-NEXT: %205 = OpCompositeExtract %9 %154 0
+; CHECK-NEXT: %206 = OpCompositeExtract %9 %154 1
+; CHECK-NEXT: %207 = OpCompositeExtract %9 %154 2
+; CHECK-NEXT: %208 = OpCompositeExtract %9 %154 3
+; CHECK-NEXT: %209 = OpCompositeExtract %9 %154 4
+; CHECK-NEXT: %210 = OpCompositeExtract %9 %154 5
+; CHECK-NEXT: %211 = OpCompositeExtract %9 %154 6
+; CHECK-NEXT: %212 = OpCompositeExtract %9 %154 7
+; CHECK-NEXT: %213 = OpCompositeExtract %9 %156 0
+; CHECK-NEXT: %214 = OpCompositeExtract %9 %156 1
+; CHECK-NEXT: %215 = OpCompositeExtract %9 %156 2
+; CHECK-NEXT: %216 = OpCompositeExtract %9 %156 3
+; CHECK-NEXT: %217 = OpCompositeExtract %9 %156 4
+; CHECK-NEXT: %218 = OpCompositeExtract %9 %156 5
+; CHECK-NEXT: %219 = OpCompositeExtract %9 %156 6
+; CHECK-NEXT: %220 = OpCompositeExtract %9 %156 7
+; CHECK-NEXT: %221 = OpBitcast %24 %81
+; CHECK-NEXT: %222 = OpLoad %22 %221 Aligned 4
+; CHECK-NEXT: %223 = OpBitcast %24 %116
+; CHECK-NEXT: %224 = OpLoad %22 %223 Aligned 4
+; CHECK-NEXT: %225 = OpBitcast %24 %117
+; CHECK-NEXT: %226 = OpLoad %22 %225 Aligned 4
+; CHECK-NEXT: %227 = OpBitcast %24 %118
+; CHECK-NEXT: %228 = OpLoad %22 %227 Aligned 4
+; CHECK-NEXT: %229 = OpBitcast %24 %119
+; CHECK-NEXT: %230 = OpLoad %22 %229 Aligned 4
+; CHECK-NEXT: %231 = OpBitcast %24 %120
+; CHECK-NEXT: %232 = OpLoad %22 %231 Aligned 4
+; CHECK-NEXT: %233 = OpBitcast %24 %121
+; CHECK-NEXT: %234 = OpLoad %22 %233 Aligned 4
+; CHECK-NEXT: %235 = OpBitcast %24 %122
+; CHECK-NEXT: %236 = OpLoad %22 %235 Aligned 4
+; CHECK-NEXT: %237 = OpCompositeInsert %22 %157 %97 0
+; CHECK-NEXT: %238 = OpVectorShuffle %22 %237 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %239 = OpVectorShuffle %17 %238 %238 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %240 = OpVectorShuffle %17 %239 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %241 = OpCompositeInsert %22 %165 %97 0
+; CHECK-NEXT: %242 = OpVectorShuffle %22 %241 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %243 = OpVectorShuffle %17 %242 %242 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %244 = OpVectorShuffle %17 %243 %240 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %245 = OpCompositeInsert %22 %173 %97 0
+; CHECK-NEXT: %246 = OpVectorShuffle %22 %245 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %247 = OpVectorShuffle %17 %246 %246 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %248 = OpVectorShuffle %17 %247 %244 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %249 = OpCompositeInsert %22 %181 %97 0
+; CHECK-NEXT: %250 = OpVectorShuffle %22 %249 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %251 = OpVectorShuffle %17 %250 %250 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %252 = OpVectorShuffle %17 %251 %248 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %253 = OpCompositeInsert %22 %189 %97 0
+; CHECK-NEXT: %254 = OpVectorShuffle %22 %253 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %255 = OpVectorShuffle %17 %254 %254 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %256 = OpVectorShuffle %17 %255 %252 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %257 = OpCompositeInsert %22 %197 %97 0
+; CHECK-NEXT: %258 = OpVectorShuffle %22 %257 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %259 = OpVectorShuffle %17 %258 %258 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %260 = OpVectorShuffle %17 %259 %256 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %261 = OpCompositeInsert %22 %205 %97 0
+; CHECK-NEXT: %262 = OpVectorShuffle %22 %261 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %263 = OpVectorShuffle %17 %262 %262 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %264 = OpVectorShuffle %17 %263 %260 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %265 = OpCompositeInsert %22 %213 %97 0
+; CHECK-NEXT: %266 = OpVectorShuffle %22 %265 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %267 = OpVectorShuffle %17 %266 %266 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %268 = OpVectorShuffle %17 %267 %264 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %269 = OpCompositeInsert %22 %158 %97 0
+; CHECK-NEXT: %270 = OpVectorShuffle %22 %269 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %271 = OpVectorShuffle %17 %270 %270 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %272 = OpVectorShuffle %17 %271 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %273 = OpCompositeInsert %22 %166 %97 0
+; CHECK-NEXT: %274 = OpVectorShuffle %22 %273 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %275 = OpVectorShuffle %17 %274 %274 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %276 = OpVectorShuffle %17 %275 %272 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %277 = OpCompositeInsert %22 %174 %97 0
+; CHECK-NEXT: %278 = OpVectorShuffle %22 %277 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %279 = OpVectorShuffle %17 %278 %278 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %280 = OpVectorShuffle %17 %279 %276 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %281 = OpCompositeInsert %22 %182 %97 0
+; CHECK-NEXT: %282 = OpVectorShuffle %22 %281 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %283 = OpVectorShuffle %17 %282 %282 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %284 = OpVectorShuffle %17 %283 %280 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %285 = OpCompositeInsert %22 %190 %97 0
+; CHECK-NEXT: %286 = OpVectorShuffle %22 %285 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %287 = OpVectorShuffle %17 %286 %286 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %288 = OpVectorShuffle %17 %287 %284 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %289 = OpCompositeInsert %22 %198 %97 0
+; CHECK-NEXT: %290 = OpVectorShuffle %22 %289 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %291 = OpVectorShuffle %17 %290 %290 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %292 = OpVectorShuffle %17 %291 %288 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %293 = OpCompositeInsert %22 %206 %97 0
+; CHECK-NEXT: %294 = OpVectorShuffle %22 %293 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %295 = OpVectorShuffle %17 %294 %294 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %296 = OpVectorShuffle %17 %295 %292 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %297 = OpCompositeInsert %22 %214 %97 0
+; CHECK-NEXT: %298 = OpVectorShuffle %22 %297 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %299 = OpVectorShuffle %17 %298 %298 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %300 = OpVectorShuffle %17 %299 %296 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %301 = OpCompositeInsert %22 %159 %97 0
+; CHECK-NEXT: %302 = OpVectorShuffle %22 %301 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %303 = OpVectorShuffle %17 %302 %302 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %304 = OpVectorShuffle %17 %303 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %305 = OpCompositeInsert %22 %167 %97 0
+; CHECK-NEXT: %306 = OpVectorShuffle %22 %305 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %307 = OpVectorShuffle %17 %306 %306 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %308 = OpVectorShuffle %17 %307 %304 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %309 = OpCompositeInsert %22 %175 %97 0
+; CHECK-NEXT: %310 = OpVectorShuffle %22 %309 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %311 = OpVectorShuffle %17 %310 %310 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %312 = OpVectorShuffle %17 %311 %308 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %313 = OpCompositeInsert %22 %183 %97 0
+; CHECK-NEXT: %314 = OpVectorShuffle %22 %313 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %315 = OpVectorShuffle %17 %314 %314 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %316 = OpVectorShuffle %17 %315 %312 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %317 = OpCompositeInsert %22 %191 %97 0
+; CHECK-NEXT: %318 = OpVectorShuffle %22 %317 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %319 = OpVectorShuffle %17 %318 %318 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %320 = OpVectorShuffle %17 %319 %316 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %321 = OpCompositeInsert %22 %199 %97 0
+; CHECK-NEXT: %322 = OpVectorShuffle %22 %321 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %323 = OpVectorShuffle %17 %322 %322 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %324 = OpVectorShuffle %17 %323 %320 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %325 = OpCompositeInsert %22 %207 %97 0
+; CHECK-NEXT: %326 = OpVectorShuffle %22 %325 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %327 = OpVectorShuffle %17 %326 %326 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %328 = OpVectorShuffle %17 %327 %324 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %329 = OpCompositeInsert %22 %215 %97 0
+; CHECK-NEXT: %330 = OpVectorShuffle %22 %329 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %331 = OpVectorShuffle %17 %330 %330 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %332 = OpVectorShuffle %17 %331 %328 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %333 = OpCompositeInsert %22 %160 %97 0
+; CHECK-NEXT: %334 = OpVectorShuffle %22 %333 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %335 = OpVectorShuffle %17 %334 %334 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %336 = OpVectorShuffle %17 %335 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %337 = OpCompositeInsert %22 %168 %97 0
+; CHECK-NEXT: %338 = OpVectorShuffle %22 %337 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %339 = OpVectorShuffle %17 %338 %338 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %340 = OpVectorShuffle %17 %339 %336 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %341 = OpCompositeInsert %22 %176 %97 0
+; CHECK-NEXT: %342 = OpVectorShuffle %22 %341 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %343 = OpVectorShuffle %17 %342 %342 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %344 = OpVectorShuffle %17 %343 %340 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %345 = OpCompositeInsert %22 %184 %97 0
+; CHECK-NEXT: %346 = OpVectorShuffle %22 %345 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %347 = OpVectorShuffle %17 %346 %346 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %348 = OpVectorShuffle %17 %347 %344 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %349 = OpCompositeInsert %22 %192 %97 0
+; CHECK-NEXT: %350 = OpVectorShuffle %22 %349 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %351 = OpVectorShuffle %17 %350 %350 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %352 = OpVectorShuffle %17 %351 %348 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %353 = OpCompositeInsert %22 %200 %97 0
+; CHECK-NEXT: %354 = OpVectorShuffle %22 %353 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %355 = OpVectorShuffle %17 %354 %354 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %356 = OpVectorShuffle %17 %355 %352 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %357 = OpCompositeInsert %22 %208 %97 0
+; CHECK-NEXT: %358 = OpVectorShuffle %22 %357 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %359 = OpVectorShuffle %17 %358 %358 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %360 = OpVectorShuffle %17 %359 %356 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %361 = OpCompositeInsert %22 %216 %97 0
+; CHECK-NEXT: %362 = OpVectorShuffle %22 %361 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %363 = OpVectorShuffle %17 %362 %362 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %364 = OpVectorShuffle %17 %363 %360 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %365 = OpCompositeInsert %22 %161 %97 0
+; CHECK-NEXT: %366 = OpVectorShuffle %22 %365 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %367 = OpVectorShuffle %17 %366 %366 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %368 = OpVectorShuffle %17 %367 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %369 = OpCompositeInsert %22 %169 %97 0
+; CHECK-NEXT: %370 = OpVectorShuffle %22 %369 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %371 = OpVectorShuffle %17 %370 %370 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %372 = OpVectorShuffle %17 %371 %368 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %373 = OpCompositeInsert %22 %177 %97 0
+; CHECK-NEXT: %374 = OpVectorShuffle %22 %373 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %375 = OpVectorShuffle %17 %374 %374 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %376 = OpVectorShuffle %17 %375 %372 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %377 = OpCompositeInsert %22 %185 %97 0
+; CHECK-NEXT: %378 = OpVectorShuffle %22 %377 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %379 = OpVectorShuffle %17 %378 %378 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %380 = OpVectorShuffle %17 %379 %376 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %381 = OpCompositeInsert %22 %193 %97 0
+; CHECK-NEXT: %382 = OpVectorShuffle %22 %381 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %383 = OpVectorShuffle %17 %382 %382 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %384 = OpVectorShuffle %17 %383 %380 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %385 = OpCompositeInsert %22 %201 %97 0
+; CHECK-NEXT: %386 = OpVectorShuffle %22 %385 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %387 = OpVectorShuffle %17 %386 %386 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %388 = OpVectorShuffle %17 %387 %384 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %389 = OpCompositeInsert %22 %209 %97 0
+; CHECK-NEXT: %390 = OpVectorShuffle %22 %389 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %391 = OpVectorShuffle %17 %390 %390 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %392 = OpVectorShuffle %17 %391 %388 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %393 = OpCompositeInsert %22 %217 %97 0
+; CHECK-NEXT: %394 = OpVectorShuffle %22 %393 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %395 = OpVectorShuffle %17 %394 %394 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %396 = OpVectorShuffle %17 %395 %392 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %397 = OpCompositeInsert %22 %162 %97 0
+; CHECK-NEXT: %398 = OpVectorShuffle %22 %397 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %399 = OpVectorShuffle %17 %398 %398 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %400 = OpVectorShuffle %17 %399 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %401 = OpCompositeInsert %22 %170 %97 0
+; CHECK-NEXT: %402 = OpVectorShuffle %22 %401 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %403 = OpVectorShuffle %17 %402 %402 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %404 = OpVectorShuffle %17 %403 %400 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %405 = OpCompositeInsert %22 %178 %97 0
+; CHECK-NEXT: %406 = OpVectorShuffle %22 %405 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %407 = OpVectorShuffle %17 %406 %406 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %408 = OpVectorShuffle %17 %407 %404 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %409 = OpCompositeInsert %22 %186 %97 0
+; CHECK-NEXT: %410 = OpVectorShuffle %22 %409 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %411 = OpVectorShuffle %17 %410 %410 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %412 = OpVectorShuffle %17 %411 %408 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %413 = OpCompositeInsert %22 %194 %97 0
+; CHECK-NEXT: %414 = OpVectorShuffle %22 %413 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %415 = OpVectorShuffle %17 %414 %414 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %416 = OpVectorShuffle %17 %415 %412 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %417 = OpCompositeInsert %22 %202 %97 0
+; CHECK-NEXT: %418 = OpVectorShuffle %22 %417 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %419 = OpVectorShuffle %17 %418 %418 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %420 = OpVectorShuffle %17 %419 %416 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %421 = OpCompositeInsert %22 %210 %97 0
+; CHECK-NEXT: %422 = OpVectorShuffle %22 %421 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %423 = OpVectorShuffle %17 %422 %422 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %424 = OpVectorShuffle %17 %423 %420 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %425 = OpCompositeInsert %22 %218 %97 0
+; CHECK-NEXT: %426 = OpVectorShuffle %22 %425 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %427 = OpVectorShuffle %17 %426 %426 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %428 = OpVectorShuffle %17 %427 %424 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %429 = OpCompositeInsert %22 %163 %97 0
+; CHECK-NEXT: %430 = OpVectorShuffle %22 %429 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %431 = OpVectorShuffle %17 %430 %430 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %432 = OpVectorShuffle %17 %431 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %433 = OpCompositeInsert %22 %171 %97 0
+; CHECK-NEXT: %434 = OpVectorShuffle %22 %433 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %435 = OpVectorShuffle %17 %434 %434 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %436 = OpVectorShuffle %17 %435 %432 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %437 = OpCompositeInsert %22 %179 %97 0
+; CHECK-NEXT: %438 = OpVectorShuffle %22 %437 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %439 = OpVectorShuffle %17 %438 %438 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %440 = OpVectorShuffle %17 %439 %436 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %441 = OpCompositeInsert %22 %187 %97 0
+; CHECK-NEXT: %442 = OpVectorShuffle %22 %441 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %443 = OpVectorShuffle %17 %442 %442 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %444 = OpVectorShuffle %17 %443 %440 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %445 = OpCompositeInsert %22 %195 %97 0
+; CHECK-NEXT: %446 = OpVectorShuffle %22 %445 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %447 = OpVectorShuffle %17 %446 %446 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %448 = OpVectorShuffle %17 %447 %444 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %449 = OpCompositeInsert %22 %203 %97 0
+; CHECK-NEXT: %450 = OpVectorShuffle %22 %449 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %451 = OpVectorShuffle %17 %450 %450 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %452 = OpVectorShuffle %17 %451 %448 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %453 = OpCompositeInsert %22 %211 %97 0
+; CHECK-NEXT: %454 = OpVectorShuffle %22 %453 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %455 = OpVectorShuffle %17 %454 %454 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %456 = OpVectorShuffle %17 %455 %452 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %457 = OpCompositeInsert %22 %219 %97 0
+; CHECK-NEXT: %458 = OpVectorShuffle %22 %457 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %459 = OpVectorShuffle %17 %458 %458 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %460 = OpVectorShuffle %17 %459 %456 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %461 = OpCompositeInsert %22 %164 %97 0
+; CHECK-NEXT: %462 = OpVectorShuffle %22 %461 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %463 = OpVectorShuffle %17 %462 %462 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %464 = OpVectorShuffle %17 %463 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %465 = OpCompositeInsert %22 %172 %97 0
+; CHECK-NEXT: %466 = OpVectorShuffle %22 %465 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %467 = OpVectorShuffle %17 %466 %466 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %468 = OpVectorShuffle %17 %467 %464 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %469 = OpCompositeInsert %22 %180 %97 0
+; CHECK-NEXT: %470 = OpVectorShuffle %22 %469 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %471 = OpVectorShuffle %17 %470 %470 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %472 = OpVectorShuffle %17 %471 %468 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %473 = OpCompositeInsert %22 %188 %97 0
+; CHECK-NEXT: %474 = OpVectorShuffle %22 %473 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %475 = OpVectorShuffle %17 %474 %474 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %476 = OpVectorShuffle %17 %475 %472 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %477 = OpCompositeInsert %22 %196 %97 0
+; CHECK-NEXT: %478 = OpVectorShuffle %22 %477 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %479 = OpVectorShuffle %17 %478 %478 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %480 = OpVectorShuffle %17 %479 %476 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %481 = OpCompositeInsert %22 %204 %97 0
+; CHECK-NEXT: %482 = OpVectorShuffle %22 %481 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %483 = OpVectorShuffle %17 %482 %482 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %484 = OpVectorShuffle %17 %483 %480 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %485 = OpCompositeInsert %22 %212 %97 0
+; CHECK-NEXT: %486 = OpVectorShuffle %22 %485 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %487 = OpVectorShuffle %17 %486 %486 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %488 = OpVectorShuffle %17 %487 %484 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %489 = OpCompositeInsert %22 %220 %97 0
+; CHECK-NEXT: %490 = OpVectorShuffle %22 %489 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %491 = OpVectorShuffle %17 %490 %490 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %492 = OpVectorShuffle %17 %491 %488 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %493 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %494 = OpVectorShuffle %17 %493 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %495 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %496 = OpVectorShuffle %17 %495 %494 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %497 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %498 = OpVectorShuffle %17 %497 %496 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %499 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %500 = OpVectorShuffle %17 %499 %498 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %501 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %502 = OpVectorShuffle %17 %501 %500 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %503 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %504 = OpVectorShuffle %17 %503 %502 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %505 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %506 = OpVectorShuffle %17 %505 %504 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %507 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %508 = OpVectorShuffle %17 %507 %506 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %509 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %510 = OpVectorShuffle %17 %509 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %511 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %512 = OpVectorShuffle %17 %511 %510 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %513 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %514 = OpVectorShuffle %17 %513 %512 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %515 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %516 = OpVectorShuffle %17 %515 %514 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %517 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %518 = OpVectorShuffle %17 %517 %516 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %519 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %520 = OpVectorShuffle %17 %519 %518 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %521 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %522 = OpVectorShuffle %17 %521 %520 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %523 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %524 = OpVectorShuffle %17 %523 %522 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %525 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %526 = OpVectorShuffle %17 %525 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %527 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %528 = OpVectorShuffle %17 %527 %526 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %529 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %530 = OpVectorShuffle %17 %529 %528 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %531 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %532 = OpVectorShuffle %17 %531 %530 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %533 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %534 = OpVectorShuffle %17 %533 %532 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %535 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %536 = OpVectorShuffle %17 %535 %534 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %537 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %538 = OpVectorShuffle %17 %537 %536 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %539 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %540 = OpVectorShuffle %17 %539 %538 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %541 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %542 = OpVectorShuffle %17 %541 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %543 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %544 = OpVectorShuffle %17 %543 %542 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %545 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %546 = OpVectorShuffle %17 %545 %544 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %547 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %548 = OpVectorShuffle %17 %547 %546 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %549 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %550 = OpVectorShuffle %17 %549 %548 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %551 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %552 = OpVectorShuffle %17 %551 %550 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %553 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %554 = OpVectorShuffle %17 %553 %552 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %555 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %556 = OpVectorShuffle %17 %555 %554 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %557 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %558 = OpVectorShuffle %17 %557 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %559 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %560 = OpVectorShuffle %17 %559 %558 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %561 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %562 = OpVectorShuffle %17 %561 %560 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %563 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %564 = OpVectorShuffle %17 %563 %562 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %565 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %566 = OpVectorShuffle %17 %565 %564 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %567 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %568 = OpVectorShuffle %17 %567 %566 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %569 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %570 = OpVectorShuffle %17 %569 %568 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %571 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %572 = OpVectorShuffle %17 %571 %570 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %573 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %574 = OpVectorShuffle %17 %573 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %575 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %576 = OpVectorShuffle %17 %575 %574 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %577 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %578 = OpVectorShuffle %17 %577 %576 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %579 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %580 = OpVectorShuffle %17 %579 %578 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %581 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %582 = OpVectorShuffle %17 %581 %580 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %583 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %584 = OpVectorShuffle %17 %583 %582 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %585 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %586 = OpVectorShuffle %17 %585 %584 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %587 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %588 = OpVectorShuffle %17 %587 %586 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %589 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %590 = OpVectorShuffle %17 %589 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %591 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %592 = OpVectorShuffle %17 %591 %590 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %593 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %594 = OpVectorShuffle %17 %593 %592 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %595 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %596 = OpVectorShuffle %17 %595 %594 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %597 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %598 = OpVectorShuffle %17 %597 %596 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %599 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %600 = OpVectorShuffle %17 %599 %598 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %601 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %602 = OpVectorShuffle %17 %601 %600 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %603 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %604 = OpVectorShuffle %17 %603 %602 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %605 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %606 = OpVectorShuffle %17 %605 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %607 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %608 = OpVectorShuffle %17 %607 %606 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %609 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %610 = OpVectorShuffle %17 %609 %608 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %611 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %612 = OpVectorShuffle %17 %611 %610 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %613 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %614 = OpVectorShuffle %17 %613 %612 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %615 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %616 = OpVectorShuffle %17 %615 %614 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %617 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %618 = OpVectorShuffle %17 %617 %616 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %619 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %620 = OpVectorShuffle %17 %619 %618 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %621 = OpFunctionCall %17 %100 %492 %620 %99
+; CHECK-NEXT: %622 = OpFunctionCall %17 %100 %460 %604 %621
+; CHECK-NEXT: %623 = OpFunctionCall %17 %100 %428 %588 %622
+; CHECK-NEXT: %624 = OpFunctionCall %17 %100 %396 %572 %623
+; CHECK-NEXT: %625 = OpFunctionCall %17 %100 %364 %556 %624
+; CHECK-NEXT: %626 = OpFunctionCall %17 %100 %332 %540 %625
+; CHECK-NEXT: %627 = OpFunctionCall %17 %100 %300 %524 %626
+; CHECK-NEXT: %628 = OpFunctionCall %17 %100 %268 %508 %627
+; CHECK-NEXT: %629 = OpVectorShuffle %22 %628 %628 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %630 = OpVectorShuffle %22 %628 %628 8 9 10 11 12 13 14 15
+; CHECK-NEXT: %631 = OpVectorShuffle %22 %628 %628 16 17 18 19 20 21 22 23
+; CHECK-NEXT: %632 = OpVectorShuffle %22 %628 %628 24 25 26 27 28 29 30 31
+; CHECK-NEXT: %633 = OpVectorShuffle %22 %628 %628 32 33 34 35 36 37 38 39
+; CHECK-NEXT: %634 = OpVectorShuffle %22 %628 %628 40 41 42 43 44 45 46 47
+; CHECK-NEXT: %635 = OpVectorShuffle %22 %628 %628 48 49 50 51 52 53 54 55
+; CHECK-NEXT: %636 = OpVectorShuffle %22 %628 %628 56 57 58 59 60 61 62 63
+; CHECK-NEXT: %637 = OpBitcast %24 %91
+; CHECK-NEXT: %638 = OpLoad %22 %637 Aligned 4
+; CHECK-NEXT: %639 = OpBitcast %24 %124
+; CHECK-NEXT: %640 = OpLoad %22 %639 Aligned 4
+; CHECK-NEXT: %641 = OpBitcast %24 %125
+; CHECK-NEXT: %642 = OpLoad %22 %641 Aligned 4
+; CHECK-NEXT: %643 = OpBitcast %24 %126
+; CHECK-NEXT: %644 = OpLoad %22 %643 Aligned 4
+; CHECK-NEXT: %645 = OpBitcast %24 %127
+; CHECK-NEXT: %646 = OpLoad %22 %645 Aligned 4
+; CHECK-NEXT: %647 = OpBitcast %24 %128
+; CHECK-NEXT: %648 = OpLoad %22 %647 Aligned 4
+; CHECK-NEXT: %649 = OpBitcast %24 %129
+; CHECK-NEXT: %650 = OpLoad %22 %649 Aligned 4
+; CHECK-NEXT: %651 = OpBitcast %24 %130
+; CHECK-NEXT: %652 = OpLoad %22 %651 Aligned 4
+; CHECK-NEXT: %653 = OpCompositeExtract %9 %638 0
+; CHECK-NEXT: %654 = OpCompositeExtract %9 %638 1
+; CHECK-NEXT: %655 = OpCompositeExtract %9 %638 2
+; CHECK-NEXT: %656 = OpCompositeExtract %9 %638 3
+; CHECK-NEXT: %657 = OpCompositeExtract %9 %638 4
+; CHECK-NEXT: %658 = OpCompositeExtract %9 %638 5
+; CHECK-NEXT: %659 = OpCompositeExtract %9 %638 6
+; CHECK-NEXT: %660 = OpCompositeExtract %9 %638 7
+; CHECK-NEXT: %661 = OpCompositeExtract %9 %640 0
+; CHECK-NEXT: %662 = OpCompositeExtract %9 %640 1
+; CHECK-NEXT: %663 = OpCompositeExtract %9 %640 2
+; CHECK-NEXT: %664 = OpCompositeExtract %9 %640 3
+; CHECK-NEXT: %665 = OpCompositeExtract %9 %640 4
+; CHECK-NEXT: %666 = OpCompositeExtract %9 %640 5
+; CHECK-NEXT: %667 = OpCompositeExtract %9 %640 6
+; CHECK-NEXT: %668 = OpCompositeExtract %9 %640 7
+; CHECK-NEXT: %669 = OpCompositeExtract %9 %642 0
+; CHECK-NEXT: %670 = OpCompositeExtract %9 %642 1
+; CHECK-NEXT: %671 = OpCompositeExtract %9 %642 2
+; CHECK-NEXT: %672 = OpCompositeExtract %9 %642 3
+; CHECK-NEXT: %673 = OpCompositeExtract %9 %642 4
+; CHECK-NEXT: %674 = OpCompositeExtract %9 %642 5
+; CHECK-NEXT: %675 = OpCompositeExtract %9 %642 6
+; CHECK-NEXT: %676 = OpCompositeExtract %9 %642 7
+; CHECK-NEXT: %677 = OpCompositeExtract %9 %644 0
+; CHECK-NEXT: %678 = OpCompositeExtract %9 %644 1
+; CHECK-NEXT: %679 = OpCompositeExtract %9 %644 2
+; CHECK-NEXT: %680 = OpCompositeExtract %9 %644 3
+; CHECK-NEXT: %681 = OpCompositeExtract %9 %644 4
+; CHECK-NEXT: %682 = OpCompositeExtract %9 %644 5
+; CHECK-NEXT: %683 = OpCompositeExtract %9 %644 6
+; CHECK-NEXT: %684 = OpCompositeExtract %9 %644 7
+; CHECK-NEXT: %685 = OpCompositeExtract %9 %646 0
+; CHECK-NEXT: %686 = OpCompositeExtract %9 %646 1
+; CHECK-NEXT: %687 = OpCompositeExtract %9 %646 2
+; CHECK-NEXT: %688 = OpCompositeExtract %9 %646 3
+; CHECK-NEXT: %689 = OpCompositeExtract %9 %646 4
+; CHECK-NEXT: %690 = OpCompositeExtract %9 %646 5
+; CHECK-NEXT: %691 = OpCompositeExtract %9 %646 6
+; CHECK-NEXT: %692 = OpCompositeExtract %9 %646 7
+; CHECK-NEXT: %693 = OpCompositeExtract %9 %648 0
+; CHECK-NEXT: %694 = OpCompositeExtract %9 %648 1
+; CHECK-NEXT: %695 = OpCompositeExtract %9 %648 2
+; CHECK-NEXT: %696 = OpCompositeExtract %9 %648 3
+; CHECK-NEXT: %697 = OpCompositeExtract %9 %648 4
+; CHECK-NEXT: %698 = OpCompositeExtract %9 %648 5
+; CHECK-NEXT: %699 = OpCompositeExtract %9 %648 6
+; CHECK-NEXT: %700 = OpCompositeExtract %9 %648 7
+; CHECK-NEXT: %701 = OpCompositeExtract %9 %650 0
+; CHECK-NEXT: %702 = OpCompositeExtract %9 %650 1
+; CHECK-NEXT: %703 = OpCompositeExtract %9 %650 2
+; CHECK-NEXT: %704 = OpCompositeExtract %9 %650 3
+; CHECK-NEXT: %705 = OpCompositeExtract %9 %650 4
+; CHECK-NEXT: %706 = OpCompositeExtract %9 %650 5
+; CHECK-NEXT: %707 = OpCompositeExtract %9 %650 6
+; CHECK-NEXT: %708 = OpCompositeExtract %9 %650 7
+; CHECK-NEXT: %709 = OpCompositeExtract %9 %652 0
+; CHECK-NEXT: %710 = OpCompositeExtract %9 %652 1
+; CHECK-NEXT: %711 = OpCompositeExtract %9 %652 2
+; CHECK-NEXT: %712 = OpCompositeExtract %9 %652 3
+; CHECK-NEXT: %713 = OpCompositeExtract %9 %652 4
+; CHECK-NEXT: %714 = OpCompositeExtract %9 %652 5
+; CHECK-NEXT: %715 = OpCompositeExtract %9 %652 6
+; CHECK-NEXT: %716 = OpCompositeExtract %9 %652 7
+; CHECK-NEXT: %717 = OpCompositeInsert %22 %653 %97 0
+; CHECK-NEXT: %718 = OpVectorShuffle %22 %717 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %719 = OpVectorShuffle %17 %718 %718 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %720 = OpVectorShuffle %17 %719 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %721 = OpCompositeInsert %22 %661 %97 0
+; CHECK-NEXT: %722 = OpVectorShuffle %22 %721 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %723 = OpVectorShuffle %17 %722 %722 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %724 = OpVectorShuffle %17 %723 %720 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %725 = OpCompositeInsert %22 %669 %97 0
+; CHECK-NEXT: %726 = OpVectorShuffle %22 %725 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %727 = OpVectorShuffle %17 %726 %726 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %728 = OpVectorShuffle %17 %727 %724 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %729 = OpCompositeInsert %22 %677 %97 0
+; CHECK-NEXT: %730 = OpVectorShuffle %22 %729 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %731 = OpVectorShuffle %17 %730 %730 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %732 = OpVectorShuffle %17 %731 %728 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %733 = OpCompositeInsert %22 %685 %97 0
+; CHECK-NEXT: %734 = OpVectorShuffle %22 %733 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %735 = OpVectorShuffle %17 %734 %734 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %736 = OpVectorShuffle %17 %735 %732 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %737 = OpCompositeInsert %22 %693 %97 0
+; CHECK-NEXT: %738 = OpVectorShuffle %22 %737 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %739 = OpVectorShuffle %17 %738 %738 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %740 = OpVectorShuffle %17 %739 %736 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %741 = OpCompositeInsert %22 %701 %97 0
+; CHECK-NEXT: %742 = OpVectorShuffle %22 %741 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %743 = OpVectorShuffle %17 %742 %742 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %744 = OpVectorShuffle %17 %743 %740 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %745 = OpCompositeInsert %22 %709 %97 0
+; CHECK-NEXT: %746 = OpVectorShuffle %22 %745 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %747 = OpVectorShuffle %17 %746 %746 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %748 = OpVectorShuffle %17 %747 %744 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %749 = OpCompositeInsert %22 %654 %97 0
+; CHECK-NEXT: %750 = OpVectorShuffle %22 %749 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %751 = OpVectorShuffle %17 %750 %750 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %752 = OpVectorShuffle %17 %751 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %753 = OpCompositeInsert %22 %662 %97 0
+; CHECK-NEXT: %754 = OpVectorShuffle %22 %753 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %755 = OpVectorShuffle %17 %754 %754 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %756 = OpVectorShuffle %17 %755 %752 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %757 = OpCompositeInsert %22 %670 %97 0
+; CHECK-NEXT: %758 = OpVectorShuffle %22 %757 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %759 = OpVectorShuffle %17 %758 %758 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %760 = OpVectorShuffle %17 %759 %756 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %761 = OpCompositeInsert %22 %678 %97 0
+; CHECK-NEXT: %762 = OpVectorShuffle %22 %761 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %763 = OpVectorShuffle %17 %762 %762 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %764 = OpVectorShuffle %17 %763 %760 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %765 = OpCompositeInsert %22 %686 %97 0
+; CHECK-NEXT: %766 = OpVectorShuffle %22 %765 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %767 = OpVectorShuffle %17 %766 %766 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %768 = OpVectorShuffle %17 %767 %764 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %769 = OpCompositeInsert %22 %694 %97 0
+; CHECK-NEXT: %770 = OpVectorShuffle %22 %769 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %771 = OpVectorShuffle %17 %770 %770 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %772 = OpVectorShuffle %17 %771 %768 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %773 = OpCompositeInsert %22 %702 %97 0
+; CHECK-NEXT: %774 = OpVectorShuffle %22 %773 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %775 = OpVectorShuffle %17 %774 %774 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %776 = OpVectorShuffle %17 %775 %772 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %777 = OpCompositeInsert %22 %710 %97 0
+; CHECK-NEXT: %778 = OpVectorShuffle %22 %777 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %779 = OpVectorShuffle %17 %778 %778 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %780 = OpVectorShuffle %17 %779 %776 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %781 = OpCompositeInsert %22 %655 %97 0
+; CHECK-NEXT: %782 = OpVectorShuffle %22 %781 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %783 = OpVectorShuffle %17 %782 %782 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %784 = OpVectorShuffle %17 %783 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %785 = OpCompositeInsert %22 %663 %97 0
+; CHECK-NEXT: %786 = OpVectorShuffle %22 %785 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %787 = OpVectorShuffle %17 %786 %786 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %788 = OpVectorShuffle %17 %787 %784 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %789 = OpCompositeInsert %22 %671 %97 0
+; CHECK-NEXT: %790 = OpVectorShuffle %22 %789 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %791 = OpVectorShuffle %17 %790 %790 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %792 = OpVectorShuffle %17 %791 %788 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %793 = OpCompositeInsert %22 %679 %97 0
+; CHECK-NEXT: %794 = OpVectorShuffle %22 %793 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %795 = OpVectorShuffle %17 %794 %794 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %796 = OpVectorShuffle %17 %795 %792 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %797 = OpCompositeInsert %22 %687 %97 0
+; CHECK-NEXT: %798 = OpVectorShuffle %22 %797 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %799 = OpVectorShuffle %17 %798 %798 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %800 = OpVectorShuffle %17 %799 %796 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %801 = OpCompositeInsert %22 %695 %97 0
+; CHECK-NEXT: %802 = OpVectorShuffle %22 %801 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %803 = OpVectorShuffle %17 %802 %802 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %804 = OpVectorShuffle %17 %803 %800 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %805 = OpCompositeInsert %22 %703 %97 0
+; CHECK-NEXT: %806 = OpVectorShuffle %22 %805 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %807 = OpVectorShuffle %17 %806 %806 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %808 = OpVectorShuffle %17 %807 %804 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %809 = OpCompositeInsert %22 %711 %97 0
+; CHECK-NEXT: %810 = OpVectorShuffle %22 %809 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %811 = OpVectorShuffle %17 %810 %810 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %812 = OpVectorShuffle %17 %811 %808 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %813 = OpCompositeInsert %22 %656 %97 0
+; CHECK-NEXT: %814 = OpVectorShuffle %22 %813 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %815 = OpVectorShuffle %17 %814 %814 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %816 = OpVectorShuffle %17 %815 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %817 = OpCompositeInsert %22 %664 %97 0
+; CHECK-NEXT: %818 = OpVectorShuffle %22 %817 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %819 = OpVectorShuffle %17 %818 %818 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %820 = OpVectorShuffle %17 %819 %816 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %821 = OpCompositeInsert %22 %672 %97 0
+; CHECK-NEXT: %822 = OpVectorShuffle %22 %821 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %823 = OpVectorShuffle %17 %822 %822 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %824 = OpVectorShuffle %17 %823 %820 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %825 = OpCompositeInsert %22 %680 %97 0
+; CHECK-NEXT: %826 = OpVectorShuffle %22 %825 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %827 = OpVectorShuffle %17 %826 %826 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %828 = OpVectorShuffle %17 %827 %824 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %829 = OpCompositeInsert %22 %688 %97 0
+; CHECK-NEXT: %830 = OpVectorShuffle %22 %829 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %831 = OpVectorShuffle %17 %830 %830 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %832 = OpVectorShuffle %17 %831 %828 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %833 = OpCompositeInsert %22 %696 %97 0
+; CHECK-NEXT: %834 = OpVectorShuffle %22 %833 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %835 = OpVectorShuffle %17 %834 %834 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %836 = OpVectorShuffle %17 %835 %832 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %837 = OpCompositeInsert %22 %704 %97 0
+; CHECK-NEXT: %838 = OpVectorShuffle %22 %837 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %839 = OpVectorShuffle %17 %838 %838 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %840 = OpVectorShuffle %17 %839 %836 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %841 = OpCompositeInsert %22 %712 %97 0
+; CHECK-NEXT: %842 = OpVectorShuffle %22 %841 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %843 = OpVectorShuffle %17 %842 %842 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %844 = OpVectorShuffle %17 %843 %840 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %845 = OpCompositeInsert %22 %657 %97 0
+; CHECK-NEXT: %846 = OpVectorShuffle %22 %845 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %847 = OpVectorShuffle %17 %846 %846 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %848 = OpVectorShuffle %17 %847 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %849 = OpCompositeInsert %22 %665 %97 0
+; CHECK-NEXT: %850 = OpVectorShuffle %22 %849 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %851 = OpVectorShuffle %17 %850 %850 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %852 = OpVectorShuffle %17 %851 %848 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %853 = OpCompositeInsert %22 %673 %97 0
+; CHECK-NEXT: %854 = OpVectorShuffle %22 %853 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %855 = OpVectorShuffle %17 %854 %854 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %856 = OpVectorShuffle %17 %855 %852 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %857 = OpCompositeInsert %22 %681 %97 0
+; CHECK-NEXT: %858 = OpVectorShuffle %22 %857 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %859 = OpVectorShuffle %17 %858 %858 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %860 = OpVectorShuffle %17 %859 %856 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %861 = OpCompositeInsert %22 %689 %97 0
+; CHECK-NEXT: %862 = OpVectorShuffle %22 %861 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %863 = OpVectorShuffle %17 %862 %862 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %864 = OpVectorShuffle %17 %863 %860 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %865 = OpCompositeInsert %22 %697 %97 0
+; CHECK-NEXT: %866 = OpVectorShuffle %22 %865 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %867 = OpVectorShuffle %17 %866 %866 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %868 = OpVectorShuffle %17 %867 %864 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %869 = OpCompositeInsert %22 %705 %97 0
+; CHECK-NEXT: %870 = OpVectorShuffle %22 %869 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %871 = OpVectorShuffle %17 %870 %870 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %872 = OpVectorShuffle %17 %871 %868 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %873 = OpCompositeInsert %22 %713 %97 0
+; CHECK-NEXT: %874 = OpVectorShuffle %22 %873 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %875 = OpVectorShuffle %17 %874 %874 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %876 = OpVectorShuffle %17 %875 %872 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %877 = OpCompositeInsert %22 %658 %97 0
+; CHECK-NEXT: %878 = OpVectorShuffle %22 %877 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %879 = OpVectorShuffle %17 %878 %878 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %880 = OpVectorShuffle %17 %879 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %881 = OpCompositeInsert %22 %666 %97 0
+; CHECK-NEXT: %882 = OpVectorShuffle %22 %881 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %883 = OpVectorShuffle %17 %882 %882 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %884 = OpVectorShuffle %17 %883 %880 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %885 = OpCompositeInsert %22 %674 %97 0
+; CHECK-NEXT: %886 = OpVectorShuffle %22 %885 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %887 = OpVectorShuffle %17 %886 %886 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %888 = OpVectorShuffle %17 %887 %884 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %889 = OpCompositeInsert %22 %682 %97 0
+; CHECK-NEXT: %890 = OpVectorShuffle %22 %889 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %891 = OpVectorShuffle %17 %890 %890 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %892 = OpVectorShuffle %17 %891 %888 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %893 = OpCompositeInsert %22 %690 %97 0
+; CHECK-NEXT: %894 = OpVectorShuffle %22 %893 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %895 = OpVectorShuffle %17 %894 %894 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %896 = OpVectorShuffle %17 %895 %892 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %897 = OpCompositeInsert %22 %698 %97 0
+; CHECK-NEXT: %898 = OpVectorShuffle %22 %897 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %899 = OpVectorShuffle %17 %898 %898 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %900 = OpVectorShuffle %17 %899 %896 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %901 = OpCompositeInsert %22 %706 %97 0
+; CHECK-NEXT: %902 = OpVectorShuffle %22 %901 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %903 = OpVectorShuffle %17 %902 %902 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %904 = OpVectorShuffle %17 %903 %900 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %905 = OpCompositeInsert %22 %714 %97 0
+; CHECK-NEXT: %906 = OpVectorShuffle %22 %905 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %907 = OpVectorShuffle %17 %906 %906 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %908 = OpVectorShuffle %17 %907 %904 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %909 = OpCompositeInsert %22 %659 %97 0
+; CHECK-NEXT: %910 = OpVectorShuffle %22 %909 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %911 = OpVectorShuffle %17 %910 %910 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %912 = OpVectorShuffle %17 %911 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %913 = OpCompositeInsert %22 %667 %97 0
+; CHECK-NEXT: %914 = OpVectorShuffle %22 %913 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %915 = OpVectorShuffle %17 %914 %914 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %916 = OpVectorShuffle %17 %915 %912 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %917 = OpCompositeInsert %22 %675 %97 0
+; CHECK-NEXT: %918 = OpVectorShuffle %22 %917 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %919 = OpVectorShuffle %17 %918 %918 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %920 = OpVectorShuffle %17 %919 %916 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %921 = OpCompositeInsert %22 %683 %97 0
+; CHECK-NEXT: %922 = OpVectorShuffle %22 %921 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %923 = OpVectorShuffle %17 %922 %922 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %924 = OpVectorShuffle %17 %923 %920 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %925 = OpCompositeInsert %22 %691 %97 0
+; CHECK-NEXT: %926 = OpVectorShuffle %22 %925 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %927 = OpVectorShuffle %17 %926 %926 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %928 = OpVectorShuffle %17 %927 %924 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %929 = OpCompositeInsert %22 %699 %97 0
+; CHECK-NEXT: %930 = OpVectorShuffle %22 %929 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %931 = OpVectorShuffle %17 %930 %930 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %932 = OpVectorShuffle %17 %931 %928 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %933 = OpCompositeInsert %22 %707 %97 0
+; CHECK-NEXT: %934 = OpVectorShuffle %22 %933 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %935 = OpVectorShuffle %17 %934 %934 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %936 = OpVectorShuffle %17 %935 %932 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %937 = OpCompositeInsert %22 %715 %97 0
+; CHECK-NEXT: %938 = OpVectorShuffle %22 %937 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %939 = OpVectorShuffle %17 %938 %938 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %940 = OpVectorShuffle %17 %939 %936 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %941 = OpCompositeInsert %22 %660 %97 0
+; CHECK-NEXT: %942 = OpVectorShuffle %22 %941 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %943 = OpVectorShuffle %17 %942 %942 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %944 = OpVectorShuffle %17 %943 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %945 = OpCompositeInsert %22 %668 %97 0
+; CHECK-NEXT: %946 = OpVectorShuffle %22 %945 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %947 = OpVectorShuffle %17 %946 %946 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %948 = OpVectorShuffle %17 %947 %944 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %949 = OpCompositeInsert %22 %676 %97 0
+; CHECK-NEXT: %950 = OpVectorShuffle %22 %949 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %951 = OpVectorShuffle %17 %950 %950 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %952 = OpVectorShuffle %17 %951 %948 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %953 = OpCompositeInsert %22 %684 %97 0
+; CHECK-NEXT: %954 = OpVectorShuffle %22 %953 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %955 = OpVectorShuffle %17 %954 %954 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %956 = OpVectorShuffle %17 %955 %952 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %957 = OpCompositeInsert %22 %692 %97 0
+; CHECK-NEXT: %958 = OpVectorShuffle %22 %957 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %959 = OpVectorShuffle %17 %958 %958 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %960 = OpVectorShuffle %17 %959 %956 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %961 = OpCompositeInsert %22 %700 %97 0
+; CHECK-NEXT: %962 = OpVectorShuffle %22 %961 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %963 = OpVectorShuffle %17 %962 %962 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %964 = OpVectorShuffle %17 %963 %960 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %965 = OpCompositeInsert %22 %708 %97 0
+; CHECK-NEXT: %966 = OpVectorShuffle %22 %965 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %967 = OpVectorShuffle %17 %966 %966 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %968 = OpVectorShuffle %17 %967 %964 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %969 = OpCompositeInsert %22 %716 %97 0
+; CHECK-NEXT: %970 = OpVectorShuffle %22 %969 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %971 = OpVectorShuffle %17 %970 %970 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %972 = OpVectorShuffle %17 %971 %968 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %973 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %974 = OpVectorShuffle %17 %973 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %975 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %976 = OpVectorShuffle %17 %975 %974 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %977 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %978 = OpVectorShuffle %17 %977 %976 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %979 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %980 = OpVectorShuffle %17 %979 %978 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %981 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %982 = OpVectorShuffle %17 %981 %980 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %983 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %984 = OpVectorShuffle %17 %983 %982 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %985 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %986 = OpVectorShuffle %17 %985 %984 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %987 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %988 = OpVectorShuffle %17 %987 %986 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %989 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %990 = OpVectorShuffle %17 %989 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %991 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %992 = OpVectorShuffle %17 %991 %990 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %993 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %994 = OpVectorShuffle %17 %993 %992 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %995 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %996 = OpVectorShuffle %17 %995 %994 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %997 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %998 = OpVectorShuffle %17 %997 %996 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %999 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1000 = OpVectorShuffle %17 %999 %998 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1001 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1002 = OpVectorShuffle %17 %1001 %1000 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1003 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1004 = OpVectorShuffle %17 %1003 %1002 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1005 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1006 = OpVectorShuffle %17 %1005 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1007 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1008 = OpVectorShuffle %17 %1007 %1006 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1009 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1010 = OpVectorShuffle %17 %1009 %1008 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1011 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1012 = OpVectorShuffle %17 %1011 %1010 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1013 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1014 = OpVectorShuffle %17 %1013 %1012 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1015 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1016 = OpVectorShuffle %17 %1015 %1014 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1017 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1018 = OpVectorShuffle %17 %1017 %1016 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1019 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1020 = OpVectorShuffle %17 %1019 %1018 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1021 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1022 = OpVectorShuffle %17 %1021 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1023 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1024 = OpVectorShuffle %17 %1023 %1022 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1025 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1026 = OpVectorShuffle %17 %1025 %1024 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1027 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1028 = OpVectorShuffle %17 %1027 %1026 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1029 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1030 = OpVectorShuffle %17 %1029 %1028 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1031 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1032 = OpVectorShuffle %17 %1031 %1030 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1033 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1034 = OpVectorShuffle %17 %1033 %1032 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1035 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1036 = OpVectorShuffle %17 %1035 %1034 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1037 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1038 = OpVectorShuffle %17 %1037 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1039 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1040 = OpVectorShuffle %17 %1039 %1038 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1041 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1042 = OpVectorShuffle %17 %1041 %1040 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1043 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1044 = OpVectorShuffle %17 %1043 %1042 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1045 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1046 = OpVectorShuffle %17 %1045 %1044 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1047 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1048 = OpVectorShuffle %17 %1047 %1046 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1049 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1050 = OpVectorShuffle %17 %1049 %1048 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1051 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1052 = OpVectorShuffle %17 %1051 %1050 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1053 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1054 = OpVectorShuffle %17 %1053 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1055 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1056 = OpVectorShuffle %17 %1055 %1054 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1057 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1058 = OpVectorShuffle %17 %1057 %1056 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1059 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1060 = OpVectorShuffle %17 %1059 %1058 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1061 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1062 = OpVectorShuffle %17 %1061 %1060 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1063 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1064 = OpVectorShuffle %17 %1063 %1062 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1065 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1066 = OpVectorShuffle %17 %1065 %1064 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1067 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1068 = OpVectorShuffle %17 %1067 %1066 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1069 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1070 = OpVectorShuffle %17 %1069 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1071 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1072 = OpVectorShuffle %17 %1071 %1070 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1073 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1074 = OpVectorShuffle %17 %1073 %1072 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1075 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1076 = OpVectorShuffle %17 %1075 %1074 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1077 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1078 = OpVectorShuffle %17 %1077 %1076 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1079 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1080 = OpVectorShuffle %17 %1079 %1078 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1081 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1082 = OpVectorShuffle %17 %1081 %1080 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1083 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1084 = OpVectorShuffle %17 %1083 %1082 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1085 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1086 = OpVectorShuffle %17 %1085 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1087 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1088 = OpVectorShuffle %17 %1087 %1086 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1089 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1090 = OpVectorShuffle %17 %1089 %1088 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1091 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1092 = OpVectorShuffle %17 %1091 %1090 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1093 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1094 = OpVectorShuffle %17 %1093 %1092 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1095 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1096 = OpVectorShuffle %17 %1095 %1094 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1097 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1098 = OpVectorShuffle %17 %1097 %1096 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT: %1099 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT: %1100 = OpVectorShuffle %17 %1099 %1098 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1101 = OpFunctionCall %17 %100 %972 %1100 %99
+; CHECK-NEXT: %1102 = OpFunctionCall %17 %100 %940 %1084 %1101
+; CHECK-NEXT: %1103 = OpFunctionCall %17 %100 %908 %1068 %1102
+; CHECK-NEXT: %1104 = OpFunctionCall %17 %100 %876 %1052 %1103
+; CHECK-NEXT: %1105 = OpFunctionCall %17 %100 %844 %1036 %1104
+; CHECK-NEXT: %1106 = OpFunctionCall %17 %100 %812 %1020 %1105
+; CHECK-NEXT: %1107 = OpFunctionCall %17 %100 %780 %1004 %1106
+; CHECK-NEXT: %1108 = OpFunctionCall %17 %100 %748 %988 %1107
+; CHECK-NEXT: %1109 = OpVectorShuffle %22 %1108 %1108 0 1 2 3 4 5 6 7
+; CHECK-NEXT: %1110 = OpVectorShuffle %22 %1108 %1108 8 9 10 11 12 13 14 15
+; CHECK-NEXT: %1111 = OpVectorShuffle %22 %1108 %1108 16 17 18 19 20 21 22 23
+; CHECK-NEXT: %1112 = OpVectorShuffle %22 %1108 %1108 24 25 26 27 28 29 30 31
+; CHECK-NEXT: %1113 = OpVectorShuffle %22 %1108 %1108 32 33 34 35 36 37 38 39
+; CHECK-NEXT: %1114 = OpVectorShuffle %22 %1108 %1108 40 41 42 43 44 45 46 47
+; CHECK-NEXT: %1115 = OpVectorShuffle %22 %1108 %1108 48 49 50 51 52 53 54 55
+; CHECK-NEXT: %1116 = OpVectorShuffle %22 %1108 %1108 56 57 58 59 60 61 62 63
+; CHECK-NEXT: OpBranch %1237
+; CHECK-NEXT: %1237 = OpLabel
+; CHECK-NEXT: %1117 = OpPhi %13 %1118 %1238 %40 %1236
+; CHECK-NEXT: %1119 = OpSLessThan %27 %1117 %28
+; CHECK-NEXT: OpBranchConditional %1119 %1238 %2
+; CHECK-NEXT: %2 = OpLabel
+; CHECK-NEXT: OpBranch %1239
+; CHECK-NEXT: %1239 = OpLabel
+; CHECK-NEXT: %1120 = OpPhi %13 %1121 %1240 %40 %2
+; CHECK-NEXT: %1122 = OpSLessThan %27 %1120 %28
+; CHECK-NEXT: OpBranchConditional %1122 %1240 %3
+; CHECK-NEXT: %3 = OpLabel
+; CHECK-NEXT: OpBranch %1241
+; CHECK-NEXT: %1241 = OpLabel
+; CHECK-NEXT: %1123 = OpPhi %13 %1124 %1242 %40 %3
+; CHECK-NEXT: %1125 = OpSLessThan %27 %1123 %28
+; CHECK-NEXT: OpBranchConditional %1125 %1242 %4
+; CHECK-NEXT: %4 = OpLabel
+; CHECK-NEXT: OpBranch %1243
+; CHECK-NEXT: %1243 = OpLabel
+; CHECK-NEXT: %1126 = OpPhi %13 %1127 %1244 %40 %4
+; CHECK-NEXT: %1128 = OpSLessThan %27 %1126 %28
+; CHECK-NEXT: OpBranchConditional %1128 %1244 %5
+; CHECK-NEXT: %5 = OpLabel
+; CHECK-NEXT: OpBranch %1245
+; CHECK-NEXT: %1245 = OpLabel
+; CHECK-NEXT: %1129 = OpPhi %13 %1130 %1246 %40 %5
+; CHECK-NEXT: %1131 = OpSLessThan %27 %1129 %28
+; CHECK-NEXT: OpBranchConditional %1131 %1246 %6
+; CHECK-NEXT: %6 = OpLabel
+; CHECK-NEXT: OpBranch %1247
+; CHECK-NEXT: %1247 = OpLabel
+; CHECK-NEXT: %1132 = OpPhi %13 %1133 %1248 %40 %6
+; CHECK-NEXT: %1134 = OpSLessThan %27 %1132 %28
+; CHECK-NEXT: OpBranchConditional %1134 %1248 %7
+; CHECK-NEXT: %7 = OpLabel
+; CHECK-NEXT: OpBranch %1249
+; CHECK-NEXT: %1249 = OpLabel
+; CHECK-NEXT: %1135 = OpPhi %13 %1136 %1250 %40 %7
+; CHECK-NEXT: %1137 = OpSLessThan %27 %1135 %28
+; CHECK-NEXT: OpBranchConditional %1137 %1250 %8
+; CHECK-NEXT: %8 = OpLabel
+; CHECK-NEXT: OpBranch %1251
+; CHECK-NEXT: %1251 = OpLabel
+; CHECK-NEXT: %1138 = OpPhi %13 %1139 %1252 %40 %8
+; CHECK-NEXT: %1140 = OpSLessThan %27 %1138 %28
+; CHECK-NEXT: OpBranchConditional %1140 %1252 %1253
+; CHECK-NEXT: %1253 = OpLabel
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: %1252 = OpLabel
+; CHECK-NEXT: %1141 = OpUConvert %26 %1138
+; CHECK-NEXT: %1142 = OpVectorExtractDynamic %9 %1116 %1141
+; CHECK-NEXT: %1143 = OpIAdd %26 %39 %1141
+; CHECK-NEXT: %1144 = OpIAdd %26 %1143 %42
+; CHECK-NEXT: %1145 = OpIAdd %26 %1144 %42
+; CHECK-NEXT: %1146 = OpIAdd %26 %1145 %42
+; CHECK-NEXT: %1147 = OpIAdd %26 %1146 %42
+; CHECK-NEXT: %1148 = OpInBoundsPtrAccessChain %10 %105 %1147
+; CHECK-NEXT: OpStore %1148 %1142 Aligned 4
+; CHECK-NEXT: %1139 = OpIAdd %13 %1138 %38
+; CHECK-NEXT: OpBranch %1251
+; CHECK-NEXT: %1250 = OpLabel
+; CHECK-NEXT: %1149 = OpUConvert %26 %1135
+; CHECK-NEXT: %1150 = OpVectorExtractDynamic %9 %1115 %1149
+; CHECK-NEXT: %1151 = OpIAdd %26 %37 %1149
+; CHECK-NEXT: %1152 = OpIAdd %26 %1151 %42
+; CHECK-NEXT: %1153 = OpIAdd %26 %1152 %42
+; CHECK-NEXT: %1154 = OpIAdd %26 %1153 %42
+; CHECK-NEXT: %1155 = OpIAdd %26 %1154 %42
+; CHECK-NEXT: %1156 = OpInBoundsPtrAccessChain %10 %105 %1155
+; CHECK-NEXT: OpStore %1156 %1150 Aligned 4
+; CHECK-NEXT: %1136 = OpIAdd %13 %1135 %38
+; CHECK-NEXT: OpBranch %1249
+; CHECK-NEXT: %1248 = OpLabel
+; CHECK-NEXT: %1157 = OpUConvert %26 %1132
+; CHECK-NEXT: %1158 = OpVectorExtractDynamic %9 %1114 %1157
+; CHECK-NEXT: %1159 = OpIAdd %26 %36 %1157
+; CHECK-NEXT: %1160 = OpIAdd %26 %1159 %42
+; CHECK-NEXT: %1161 = OpIAdd %26 %1160 %42
+; CHECK-NEXT: %1162 = OpIAdd %26 %1161 %42
+; CHECK-NEXT: %1163 = OpIAdd %26 %1162 %42
+; CHECK-NEXT: %1164 = OpInBoundsPtrAccessChain %10 %105 %1163
+; CHECK-NEXT: OpStore %1164 %1158 Aligned 4
+; CHECK-NEXT: %1133 = OpIAdd %13 %1132 %38
+; CHECK-NEXT: OpBranch %1247
+; CHECK-NEXT: %1246 = OpLabel
+; CHECK-NEXT: %1165 = OpUConvert %26 %1129
+; CHECK-NEXT: %1166 = OpVectorExtractDynamic %9 %1113 %1165
+; CHECK-NEXT: %1167 = OpIAdd %26 %52 %1165
+; CHECK-NEXT: %1168 = OpIAdd %26 %1167 %42
+; CHECK-NEXT: %1169 = OpIAdd %26 %1168 %42
+; CHECK-NEXT: %1170 = OpIAdd %26 %1169 %42
+; CHECK-NEXT: %1171 = OpIAdd %26 %1170 %42
+; CHECK-NEXT: %1172 = OpInBoundsPtrAccessChain %10 %105 %1171
+; CHECK-NEXT: OpStore %1172 %1166 Aligned 4
+; CHECK-NEXT: %1130 = OpIAdd %13 %1129 %38
+; CHECK-NEXT: OpBranch %1245
+; CHECK-NEXT: %1244 = OpLabel
+; CHECK-NEXT: %1173 = OpUConvert %26 %1126
+; CHECK-NEXT: %1174 = OpVectorExtractDynamic %9 %1112 %1173
+; CHECK-NEXT: %1175 = OpIAdd %26 %35 %1173
+; CHECK-NEXT: %1176 = OpIAdd %26 %1175 %42
+; CHECK-NEXT: %1177 = OpIAdd %26 %1176 %42
+; CHECK-NEXT: %1178 = OpIAdd %26 %1177 %42
+; CHECK-NEXT: %1179 = OpIAdd %26 %1178 %42
+; CHECK-NEXT: %1180 = OpInBoundsPtrAccessChain %10 %105 %1179
+; CHECK-NEXT: OpStore %1180 %1174 Aligned 4
+; CHECK-NEXT: %1127 = OpIAdd %13 %1126 %38
+; CHECK-NEXT: OpBranch %1243
+; CHECK-NEXT: %1242 = OpLabel
+; CHECK-NEXT: %1181 = OpUConvert %26 %1123
+; CHECK-NEXT: %1182 = OpVectorExtractDynamic %9 %1111 %1181
+; CHECK-NEXT: %1183 = OpIAdd %26 %34 %1181
+; CHECK-NEXT: %1184 = OpIAdd %26 %1183 %42
+; CHECK-NEXT: %1185 = OpIAdd %26 %1184 %42
+; CHECK-NEXT: %1186 = OpIAdd %26 %1185 %42
+; CHECK-NEXT: %1187 = OpIAdd %26 %1186 %42
+; CHECK-NEXT: %1188 = OpInBoundsPtrAccessChain %10 %105 %1187
+; CHECK-NEXT: OpStore %1188 %1182 Aligned 4
+; CHECK-NEXT: %1124 = OpIAdd %13 %1123 %38
+; CHECK-NEXT: OpBranch %1241
+; CHECK-NEXT: %1240 = OpLabel
+; CHECK-NEXT: %1189 = OpUConvert %26 %1120
+; CHECK-NEXT: %1190 = OpVectorExtractDynamic %9 %1110 %1189
+; CHECK-NEXT: %1191 = OpIAdd %26 %33 %1189
+; CHECK-NEXT: %1192 = OpIAdd %26 %1191 %42
+; CHECK-NEXT: %1193 = OpIAdd %26 %1192 %42
+; CHECK-NEXT: %1194 = OpIAdd %26 %1193 %42
+; CHECK-NEXT: %1195 = OpIAdd %26 %1194 %42
+; CHECK-NEXT: %1196 = OpInBoundsPtrAccessChain %10 %105 %1195
+; CHECK-NEXT: OpStore %1196 %1190 Aligned 4
+; CHECK-NEXT: %1121 = OpIAdd %13 %1120 %38
+; CHECK-NEXT: OpBranch %1239
+; CHECK-NEXT: %1238 = OpLabel
+; CHECK-NEXT: %1197 = OpUConvert %26 %1117
+; CHECK-NEXT: %1198 = OpVectorExtractDynamic %9 %1109 %1197
+; CHECK-NEXT: %1199 = OpIAdd %26 %42 %1197
+; CHECK-NEXT: %1200 = OpIAdd %26 %1199 %42
+; CHECK-NEXT: %1201 = OpIAdd %26 %1200 %42
+; CHECK-NEXT: %1202 = OpIAdd %26 %1201 %42
+; CHECK-NEXT: %1203 = OpIAdd %26 %1202 %42
+; CHECK-NEXT: %1204 = OpInBoundsPtrAccessChain %10 %105 %1203
+; CHECK-NEXT: OpStore %1204 %1198 Aligned 4
+; CHECK-NEXT: %1118 = OpIAdd %13 %1117 %38
+; CHECK-NEXT: OpBranch %1237
+; CHECK-NEXT: %1235 = OpLabel
+; CHECK-NEXT: %1205 = OpUConvert %26 %136
+; CHECK-NEXT: OpBranch %1254
+; CHECK-NEXT: %1254 = OpLabel
+; CHECK-NEXT: %1206 = OpPhi %13 %1207 %1255 %40 %1235
+; CHECK-NEXT: %1208 = OpSLessThan %27 %1206 %43
+; CHECK-NEXT: OpBranchConditional %1208 %1255 %1234
+; CHECK-NEXT: %1234 = OpLabel
+; CHECK-NEXT: %137 = OpIAdd %13 %136 %38
+; CHECK-NEXT: OpBranch %1233
+; CHECK-NEXT: %1255 = OpLabel
+; CHECK-NEXT: %1209 = OpUConvert %26 %1206
+; CHECK-NEXT: %1210 = OpIMul %26 %1205 %41
+; CHECK-NEXT: %1211 = OpIAdd %26 %42 %1210
+; CHECK-NEXT: %1212 = OpIAdd %26 %1211 %1209
+; CHECK-NEXT: %1213 = OpInBoundsPtrAccessChain %10 %104 %1212
+; CHECK-NEXT: %1214 = OpLoad %9 %1213 Aligned 4
+; CHECK-NEXT: %1215 = OpIMul %26 %1205 %33
+; CHECK-NEXT: %1216 = OpIAdd %26 %1215 %1209
+; CHECK-NEXT: %1217 = OpBitcast %25 %92
+; CHECK-NEXT: %1218 = OpInBoundsPtrAccessChain %25 %1217 %1216
+; CHECK-NEXT: OpStore %1218 %1214 Aligned 4
+; CHECK-NEXT: %1207 = OpIAdd %13 %1206 %38
+; CHECK-NEXT: OpBranch %1254
+; CHECK-NEXT: %1231 = OpLabel
+; CHECK-NEXT: %1219 = OpUConvert %26 %131
+; CHECK-NEXT: OpBranch %1256
+; CHECK-NEXT: %1256 = OpLabel
+; CHECK-NEXT: %1220 = OpPhi %13 %1221 %1257 %40 %1231
+; CHECK-NEXT: %1222 = OpSLessThan %27 %1220 %28
+; CHECK-NEXT: OpBranchConditional %1222 %1257 %1230
+; CHECK-NEXT: %1230 = OpLabel
+; CHECK-NEXT: %132 = OpIAdd %13 %131 %38
+; CHECK-NEXT: OpBranch %1229
+; CHECK-NEXT: %1257 = OpLabel
+; CHECK-NEXT: %1223 = OpUConvert %26 %1220
+; CHECK-NEXT: %1224 = OpIMul %26 %1219 %33
+; CHECK-NEXT: %1225 = OpIAdd %26 %1224 %1223
+; CHECK-NEXT: %1226 = OpBitcast %25 %92
+; CHECK-NEXT: %1227 = OpInBoundsPtrAccessChain %25 %1226 %1225
+; CHECK-NEXT: OpStore %1227 %68 Aligned 4
+; CHECK-NEXT: %1221 = OpIAdd %13 %1220 %38
+; CHECK-NEXT: OpBranch %1256
+; CHECK-NEXT: OpFunctionEnd
+ br label %3
+
+3: ; preds = %17, %2
+ %4 = phi i32 [ %18, %17 ], [ 0, %2 ]
+ %5 = icmp slt i32 %4, 8
+ br i1 %5, label %6, label %19
+
+6: ; preds = %3
+ %7 = zext i32 %4 to i64
+ br label %8
+
+8: ; preds = %11, %6
+ %9 = phi i32 [ %16, %11 ], [ 0, %6 ]
+ %10 = icmp slt i32 %9, 8
+ br i1 %10, label %11, label %17
+
+11: ; preds = %8
+ %12 = zext i32 %9 to i64
+ %13 = mul nuw nsw i64 %7, 8
+ %14 = add nuw nsw i64 %13, %12
+ %15 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %14
+ store float 0.000000e+00, ptr addrspace(3) %15, align 4
+ %16 = add i32 %9, 1
+ br label %8
+
+17: ; preds = %8
+ %18 = add i32 %4, 1
+ br label %3
+
+19: ; preds = %3
+ fence syncscope("workgroup") release, !mmra !2
+ call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+ call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+ fence syncscope("workgroup") acquire, !mmra !2
+ br label %20
+
+20: ; preds = %39, %19
+ %21 = phi i32 [ %40, %39 ], [ 0, %19 ]
+ %22 = icmp slt i32 %21, 6
+ br i1 %22, label %23, label %41
+
+23: ; preds = %20
+ %24 = zext i32 %21 to i64
+ br label %25
+
+25: ; preds = %28, %23
+ %26 = phi i32 [ %38, %28 ], [ 0, %23 ]
+ %27 = icmp slt i32 %26, 6
+ br i1 %27, label %28, label %39
+
+28: ; preds = %25
+ %29 = zext i32 %26 to i64
+ %30 = mul nuw nsw i64 %24, 6
+ %31 = add nuw nsw i64 0, %30
+ %32 = add nuw nsw i64 %31, %29
+ %33 = getelementptr inbounds nuw float, ptr addrspace(1) %0, i64 %32
+ %34 = load float, ptr addrspace(1) %33, align 4
+ %35 = mul nuw nsw i64 %24, 8
+ %36 = add nuw nsw i64 %35, %29
+ %37 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %36
+ store float %34, ptr addrspace(3) %37, align 4
+ %38 = add i32 %26, 1
+ br label %25
+
+39: ; preds = %25
+ %40 = add i32 %21, 1
+ br label %20
+
+41: ; preds = %20
+ fence syncscope("workgroup") release, !mmra !2
+ call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+ call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+ fence syncscope("workgroup") acquire, !mmra !2
+ %42 = load <8 x float>, ptr addrspace(3) @__shared_memory__, align 4
+ %43 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 32), align 4
+ %44 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 64), align 4
+ %45 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 96), align 4
+ %46 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 128), align 4
+ %47 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 160), align 4
+ %48 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 192), align 4
+ %49 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 224), align 4
+ %50 = extractelement <8 x float> %42, i64 0
+ %51 = extractelement <8 x float> %42, i64 1
+ %52 = extractelement <8 x float> %42, i64 2
+ %53 = extractelement <8 x float> %42, i64 3
+ %54 = extractelement <8 x float> %42, i64 4
+ %55 = extractelement <8 x float> %42, i64 5
+ %56 = extractelement <8 x float> %42, i64 6
+ %57 = extractelement <8 x float> %42, i64 7
+ %58 = extractelement <8 x float> %43, i64 0
+ %59 = extractelement <8 x float> %43, i64 1
+ %60 = extractelement <8 x float> %43, i64 2
+ %61 = extractelement <8 x float> %43, i64 3
+ %62 = extractelement <8 x float> %43, i64 4
+ %63 = extractelement <8 x float> %43, i64 5
+ %64 = extractelement <8 x float> %43, i64 6
+ %65 = extractelement <8 x float> %43, i64 7
+ %66 = extractelement <8 x float> %44, i64 0
+ %67 = extractelement <8 x float> %44, i64 1
+ %68 = extractelement <8 x float> %44, i64 2
+ %69 = extractelement <8 x float> %44, i64 3
+ %70 = extractelement <8 x float> %44, i64 4
+ %71 = extractelement <8 x float> %44, i64 5
+ %72 = extractelement <8 x float> %44, i64 6
+ %73 = extractelement <8 x float> %44, i64 7
+ %74 = extractelement <8 x float> %45, i64 0
+ %75 = extractelement <8 x float> %45, i64 1
+ %76 = extractelement <8 x float> %45, i64 2
+ %77 = extractelement <8 x float> %45, i64 3
+ %78 = extractelement <8 x float> %45, i64 4
+ %79 = extractelement <8 x float> %45, i64 5
+ %80 = extractelement <8 x float> %45, i64 6
+ %81 = extractelement <8 x float> %45, i64 7
+ %82 = extractelement <8 x float> %46, i64 0
+ %83 = extractelement <8 x float> %46, i64 1
+ %84 = extractelement <8 x float> %46, i64 2
+ %85 = extractelement <8 x float> %46, i64 3
+ %86 = extractelement <8 x float> %46, i64 4
+ %87 = extractelement <8 x float> %46, i64 5
+ %88 = extractelement <8 x float> %46, i64 6
+ %89 = extractelement <8 x float> %46, i64 7
+ %90 = extractelement <8 x float> %47, i64 0
+ %91 = extractelement <8 x float> %47, i64 1
+ %92 = extractelement <8 x float> %47, i64 2
+ %93 = extractelement <8 x float> %47, i64 3
+ %94 = extractelement <8 x float> %47, i64 4
+ %95 = extractelement <8 x float> %47, i64 5
+ %96 = extractelement <8 x float> %47, i64 6
+ %97 = extractelement <8 x float> %47, i64 7
+ %98 = extractelement <8 x float> %48, i64 0
+ %99 = extractelement <8 x float> %48, i64 1
+ %100 = extractelement <8 x float> %48, i64 2
+ %101 = extractelement <8 x float> %48, i64 3
+ %102 = extractelement <8 x float> %48, i64 4
+ %103 = extractelement <8 x float> %48, i64 5
+ %104 = extractelement <8 x float> %48, i64 6
+ %105 = extractelement <8 x float> %48, i64 7
+ %106 = extractelement <8 x float> %49, i64 0
+ %107 = extractelement <8 x float> %49, i64 1
+ %108 = extractelement <8 x float> %49, i64 2
+ %109 = extractelement <8 x float> %49, i64 3
+ %110 = extractelement <8 x float> %49, i64 4
+ %111 = extractelement <8 x float> %49, i64 5
+ %112 = extractelement <8 x float> %49, i64 6
+ %113 = extractelement <8 x float> %49, i64 7
+ %114 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
+ %115 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
+ %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
+ %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
+ %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
+ %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
+ %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
+ %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+ %122 = insertelement <8 x float> poison, float %50, i32 0
+ %123 = shufflevector <8 x float> %122, <8 x float> poison, <8 x i32> zeroinitializer
+ %124 = shufflevector <8 x float> %123, <8 x float> %123, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %125 = shufflevector <64 x float> %124, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %126 = insertelement <8 x float> poison, float %58, i32 0
+ %127 = shufflevector <8 x float> %126, <8 x float> poison, <8 x i32> zeroinitializer
+ %128 = shufflevector <8 x float> %127, <8 x float> %127, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %129 = shufflevector <64 x float> %128, <64 x float> %125, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %130 = insertelement <8 x float> poison, float %66, i32 0
+ %131 = shufflevector <8 x float> %130, <8 x float> poison, <8 x i32> zeroinitializer
+ %132 = shufflevector <8 x float> %131, <8 x float> %131, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %133 = shufflevector <64 x float> %132, <64 x float> %129, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %134 = insertelement <8 x float> poison, float %74, i32 0
+ %135 = shufflevector <8 x float> %134, <8 x float> poison, <8 x i32> zeroinitializer
+ %136 = shufflevector <8 x float> %135, <8 x float> %135, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %137 = shufflevector <64 x float> %136, <64 x float> %133, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %138 = insertelement <8 x float> poison, float %82, i32 0
+ %139 = shufflevector <8 x float> %138, <8 x float> poison, <8 x i32> zeroinitializer
+ %140 = shufflevector <8 x float> %139, <8 x float> %139, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %141 = shufflevector <64 x float> %140, <64 x float> %137, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %142 = insertelement <8 x float> poison, float %90, i32 0
+ %143 = shufflevector <8 x float> %142, <8 x float> poison, <8 x i32> zeroinitializer
+ %144 = shufflevector <8 x float> %143, <8 x float> %143, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %145 = shufflevector <64 x float> %144, <64 x float> %141, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %146 = insertelement <8 x float> poison, float %98, i32 0
+ %147 = shufflevector <8 x float> %146, <8 x float> poison, <8 x i32> zeroinitializer
+ %148 = shufflevector <8 x float> %147, <8 x float> %147, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %149 = shufflevector <64 x float> %148, <64 x float> %145, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %150 = insertelement <8 x float> poison, float %106, i32 0
+ %151 = shufflevector <8 x float> %150, <8 x float> poison, <8 x i32> zeroinitializer
+ %152 = shufflevector <8 x float> %151, <8 x float> %151, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %153 = shufflevector <64 x float> %152, <64 x float> %149, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %154 = insertelement <8 x float> poison, float %51, i32 0
+ %155 = shufflevector <8 x float> %154, <8 x float> poison, <8 x i32> zeroinitializer
+ %156 = shufflevector <8 x float> %155, <8 x float> %155, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %157 = shufflevector <64 x float> %156, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %158 = insertelement <8 x float> poison, float %59, i32 0
+ %159 = shufflevector <8 x float> %158, <8 x float> poison, <8 x i32> zeroinitializer
+ %160 = shufflevector <8 x float> %159, <8 x float> %159, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %161 = shufflevector <64 x float> %160, <64 x float> %157, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %162 = insertelement <8 x float> poison, float %67, i32 0
+ %163 = shufflevector <8 x float> %162, <8 x float> poison, <8 x i32> zeroinitializer
+ %164 = shufflevector <8 x float> %163, <8 x float> %163, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %165 = shufflevector <64 x float> %164, <64 x float> %161, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %166 = insertelement <8 x float> poison, float %75, i32 0
+ %167 = shufflevector <8 x float> %166, <8 x float> poison, <8 x i32> zeroinitializer
+ %168 = shufflevector <8 x float> %167, <8 x float> %167, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %169 = shufflevector <64 x float> %168, <64 x float> %165, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %170 = insertelement <8 x float> poison, float %83, i32 0
+ %171 = shufflevector <8 x float> %170, <8 x float> poison, <8 x i32> zeroinitializer
+ %172 = shufflevector <8 x float> %171, <8 x float> %171, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %173 = shufflevector <64 x float> %172, <64 x float> %169, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %174 = insertelement <8 x float> poison, float %91, i32 0
+ %175 = shufflevector <8 x float> %174, <8 x float> poison, <8 x i32> zeroinitializer
+ %176 = shufflevector <8 x float> %175, <8 x float> %175, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %177 = shufflevector <64 x float> %176, <64 x float> %173, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %178 = insertelement <8 x float> poison, float %99, i32 0
+ %179 = shufflevector <8 x float> %178, <8 x float> poison, <8 x i32> zeroinitializer
+ %180 = shufflevector <8 x float> %179, <8 x float> %179, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %181 = shufflevector <64 x float> %180, <64 x float> %177, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %182 = insertelement <8 x float> poison, float %107, i32 0
+ %183 = shufflevector <8 x float> %182, <8 x float> poison, <8 x i32> zeroinitializer
+ %184 = shufflevector <8 x float> %183, <8 x float> %183, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %185 = shufflevector <64 x float> %184, <64 x float> %181, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %186 = insertelement <8 x float> poison, float %52, i32 0
+ %187 = shufflevector <8 x float> %186, <8 x float> poison, <8 x i32> zeroinitializer
+ %188 = shufflevector <8 x float> %187, <8 x float> %187, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %189 = shufflevector <64 x float> %188, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %190 = insertelement <8 x float> poison, float %60, i32 0
+ %191 = shufflevector <8 x float> %190, <8 x float> poison, <8 x i32> zeroinitializer
+ %192 = shufflevector <8 x float> %191, <8 x float> %191, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %193 = shufflevector <64 x float> %192, <64 x float> %189, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %194 = insertelement <8 x float> poison, float %68, i32 0
+ %195 = shufflevector <8 x float> %194, <8 x float> poison, <8 x i32> zeroinitializer
+ %196 = shufflevector <8 x float> %195, <8 x float> %195, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %197 = shufflevector <64 x float> %196, <64 x float> %193, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %198 = insertelement <8 x float> poison, float %76, i32 0
+ %199 = shufflevector <8 x float> %198, <8 x float> poison, <8 x i32> zeroinitializer
+ %200 = shufflevector <8 x float> %199, <8 x float> %199, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %201 = shufflevector <64 x float> %200, <64 x float> %197, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %202 = insertelement <8 x float> poison, float %84, i32 0
+ %203 = shufflevector <8 x float> %202, <8 x float> poison, <8 x i32> zeroinitializer
+ %204 = shufflevector <8 x float> %203, <8 x float> %203, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %205 = shufflevector <64 x float> %204, <64 x float> %201, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %206 = insertelement <8 x float> poison, float %92, i32 0
+ %207 = shufflevector <8 x float> %206, <8 x float> poison, <8 x i32> zeroinitializer
+ %208 = shufflevector <8 x float> %207, <8 x float> %207, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %209 = shufflevector <64 x float> %208, <64 x float> %205, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %210 = insertelement <8 x float> poison, float %100, i32 0
+ %211 = shufflevector <8 x float> %210, <8 x float> poison, <8 x i32> zeroinitializer
+ %212 = shufflevector <8 x float> %211, <8 x float> %211, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %213 = shufflevector <64 x float> %212, <64 x float> %209, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %214 = insertelement <8 x float> poison, float %108, i32 0
+ %215 = shufflevector <8 x float> %214, <8 x float> poison, <8 x i32> zeroinitializer
+ %216 = shufflevector <8 x float> %215, <8 x float> %215, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %217 = shufflevector <64 x float> %216, <64 x float> %213, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %218 = insertelement <8 x float> poison, float %53, i32 0
+ %219 = shufflevector <8 x float> %218, <8 x float> poison, <8 x i32> zeroinitializer
+ %220 = shufflevector <8 x float> %219, <8 x float> %219, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %221 = shufflevector <64 x float> %220, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %222 = insertelement <8 x float> poison, float %61, i32 0
+ %223 = shufflevector <8 x float> %222, <8 x float> poison, <8 x i32> zeroinitializer
+ %224 = shufflevector <8 x float> %223, <8 x float> %223, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %225 = shufflevector <64 x float> %224, <64 x float> %221, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %226 = insertelement <8 x float> poison, float %69, i32 0
+ %227 = shufflevector <8 x float> %226, <8 x float> poison, <8 x i32> zeroinitializer
+ %228 = shufflevector <8 x float> %227, <8 x float> %227, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %229 = shufflevector <64 x float> %228, <64 x float> %225, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %230 = insertelement <8 x float> poison, float %77, i32 0
+ %231 = shufflevector <8 x float> %230, <8 x float> poison, <8 x i32> zeroinitializer
+ %232 = shufflevector <8 x float> %231, <8 x float> %231, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %233 = shufflevector <64 x float> %232, <64 x float> %229, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %234 = insertelement <8 x float> poison, float %85, i32 0
+ %235 = shufflevector <8 x float> %234, <8 x float> poison, <8 x i32> zeroinitializer
+ %236 = shufflevector <8 x float> %235, <8 x float> %235, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %237 = shufflevector <64 x float> %236, <64 x float> %233, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %238 = insertelement <8 x float> poison, float %93, i32 0
+ %239 = shufflevector <8 x float> %238, <8 x float> poison, <8 x i32> zeroinitializer
+ %240 = shufflevector <8 x float> %239, <8 x float> %239, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %241 = shufflevector <64 x float> %240, <64 x float> %237, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %242 = insertelement <8 x float> poison, float %101, i32 0
+ %243 = shufflevector <8 x float> %242, <8 x float> poison, <8 x i32> zeroinitializer
+ %244 = shufflevector <8 x float> %243, <8 x float> %243, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %245 = shufflevector <64 x float> %244, <64 x float> %241, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %246 = insertelement <8 x float> poison, float %109, i32 0
+ %247 = shufflevector <8 x float> %246, <8 x float> poison, <8 x i32> zeroinitializer
+ %248 = shufflevector <8 x float> %247, <8 x float> %247, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %249 = shufflevector <64 x float> %248, <64 x float> %245, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %250 = insertelement <8 x float> poison, float %54, i32 0
+ %251 = shufflevector <8 x float> %250, <8 x float> poison, <8 x i32> zeroinitializer
+ %252 = shufflevector <8 x float> %251, <8 x float> %251, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %253 = shufflevector <64 x float> %252, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %254 = insertelement <8 x float> poison, float %62, i32 0
+ %255 = shufflevector <8 x float> %254, <8 x float> poison, <8 x i32> zeroinitializer
+ %256 = shufflevector <8 x float> %255, <8 x float> %255, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %257 = shufflevector <64 x float> %256, <64 x float> %253, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %258 = insertelement <8 x float> poison, float %70, i32 0
+ %259 = shufflevector <8 x float> %258, <8 x float> poison, <8 x i32> zeroinitializer
+ %260 = shufflevector <8 x float> %259, <8 x float> %259, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %261 = shufflevector <64 x float> %260, <64 x float> %257, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %262 = insertelement <8 x float> poison, float %78, i32 0
+ %263 = shufflevector <8 x float> %262, <8 x float> poison, <8 x i32> zeroinitializer
+ %264 = shufflevector <8 x float> %263, <8 x float> %263, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %265 = shufflevector <64 x float> %264, <64 x float> %261, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %266 = insertelement <8 x float> poison, float %86, i32 0
+ %267 = shufflevector <8 x float> %266, <8 x float> poison, <8 x i32> zeroinitializer
+ %268 = shufflevector <8 x float> %267, <8 x float> %267, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %269 = shufflevector <64 x float> %268, <64 x float> %265, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %270 = insertelement <8 x float> poison, float %94, i32 0
+ %271 = shufflevector <8 x float> %270, <8 x float> poison, <8 x i32> zeroinitializer
+ %272 = shufflevector <8 x float> %271, <8 x float> %271, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %273 = shufflevector <64 x float> %272, <64 x float> %269, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %274 = insertelement <8 x float> poison, float %102, i32 0
+ %275 = shufflevector <8 x float> %274, <8 x float> poison, <8 x i32> zeroinitializer
+ %276 = shufflevector <8 x float> %275, <8 x float> %275, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %277 = shufflevector <64 x float> %276, <64 x float> %273, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %278 = insertelement <8 x float> poison, float %110, i32 0
+ %279 = shufflevector <8 x float> %278, <8 x float> poison, <8 x i32> zeroinitializer
+ %280 = shufflevector <8 x float> %279, <8 x float> %279, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %281 = shufflevector <64 x float> %280, <64 x float> %277, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %282 = insertelement <8 x float> poison, float %55, i32 0
+ %283 = shufflevector <8 x float> %282, <8 x float> poison, <8 x i32> zeroinitializer
+ %284 = shufflevector <8 x float> %283, <8 x float> %283, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %285 = shufflevector <64 x float> %284, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %286 = insertelement <8 x float> poison, float %63, i32 0
+ %287 = shufflevector <8 x float> %286, <8 x float> poison, <8 x i32> zeroinitializer
+ %288 = shufflevector <8 x float> %287, <8 x float> %287, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %289 = shufflevector <64 x float> %288, <64 x float> %285, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %290 = insertelement <8 x float> poison, float %71, i32 0
+ %291 = shufflevector <8 x float> %290, <8 x float> poison, <8 x i32> zeroinitializer
+ %292 = shufflevector <8 x float> %291, <8 x float> %291, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %293 = shufflevector <64 x float> %292, <64 x float> %289, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %294 = insertelement <8 x float> poison, float %79, i32 0
+ %295 = shufflevector <8 x float> %294, <8 x float> poison, <8 x i32> zeroinitializer
+ %296 = shufflevector <8 x float> %295, <8 x float> %295, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %297 = shufflevector <64 x float> %296, <64 x float> %293, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %298 = insertelement <8 x float> poison, float %87, i32 0
+ %299 = shufflevector <8 x float> %298, <8 x float> poison, <8 x i32> zeroinitializer
+ %300 = shufflevector <8 x float> %299, <8 x float> %299, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %301 = shufflevector <64 x float> %300, <64 x float> %297, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %302 = insertelement <8 x float> poison, float %95, i32 0
+ %303 = shufflevector <8 x float> %302, <8 x float> poison, <8 x i32> zeroinitializer
+ %304 = shufflevector <8 x float> %303, <8 x float> %303, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %305 = shufflevector <64 x float> %304, <64 x float> %301, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %306 = insertelement <8 x float> poison, float %103, i32 0
+ %307 = shufflevector <8 x float> %306, <8 x float> poison, <8 x i32> zeroinitializer
+ %308 = shufflevector <8 x float> %307, <8 x float> %307, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %309 = shufflevector <64 x float> %308, <64 x float> %305, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %310 = insertelement <8 x float> poison, float %111, i32 0
+ %311 = shufflevector <8 x float> %310, <8 x float> poison, <8 x i32> zeroinitializer
+ %312 = shufflevector <8 x float> %311, <8 x float> %311, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %313 = shufflevector <64 x float> %312, <64 x float> %309, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %314 = insertelement <8 x float> poison, float %56, i32 0
+ %315 = shufflevector <8 x float> %314, <8 x float> poison, <8 x i32> zeroinitializer
+ %316 = shufflevector <8 x float> %315, <8 x float> %315, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %317 = shufflevector <64 x float> %316, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %318 = insertelement <8 x float> poison, float %64, i32 0
+ %319 = shufflevector <8 x float> %318, <8 x float> poison, <8 x i32> zeroinitializer
+ %320 = shufflevector <8 x float> %319, <8 x float> %319, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %321 = shufflevector <64 x float> %320, <64 x float> %317, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %322 = insertelement <8 x float> poison, float %72, i32 0
+ %323 = shufflevector <8 x float> %322, <8 x float> poison, <8 x i32> zeroinitializer
+ %324 = shufflevector <8 x float> %323, <8 x float> %323, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %325 = shufflevector <64 x float> %324, <64 x float> %321, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %326 = insertelement <8 x float> poison, float %80, i32 0
+ %327 = shufflevector <8 x float> %326, <8 x float> poison, <8 x i32> zeroinitializer
+ %328 = shufflevector <8 x float> %327, <8 x float> %327, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %329 = shufflevector <64 x float> %328, <64 x float> %325, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %330 = insertelement <8 x float> poison, float %88, i32 0
+ %331 = shufflevector <8 x float> %330, <8 x float> poison, <8 x i32> zeroinitializer
+ %332 = shufflevector <8 x float> %331, <8 x float> %331, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %333 = shufflevector <64 x float> %332, <64 x float> %329, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %334 = insertelement <8 x float> poison, float %96, i32 0
+ %335 = shufflevector <8 x float> %334, <8 x float> poison, <8 x i32> zeroinitializer
+ %336 = shufflevector <8 x float> %335, <8 x float> %335, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %337 = shufflevector <64 x float> %336, <64 x float> %333, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %338 = insertelement <8 x float> poison, float %104, i32 0
+ %339 = shufflevector <8 x float> %338, <8 x float> poison, <8 x i32> zeroinitializer
+ %340 = shufflevector <8 x float> %339, <8 x float> %339, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %341 = shufflevector <64 x float> %340, <64 x float> %337, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %342 = insertelement <8 x float> poison, float %112, i32 0
+ %343 = shufflevector <8 x float> %342, <8 x float> poison, <8 x i32> zeroinitializer
+ %344 = shufflevector <8 x float> %343, <8 x float> %343, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %345 = shufflevector <64 x float> %344, <64 x float> %341, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %346 = insertelement <8 x float> poison, float %57, i32 0
+ %347 = shufflevector <8 x float> %346, <8 x float> poison, <8 x i32> zeroinitializer
+ %348 = shufflevector <8 x float> %347, <8 x float> %347, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %349 = shufflevector <64 x float> %348, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %350 = insertelement <8 x float> poison, float %65, i32 0
+ %351 = shufflevector <8 x float> %350, <8 x float> poison, <8 x i32> zeroinitializer
+ %352 = shufflevector <8 x float> %351, <8 x float> %351, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %353 = shufflevector <64 x float> %352, <64 x float> %349, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %354 = insertelement <8 x float> poison, float %73, i32 0
+ %355 = shufflevector <8 x float> %354, <8 x float> poison, <8 x i32> zeroinitializer
+ %356 = shufflevector <8 x float> %355, <8 x float> %355, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %357 = shufflevector <64 x float> %356, <64 x float> %353, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %358 = insertelement <8 x float> poison, float %81, i32 0
+ %359 = shufflevector <8 x float> %358, <8 x float> poison, <8 x i32> zeroinitializer
+ %360 = shufflevector <8 x float> %359, <8 x float> %359, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %361 = shufflevector <64 x float> %360, <64 x float> %357, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %362 = insertelement <8 x float> poison, float %89, i32 0
+ %363 = shufflevector <8 x float> %362, <8 x float> poison, <8 x i32> zeroinitializer
+ %364 = shufflevector <8 x float> %363, <8 x float> %363, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %365 = shufflevector <64 x float> %364, <64 x float> %361, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %366 = insertelement <8 x float> poison, float %97, i32 0
+ %367 = shufflevector <8 x float> %366, <8 x float> poison, <8 x i32> zeroinitializer
+ %368 = shufflevector <8 x float> %367, <8 x float> %367, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %369 = shufflevector <64 x float> %368, <64 x float> %365, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %370 = insertelement <8 x float> poison, float %105, i32 0
+ %371 = shufflevector <8 x float> %370, <8 x float> poison, <8 x i32> zeroinitializer
+ %372 = shufflevector <8 x float> %371, <8 x float> %371, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %373 = shufflevector <64 x float> %372, <64 x float> %369, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %374 = insertelement <8 x float> poison, float %113, i32 0
+ %375 = shufflevector <8 x float> %374, <8 x float> poison, <8 x i32> zeroinitializer
+ %376 = shufflevector <8 x float> %375, <8 x float> %375, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %377 = shufflevector <64 x float> %376, <64 x float> %373, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %378 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %379 = shufflevector <64 x float> %378, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %380 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %381 = shufflevector <64 x float> %380, <64 x float> %379, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %382 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %383 = shufflevector <64 x float> %382, <64 x float> %381, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %384 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %385 = shufflevector <64 x float> %384, <64 x float> %383, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %386 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %387 = shufflevector <64 x float> %386, <64 x float> %385, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %388 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %389 = shufflevector <64 x float> %388, <64 x float> %387, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %390 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %391 = shufflevector <64 x float> %390, <64 x float> %389, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %392 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %393 = shufflevector <64 x float> %392, <64 x float> %391, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %394 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %395 = shufflevector <64 x float> %394, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %396 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %397 = shufflevector <64 x float> %396, <64 x float> %395, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %398 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %399 = shufflevector <64 x float> %398, <64 x float> %397, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %400 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %401 = shufflevector <64 x float> %400, <64 x float> %399, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %402 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %403 = shufflevector <64 x float> %402, <64 x float> %401, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %404 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %405 = shufflevector <64 x float> %404, <64 x float> %403, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %406 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %407 = shufflevector <64 x float> %406, <64 x float> %405, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %408 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %409 = shufflevector <64 x float> %408, <64 x float> %407, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %410 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %411 = shufflevector <64 x float> %410, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %412 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %413 = shufflevector <64 x float> %412, <64 x float> %411, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %414 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %415 = shufflevector <64 x float> %414, <64 x float> %413, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %416 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %417 = shufflevector <64 x float> %416, <64 x float> %415, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %418 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %419 = shufflevector <64 x float> %418, <64 x float> %417, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %420 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %421 = shufflevector <64 x float> %420, <64 x float> %419, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %422 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %423 = shufflevector <64 x float> %422, <64 x float> %421, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %424 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %425 = shufflevector <64 x float> %424, <64 x float> %423, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %426 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %427 = shufflevector <64 x float> %426, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %428 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %429 = shufflevector <64 x float> %428, <64 x float> %427, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %430 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %431 = shufflevector <64 x float> %430, <64 x float> %429, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %432 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %433 = shufflevector <64 x float> %432, <64 x float> %431, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %434 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %435 = shufflevector <64 x float> %434, <64 x float> %433, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %436 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %437 = shufflevector <64 x float> %436, <64 x float> %435, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %438 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %439 = shufflevector <64 x float> %438, <64 x float> %437, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %440 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %441 = shufflevector <64 x float> %440, <64 x float> %439, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %442 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %443 = shufflevector <64 x float> %442, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %444 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %445 = shufflevector <64 x float> %444, <64 x float> %443, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %446 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %447 = shufflevector <64 x float> %446, <64 x float> %445, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %448 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %449 = shufflevector <64 x float> %448, <64 x float> %447, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %450 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %451 = shufflevector <64 x float> %450, <64 x float> %449, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %452 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %453 = shufflevector <64 x float> %452, <64 x float> %451, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %454 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %455 = shufflevector <64 x float> %454, <64 x float> %453, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %456 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %457 = shufflevector <64 x float> %456, <64 x float> %455, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %458 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %459 = shufflevector <64 x float> %458, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %460 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %461 = shufflevector <64 x float> %460, <64 x float> %459, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %462 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %463 = shufflevector <64 x float> %462, <64 x float> %461, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %464 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %465 = shufflevector <64 x float> %464, <64 x float> %463, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %466 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %467 = shufflevector <64 x float> %466, <64 x float> %465, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %468 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %469 = shufflevector <64 x float> %468, <64 x float> %467, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %470 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %471 = shufflevector <64 x float> %470, <64 x float> %469, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %472 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %473 = shufflevector <64 x float> %472, <64 x float> %471, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %474 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %475 = shufflevector <64 x float> %474, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %476 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %477 = shufflevector <64 x float> %476, <64 x float> %475, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %478 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %479 = shufflevector <64 x float> %478, <64 x float> %477, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %480 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %481 = shufflevector <64 x float> %480, <64 x float> %479, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %482 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %483 = shufflevector <64 x float> %482, <64 x float> %481, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %484 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %485 = shufflevector <64 x float> %484, <64 x float> %483, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %486 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %487 = shufflevector <64 x float> %486, <64 x float> %485, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %488 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %489 = shufflevector <64 x float> %488, <64 x float> %487, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %490 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %491 = shufflevector <64 x float> %490, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %492 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %493 = shufflevector <64 x float> %492, <64 x float> %491, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %494 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %495 = shufflevector <64 x float> %494, <64 x float> %493, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %496 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %497 = shufflevector <64 x float> %496, <64 x float> %495, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %498 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %499 = shufflevector <64 x float> %498, <64 x float> %497, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %500 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %501 = shufflevector <64 x float> %500, <64 x float> %499, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %502 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %503 = shufflevector <64 x float> %502, <64 x float> %501, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %504 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %505 = shufflevector <64 x float> %504, <64 x float> %503, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %506 = call <64 x float> @llvm.fma.v64f32(<64 x float> %377, <64 x float> %505, <64 x float> zeroinitializer)
+ %507 = call <64 x float> @llvm.fma.v64f32(<64 x float> %345, <64 x float> %489, <64 x float> %506)
+ %508 = call <64 x float> @llvm.fma.v64f32(<64 x float> %313, <64 x float> %473, <64 x float> %507)
+ %509 = call <64 x float> @llvm.fma.v64f32(<64 x float> %281, <64 x float> %457, <64 x float> %508)
+ %510 = call <64 x float> @llvm.fma.v64f32(<64 x float> %249, <64 x float> %441, <64 x float> %509)
+ %511 = call <64 x float> @llvm.fma.v64f32(<64 x float> %217, <64 x float> %425, <64 x float> %510)
+ %512 = call <64 x float> @llvm.fma.v64f32(<64 x float> %185, <64 x float> %409, <64 x float> %511)
+ %513 = call <64 x float> @llvm.fma.v64f32(<64 x float> %153, <64 x float> %393, <64 x float> %512)
+ %514 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %515 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+ %516 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+ %517 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ %518 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+ %519 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+ %520 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+ %521 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ %522 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
+ %523 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
+ %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
+ %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
+ %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
+ %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
+ %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
+ %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+ %530 = extractelement <8 x float> %522, i64 0
+ %531 = extractelement <8 x float> %522, i64 1
+ %532 = extractelement <8 x float> %522, i64 2
+ %533 = extractelement <8 x float> %522, i64 3
+ %534 = extractelement <8 x float> %522, i64 4
+ %535 = extractelement <8 x float> %522, i64 5
+ %536 = extractelement <8 x float> %522, i64 6
+ %537 = extractelement <8 x float> %522, i64 7
+ %538 = extractelement <8 x float> %523, i64 0
+ %539 = extractelement <8 x float> %523, i64 1
+ %540 = extractelement <8 x float> %523, i64 2
+ %541 = extractelement <8 x float> %523, i64 3
+ %542 = extractelement <8 x float> %523, i64 4
+ %543 = extractelement <8 x float> %523, i64 5
+ %544 = extractelement <8 x float> %523, i64 6
+ %545 = extractelement <8 x float> %523, i64 7
+ %546 = extractelement <8 x float> %524, i64 0
+ %547 = extractelement <8 x float> %524, i64 1
+ %548 = extractelement <8 x float> %524, i64 2
+ %549 = extractelement <8 x float> %524, i64 3
+ %550 = extractelement <8 x float> %524, i64 4
+ %551 = extractelement <8 x float> %524, i64 5
+ %552 = extractelement <8 x float> %524, i64 6
+ %553 = extractelement <8 x float> %524, i64 7
+ %554 = extractelement <8 x float> %525, i64 0
+ %555 = extractelement <8 x float> %525, i64 1
+ %556 = extractelement <8 x float> %525, i64 2
+ %557 = extractelement <8 x float> %525, i64 3
+ %558 = extractelement <8 x float> %525, i64 4
+ %559 = extractelement <8 x float> %525, i64 5
+ %560 = extractelement <8 x float> %525, i64 6
+ %561 = extractelement <8 x float> %525, i64 7
+ %562 = extractelement <8 x float> %526, i64 0
+ %563 = extractelement <8 x float> %526, i64 1
+ %564 = extractelement <8 x float> %526, i64 2
+ %565 = extractelement <8 x float> %526, i64 3
+ %566 = extractelement <8 x float> %526, i64 4
+ %567 = extractelement <8 x float> %526, i64 5
+ %568 = extractelement <8 x float> %526, i64 6
+ %569 = extractelement <8 x float> %526, i64 7
+ %570 = extractelement <8 x float> %527, i64 0
+ %571 = extractelement <8 x float> %527, i64 1
+ %572 = extractelement <8 x float> %527, i64 2
+ %573 = extractelement <8 x float> %527, i64 3
+ %574 = extractelement <8 x float> %527, i64 4
+ %575 = extractelement <8 x float> %527, i64 5
+ %576 = extractelement <8 x float> %527, i64 6
+ %577 = extractelement <8 x float> %527, i64 7
+ %578 = extractelement <8 x float> %528, i64 0
+ %579 = extractelement <8 x float> %528, i64 1
+ %580 = extractelement <8 x float> %528, i64 2
+ %581 = extractelement <8 x float> %528, i64 3
+ %582 = extractelement <8 x float> %528, i64 4
+ %583 = extractelement <8 x float> %528, i64 5
+ %584 = extractelement <8 x float> %528, i64 6
+ %585 = extractelement <8 x float> %528, i64 7
+ %586 = extractelement <8 x float> %529, i64 0
+ %587 = extractelement <8 x float> %529, i64 1
+ %588 = extractelement <8 x float> %529, i64 2
+ %589 = extractelement <8 x float> %529, i64 3
+ %590 = extractelement <8 x float> %529, i64 4
+ %591 = extractelement <8 x float> %529, i64 5
+ %592 = extractelement <8 x float> %529, i64 6
+ %593 = extractelement <8 x float> %529, i64 7
+ %594 = insertelement <8 x float> poison, float %530, i32 0
+ %595 = shufflevector <8 x float> %594, <8 x float> poison, <8 x i32> zeroinitializer
+ %596 = shufflevector <8 x float> %595, <8 x float> %595, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %597 = shufflevector <64 x float> %596, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %598 = insertelement <8 x float> poison, float %538, i32 0
+ %599 = shufflevector <8 x float> %598, <8 x float> poison, <8 x i32> zeroinitializer
+ %600 = shufflevector <8 x float> %599, <8 x float> %599, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %601 = shufflevector <64 x float> %600, <64 x float> %597, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %602 = insertelement <8 x float> poison, float %546, i32 0
+ %603 = shufflevector <8 x float> %602, <8 x float> poison, <8 x i32> zeroinitializer
+ %604 = shufflevector <8 x float> %603, <8 x float> %603, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %605 = shufflevector <64 x float> %604, <64 x float> %601, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %606 = insertelement <8 x float> poison, float %554, i32 0
+ %607 = shufflevector <8 x float> %606, <8 x float> poison, <8 x i32> zeroinitializer
+ %608 = shufflevector <8 x float> %607, <8 x float> %607, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %609 = shufflevector <64 x float> %608, <64 x float> %605, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %610 = insertelement <8 x float> poison, float %562, i32 0
+ %611 = shufflevector <8 x float> %610, <8 x float> poison, <8 x i32> zeroinitializer
+ %612 = shufflevector <8 x float> %611, <8 x float> %611, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %613 = shufflevector <64 x float> %612, <64 x float> %609, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %614 = insertelement <8 x float> poison, float %570, i32 0
+ %615 = shufflevector <8 x float> %614, <8 x float> poison, <8 x i32> zeroinitializer
+ %616 = shufflevector <8 x float> %615, <8 x float> %615, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %617 = shufflevector <64 x float> %616, <64 x float> %613, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %618 = insertelement <8 x float> poison, float %578, i32 0
+ %619 = shufflevector <8 x float> %618, <8 x float> poison, <8 x i32> zeroinitializer
+ %620 = shufflevector <8 x float> %619, <8 x float> %619, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %621 = shufflevector <64 x float> %620, <64 x float> %617, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %622 = insertelement <8 x float> poison, float %586, i32 0
+ %623 = shufflevector <8 x float> %622, <8 x float> poison, <8 x i32> zeroinitializer
+ %624 = shufflevector <8 x float> %623, <8 x float> %623, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %625 = shufflevector <64 x float> %624, <64 x float> %621, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %626 = insertelement <8 x float> poison, float %531, i32 0
+ %627 = shufflevector <8 x float> %626, <8 x float> poison, <8 x i32> zeroinitializer
+ %628 = shufflevector <8 x float> %627, <8 x float> %627, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %629 = shufflevector <64 x float> %628, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %630 = insertelement <8 x float> poison, float %539, i32 0
+ %631 = shufflevector <8 x float> %630, <8 x float> poison, <8 x i32> zeroinitializer
+ %632 = shufflevector <8 x float> %631, <8 x float> %631, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %633 = shufflevector <64 x float> %632, <64 x float> %629, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %634 = insertelement <8 x float> poison, float %547, i32 0
+ %635 = shufflevector <8 x float> %634, <8 x float> poison, <8 x i32> zeroinitializer
+ %636 = shufflevector <8 x float> %635, <8 x float> %635, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %637 = shufflevector <64 x float> %636, <64 x float> %633, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %638 = insertelement <8 x float> poison, float %555, i32 0
+ %639 = shufflevector <8 x float> %638, <8 x float> poison, <8 x i32> zeroinitializer
+ %640 = shufflevector <8 x float> %639, <8 x float> %639, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %641 = shufflevector <64 x float> %640, <64 x float> %637, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %642 = insertelement <8 x float> poison, float %563, i32 0
+ %643 = shufflevector <8 x float> %642, <8 x float> poison, <8 x i32> zeroinitializer
+ %644 = shufflevector <8 x float> %643, <8 x float> %643, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %645 = shufflevector <64 x float> %644, <64 x float> %641, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %646 = insertelement <8 x float> poison, float %571, i32 0
+ %647 = shufflevector <8 x float> %646, <8 x float> poison, <8 x i32> zeroinitializer
+ %648 = shufflevector <8 x float> %647, <8 x float> %647, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %649 = shufflevector <64 x float> %648, <64 x float> %645, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %650 = insertelement <8 x float> poison, float %579, i32 0
+ %651 = shufflevector <8 x float> %650, <8 x float> poison, <8 x i32> zeroinitializer
+ %652 = shufflevector <8 x float> %651, <8 x float> %651, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %653 = shufflevector <64 x float> %652, <64 x float> %649, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %654 = insertelement <8 x float> poison, float %587, i32 0
+ %655 = shufflevector <8 x float> %654, <8 x float> poison, <8 x i32> zeroinitializer
+ %656 = shufflevector <8 x float> %655, <8 x float> %655, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %657 = shufflevector <64 x float> %656, <64 x float> %653, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %658 = insertelement <8 x float> poison, float %532, i32 0
+ %659 = shufflevector <8 x float> %658, <8 x float> poison, <8 x i32> zeroinitializer
+ %660 = shufflevector <8 x float> %659, <8 x float> %659, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %661 = shufflevector <64 x float> %660, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %662 = insertelement <8 x float> poison, float %540, i32 0
+ %663 = shufflevector <8 x float> %662, <8 x float> poison, <8 x i32> zeroinitializer
+ %664 = shufflevector <8 x float> %663, <8 x float> %663, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %665 = shufflevector <64 x float> %664, <64 x float> %661, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %666 = insertelement <8 x float> poison, float %548, i32 0
+ %667 = shufflevector <8 x float> %666, <8 x float> poison, <8 x i32> zeroinitializer
+ %668 = shufflevector <8 x float> %667, <8 x float> %667, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %669 = shufflevector <64 x float> %668, <64 x float> %665, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %670 = insertelement <8 x float> poison, float %556, i32 0
+ %671 = shufflevector <8 x float> %670, <8 x float> poison, <8 x i32> zeroinitializer
+ %672 = shufflevector <8 x float> %671, <8 x float> %671, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %673 = shufflevector <64 x float> %672, <64 x float> %669, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %674 = insertelement <8 x float> poison, float %564, i32 0
+ %675 = shufflevector <8 x float> %674, <8 x float> poison, <8 x i32> zeroinitializer
+ %676 = shufflevector <8 x float> %675, <8 x float> %675, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %677 = shufflevector <64 x float> %676, <64 x float> %673, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %678 = insertelement <8 x float> poison, float %572, i32 0
+ %679 = shufflevector <8 x float> %678, <8 x float> poison, <8 x i32> zeroinitializer
+ %680 = shufflevector <8 x float> %679, <8 x float> %679, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %681 = shufflevector <64 x float> %680, <64 x float> %677, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %682 = insertelement <8 x float> poison, float %580, i32 0
+ %683 = shufflevector <8 x float> %682, <8 x float> poison, <8 x i32> zeroinitializer
+ %684 = shufflevector <8 x float> %683, <8 x float> %683, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %685 = shufflevector <64 x float> %684, <64 x float> %681, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %686 = insertelement <8 x float> poison, float %588, i32 0
+ %687 = shufflevector <8 x float> %686, <8 x float> poison, <8 x i32> zeroinitializer
+ %688 = shufflevector <8 x float> %687, <8 x float> %687, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %689 = shufflevector <64 x float> %688, <64 x float> %685, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %690 = insertelement <8 x float> poison, float %533, i32 0
+ %691 = shufflevector <8 x float> %690, <8 x float> poison, <8 x i32> zeroinitializer
+ %692 = shufflevector <8 x float> %691, <8 x float> %691, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %693 = shufflevector <64 x float> %692, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %694 = insertelement <8 x float> poison, float %541, i32 0
+ %695 = shufflevector <8 x float> %694, <8 x float> poison, <8 x i32> zeroinitializer
+ %696 = shufflevector <8 x float> %695, <8 x float> %695, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %697 = shufflevector <64 x float> %696, <64 x float> %693, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %698 = insertelement <8 x float> poison, float %549, i32 0
+ %699 = shufflevector <8 x float> %698, <8 x float> poison, <8 x i32> zeroinitializer
+ %700 = shufflevector <8 x float> %699, <8 x float> %699, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %701 = shufflevector <64 x float> %700, <64 x float> %697, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %702 = insertelement <8 x float> poison, float %557, i32 0
+ %703 = shufflevector <8 x float> %702, <8 x float> poison, <8 x i32> zeroinitializer
+ %704 = shufflevector <8 x float> %703, <8 x float> %703, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %705 = shufflevector <64 x float> %704, <64 x float> %701, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %706 = insertelement <8 x float> poison, float %565, i32 0
+ %707 = shufflevector <8 x float> %706, <8 x float> poison, <8 x i32> zeroinitializer
+ %708 = shufflevector <8 x float> %707, <8 x float> %707, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %709 = shufflevector <64 x float> %708, <64 x float> %705, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %710 = insertelement <8 x float> poison, float %573, i32 0
+ %711 = shufflevector <8 x float> %710, <8 x float> poison, <8 x i32> zeroinitializer
+ %712 = shufflevector <8 x float> %711, <8 x float> %711, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %713 = shufflevector <64 x float> %712, <64 x float> %709, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %714 = insertelement <8 x float> poison, float %581, i32 0
+ %715 = shufflevector <8 x float> %714, <8 x float> poison, <8 x i32> zeroinitializer
+ %716 = shufflevector <8 x float> %715, <8 x float> %715, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %717 = shufflevector <64 x float> %716, <64 x float> %713, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %718 = insertelement <8 x float> poison, float %589, i32 0
+ %719 = shufflevector <8 x float> %718, <8 x float> poison, <8 x i32> zeroinitializer
+ %720 = shufflevector <8 x float> %719, <8 x float> %719, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %721 = shufflevector <64 x float> %720, <64 x float> %717, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %722 = insertelement <8 x float> poison, float %534, i32 0
+ %723 = shufflevector <8 x float> %722, <8 x float> poison, <8 x i32> zeroinitializer
+ %724 = shufflevector <8 x float> %723, <8 x float> %723, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %725 = shufflevector <64 x float> %724, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %726 = insertelement <8 x float> poison, float %542, i32 0
+ %727 = shufflevector <8 x float> %726, <8 x float> poison, <8 x i32> zeroinitializer
+ %728 = shufflevector <8 x float> %727, <8 x float> %727, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %729 = shufflevector <64 x float> %728, <64 x float> %725, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %730 = insertelement <8 x float> poison, float %550, i32 0
+ %731 = shufflevector <8 x float> %730, <8 x float> poison, <8 x i32> zeroinitializer
+ %732 = shufflevector <8 x float> %731, <8 x float> %731, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %733 = shufflevector <64 x float> %732, <64 x float> %729, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %734 = insertelement <8 x float> poison, float %558, i32 0
+ %735 = shufflevector <8 x float> %734, <8 x float> poison, <8 x i32> zeroinitializer
+ %736 = shufflevector <8 x float> %735, <8 x float> %735, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %737 = shufflevector <64 x float> %736, <64 x float> %733, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %738 = insertelement <8 x float> poison, float %566, i32 0
+ %739 = shufflevector <8 x float> %738, <8 x float> poison, <8 x i32> zeroinitializer
+ %740 = shufflevector <8 x float> %739, <8 x float> %739, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %741 = shufflevector <64 x float> %740, <64 x float> %737, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %742 = insertelement <8 x float> poison, float %574, i32 0
+ %743 = shufflevector <8 x float> %742, <8 x float> poison, <8 x i32> zeroinitializer
+ %744 = shufflevector <8 x float> %743, <8 x float> %743, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %745 = shufflevector <64 x float> %744, <64 x float> %741, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %746 = insertelement <8 x float> poison, float %582, i32 0
+ %747 = shufflevector <8 x float> %746, <8 x float> poison, <8 x i32> zeroinitializer
+ %748 = shufflevector <8 x float> %747, <8 x float> %747, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %749 = shufflevector <64 x float> %748, <64 x float> %745, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %750 = insertelement <8 x float> poison, float %590, i32 0
+ %751 = shufflevector <8 x float> %750, <8 x float> poison, <8 x i32> zeroinitializer
+ %752 = shufflevector <8 x float> %751, <8 x float> %751, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %753 = shufflevector <64 x float> %752, <64 x float> %749, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %754 = insertelement <8 x float> poison, float %535, i32 0
+ %755 = shufflevector <8 x float> %754, <8 x float> poison, <8 x i32> zeroinitializer
+ %756 = shufflevector <8 x float> %755, <8 x float> %755, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %757 = shufflevector <64 x float> %756, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %758 = insertelement <8 x float> poison, float %543, i32 0
+ %759 = shufflevector <8 x float> %758, <8 x float> poison, <8 x i32> zeroinitializer
+ %760 = shufflevector <8 x float> %759, <8 x float> %759, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %761 = shufflevector <64 x float> %760, <64 x float> %757, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %762 = insertelement <8 x float> poison, float %551, i32 0
+ %763 = shufflevector <8 x float> %762, <8 x float> poison, <8 x i32> zeroinitializer
+ %764 = shufflevector <8 x float> %763, <8 x float> %763, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %765 = shufflevector <64 x float> %764, <64 x float> %761, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %766 = insertelement <8 x float> poison, float %559, i32 0
+ %767 = shufflevector <8 x float> %766, <8 x float> poison, <8 x i32> zeroinitializer
+ %768 = shufflevector <8 x float> %767, <8 x float> %767, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %769 = shufflevector <64 x float> %768, <64 x float> %765, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %770 = insertelement <8 x float> poison, float %567, i32 0
+ %771 = shufflevector <8 x float> %770, <8 x float> poison, <8 x i32> zeroinitializer
+ %772 = shufflevector <8 x float> %771, <8 x float> %771, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %773 = shufflevector <64 x float> %772, <64 x float> %769, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %774 = insertelement <8 x float> poison, float %575, i32 0
+ %775 = shufflevector <8 x float> %774, <8 x float> poison, <8 x i32> zeroinitializer
+ %776 = shufflevector <8 x float> %775, <8 x float> %775, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %777 = shufflevector <64 x float> %776, <64 x float> %773, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %778 = insertelement <8 x float> poison, float %583, i32 0
+ %779 = shufflevector <8 x float> %778, <8 x float> poison, <8 x i32> zeroinitializer
+ %780 = shufflevector <8 x float> %779, <8 x float> %779, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %781 = shufflevector <64 x float> %780, <64 x float> %777, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %782 = insertelement <8 x float> poison, float %591, i32 0
+ %783 = shufflevector <8 x float> %782, <8 x float> poison, <8 x i32> zeroinitializer
+ %784 = shufflevector <8 x float> %783, <8 x float> %783, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %785 = shufflevector <64 x float> %784, <64 x float> %781, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %786 = insertelement <8 x float> poison, float %536, i32 0
+ %787 = shufflevector <8 x float> %786, <8 x float> poison, <8 x i32> zeroinitializer
+ %788 = shufflevector <8 x float> %787, <8 x float> %787, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %789 = shufflevector <64 x float> %788, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %790 = insertelement <8 x float> poison, float %544, i32 0
+ %791 = shufflevector <8 x float> %790, <8 x float> poison, <8 x i32> zeroinitializer
+ %792 = shufflevector <8 x float> %791, <8 x float> %791, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %793 = shufflevector <64 x float> %792, <64 x float> %789, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %794 = insertelement <8 x float> poison, float %552, i32 0
+ %795 = shufflevector <8 x float> %794, <8 x float> poison, <8 x i32> zeroinitializer
+ %796 = shufflevector <8 x float> %795, <8 x float> %795, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %797 = shufflevector <64 x float> %796, <64 x float> %793, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %798 = insertelement <8 x float> poison, float %560, i32 0
+ %799 = shufflevector <8 x float> %798, <8 x float> poison, <8 x i32> zeroinitializer
+ %800 = shufflevector <8 x float> %799, <8 x float> %799, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %801 = shufflevector <64 x float> %800, <64 x float> %797, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %802 = insertelement <8 x float> poison, float %568, i32 0
+ %803 = shufflevector <8 x float> %802, <8 x float> poison, <8 x i32> zeroinitializer
+ %804 = shufflevector <8 x float> %803, <8 x float> %803, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %805 = shufflevector <64 x float> %804, <64 x float> %801, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %806 = insertelement <8 x float> poison, float %576, i32 0
+ %807 = shufflevector <8 x float> %806, <8 x float> poison, <8 x i32> zeroinitializer
+ %808 = shufflevector <8 x float> %807, <8 x float> %807, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %809 = shufflevector <64 x float> %808, <64 x float> %805, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %810 = insertelement <8 x float> poison, float %584, i32 0
+ %811 = shufflevector <8 x float> %810, <8 x float> poison, <8 x i32> zeroinitializer
+ %812 = shufflevector <8 x float> %811, <8 x float> %811, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %813 = shufflevector <64 x float> %812, <64 x float> %809, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %814 = insertelement <8 x float> poison, float %592, i32 0
+ %815 = shufflevector <8 x float> %814, <8 x float> poison, <8 x i32> zeroinitializer
+ %816 = shufflevector <8 x float> %815, <8 x float> %815, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %817 = shufflevector <64 x float> %816, <64 x float> %813, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %818 = insertelement <8 x float> poison, float %537, i32 0
+ %819 = shufflevector <8 x float> %818, <8 x float> poison, <8 x i32> zeroinitializer
+ %820 = shufflevector <8 x float> %819, <8 x float> %819, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %821 = shufflevector <64 x float> %820, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %822 = insertelement <8 x float> poison, float %545, i32 0
+ %823 = shufflevector <8 x float> %822, <8 x float> poison, <8 x i32> zeroinitializer
+ %824 = shufflevector <8 x float> %823, <8 x float> %823, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %825 = shufflevector <64 x float> %824, <64 x float> %821, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %826 = insertelement <8 x float> poison, float %553, i32 0
+ %827 = shufflevector <8 x float> %826, <8 x float> poison, <8 x i32> zeroinitializer
+ %828 = shufflevector <8 x float> %827, <8 x float> %827, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %829 = shufflevector <64 x float> %828, <64 x float> %825, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %830 = insertelement <8 x float> poison, float %561, i32 0
+ %831 = shufflevector <8 x float> %830, <8 x float> poison, <8 x i32> zeroinitializer
+ %832 = shufflevector <8 x float> %831, <8 x float> %831, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %833 = shufflevector <64 x float> %832, <64 x float> %829, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %834 = insertelement <8 x float> poison, float %569, i32 0
+ %835 = shufflevector <8 x float> %834, <8 x float> poison, <8 x i32> zeroinitializer
+ %836 = shufflevector <8 x float> %835, <8 x float> %835, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %837 = shufflevector <64 x float> %836, <64 x float> %833, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %838 = insertelement <8 x float> poison, float %577, i32 0
+ %839 = shufflevector <8 x float> %838, <8 x float> poison, <8 x i32> zeroinitializer
+ %840 = shufflevector <8 x float> %839, <8 x float> %839, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %841 = shufflevector <64 x float> %840, <64 x float> %837, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %842 = insertelement <8 x float> poison, float %585, i32 0
+ %843 = shufflevector <8 x float> %842, <8 x float> poison, <8 x i32> zeroinitializer
+ %844 = shufflevector <8 x float> %843, <8 x float> %843, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %845 = shufflevector <64 x float> %844, <64 x float> %841, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %846 = insertelement <8 x float> poison, float %593, i32 0
+ %847 = shufflevector <8 x float> %846, <8 x float> poison, <8 x i32> zeroinitializer
+ %848 = shufflevector <8 x float> %847, <8 x float> %847, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %849 = shufflevector <64 x float> %848, <64 x float> %845, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %850 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %851 = shufflevector <64 x float> %850, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %852 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %853 = shufflevector <64 x float> %852, <64 x float> %851, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %854 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %855 = shufflevector <64 x float> %854, <64 x float> %853, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %856 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %857 = shufflevector <64 x float> %856, <64 x float> %855, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %858 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %859 = shufflevector <64 x float> %858, <64 x float> %857, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %860 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %861 = shufflevector <64 x float> %860, <64 x float> %859, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %862 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %863 = shufflevector <64 x float> %862, <64 x float> %861, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %864 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %865 = shufflevector <64 x float> %864, <64 x float> %863, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %866 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %867 = shufflevector <64 x float> %866, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %868 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %869 = shufflevector <64 x float> %868, <64 x float> %867, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %870 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %871 = shufflevector <64 x float> %870, <64 x float> %869, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %872 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %873 = shufflevector <64 x float> %872, <64 x float> %871, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %874 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %875 = shufflevector <64 x float> %874, <64 x float> %873, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %876 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %877 = shufflevector <64 x float> %876, <64 x float> %875, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %878 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %879 = shufflevector <64 x float> %878, <64 x float> %877, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %880 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %881 = shufflevector <64 x float> %880, <64 x float> %879, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %882 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %883 = shufflevector <64 x float> %882, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %884 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %885 = shufflevector <64 x float> %884, <64 x float> %883, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %886 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %887 = shufflevector <64 x float> %886, <64 x float> %885, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %888 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %889 = shufflevector <64 x float> %888, <64 x float> %887, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %890 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %891 = shufflevector <64 x float> %890, <64 x float> %889, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %892 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %893 = shufflevector <64 x float> %892, <64 x float> %891, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %894 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %895 = shufflevector <64 x float> %894, <64 x float> %893, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %896 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %897 = shufflevector <64 x float> %896, <64 x float> %895, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %898 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %899 = shufflevector <64 x float> %898, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %900 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %901 = shufflevector <64 x float> %900, <64 x float> %899, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %902 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %903 = shufflevector <64 x float> %902, <64 x float> %901, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %904 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %905 = shufflevector <64 x float> %904, <64 x float> %903, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %906 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %907 = shufflevector <64 x float> %906, <64 x float> %905, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %908 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %909 = shufflevector <64 x float> %908, <64 x float> %907, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %910 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %911 = shufflevector <64 x float> %910, <64 x float> %909, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %912 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %913 = shufflevector <64 x float> %912, <64 x float> %911, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %914 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %915 = shufflevector <64 x float> %914, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %916 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %917 = shufflevector <64 x float> %916, <64 x float> %915, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %918 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %919 = shufflevector <64 x float> %918, <64 x float> %917, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %920 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %921 = shufflevector <64 x float> %920, <64 x float> %919, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %922 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %923 = shufflevector <64 x float> %922, <64 x float> %921, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %924 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %925 = shufflevector <64 x float> %924, <64 x float> %923, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %926 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %927 = shufflevector <64 x float> %926, <64 x float> %925, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %928 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %929 = shufflevector <64 x float> %928, <64 x float> %927, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %930 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %931 = shufflevector <64 x float> %930, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %932 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %933 = shufflevector <64 x float> %932, <64 x float> %931, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %934 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %935 = shufflevector <64 x float> %934, <64 x float> %933, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %936 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %937 = shufflevector <64 x float> %936, <64 x float> %935, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %938 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %939 = shufflevector <64 x float> %938, <64 x float> %937, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %940 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %941 = shufflevector <64 x float> %940, <64 x float> %939, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %942 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %943 = shufflevector <64 x float> %942, <64 x float> %941, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %944 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %945 = shufflevector <64 x float> %944, <64 x float> %943, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %946 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %947 = shufflevector <64 x float> %946, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %948 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %949 = shufflevector <64 x float> %948, <64 x float> %947, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %950 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %951 = shufflevector <64 x float> %950, <64 x float> %949, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %952 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %953 = shufflevector <64 x float> %952, <64 x float> %951, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %954 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %955 = shufflevector <64 x float> %954, <64 x float> %953, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %956 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %957 = shufflevector <64 x float> %956, <64 x float> %955, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %958 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %959 = shufflevector <64 x float> %958, <64 x float> %957, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %960 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %961 = shufflevector <64 x float> %960, <64 x float> %959, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %962 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %963 = shufflevector <64 x float> %962, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %964 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %965 = shufflevector <64 x float> %964, <64 x float> %963, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %966 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %967 = shufflevector <64 x float> %966, <64 x float> %965, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %968 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %969 = shufflevector <64 x float> %968, <64 x float> %967, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %970 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %971 = shufflevector <64 x float> %970, <64 x float> %969, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %972 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %973 = shufflevector <64 x float> %972, <64 x float> %971, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %974 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %975 = shufflevector <64 x float> %974, <64 x float> %973, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+ %976 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+ %977 = shufflevector <64 x float> %976, <64 x float> %975, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %978 = call <64 x float> @llvm.fma.v64f32(<64 x float> %849, <64 x float> %977, <64 x float> zeroinitializer)
+ %979 = call <64 x float> @llvm.fma.v64f32(<64 x float> %817, <64 x float> %961, <64 x float> %978)
+ %980 = call <64 x float> @llvm.fma.v64f32(<64 x float> %785, <64 x float> %945, <64 x float> %979)
+ %981 = call <64 x float> @llvm.fma.v64f32(<64 x float> %753, <64 x float> %929, <64 x float> %980)
+ %982 = call <64 x float> @llvm.fma.v64f32(<64 x float> %721, <64 x float> %913, <64 x float> %981)
+ %983 = call <64 x float> @llvm.fma.v64f32(<64 x float> %689, <64 x float> %897, <64 x float> %982)
+ %984 = call <64 x float> @llvm.fma.v64f32(<64 x float> %657, <64 x float> %881, <64 x float> %983)
+ %985 = call <64 x float> @llvm.fma.v64f32(<64 x float> %625, <64 x float> %865, <64 x float> %984)
+ %986 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %987 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+ %988 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+ %989 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+ %990 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+ %991 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+ %992 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+ %993 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ br label %994
+
+994: ; preds = %997, %41
+ %995 = phi i32 [ %1006, %997 ], [ 0, %41 ]
+ %996 = icmp slt i32 %995, 8
+ br i1 %996, label %997, label %1007
+
+997: ; preds = %994
+ %998 = zext i32 %995 to i64
+ %999 = extractelement <8 x float> %986, i64 %998
+ %1000 = add nuw nsw i64 0, %998
+ %1001 = add nuw nsw i64 %1000, 0
+ %1002 = add nuw nsw i64 %1001, 0
+ %1003 = add nuw nsw i64 %1002, 0
+ %1004 = add nuw nsw i64 %1003, 0
+ %1005 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1004
+ store float %999, ptr addrspace(1) %1005, align 4
+ %1006 = add i32 %995, 1
+ br label %994
+
+1007: ; preds = %1010, %994
+ %1008 = phi i32 [ %1019, %1010 ], [ 0, %994 ]
+ %1009 = icmp slt i32 %1008, 8
+ br i1 %1009, label %1010, label %1020
+
+1010: ; preds = %1007
+ %1011 = zext i32 %1008 to i64
+ %1012 = extractelement <8 x float> %987, i64 %1011
+ %1013 = add nuw nsw i64 8, %1011
+ %1014 = add nuw nsw i64 %1013, 0
+ %1015 = add nuw nsw i64 %1014, 0
+ %1016 = add nuw nsw i64 %1015, 0
+ %1017 = add nuw nsw i64 %1016, 0
+ %1018 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1017
+ store float %1012, ptr addrspace(1) %1018, align 4
+ %1019 = add i32 %1008, 1
+ br label %1007
+
+1020: ; preds = %1023, %1007
+ %1021 = phi i32 [ %1032, %1023 ], [ 0, %1007 ]
+ %1022 = icmp slt i32 %1021, 8
+ br i1 %1022, label %1023, label %1033
+
+1023: ; preds = %1020
+ %1024 = zext i32 %1021 to i64
+ %1025 = extractelement <8 x float> %988, i64 %1024
+ %1026 = add nuw nsw i64 16, %1024
+ %1027 = add nuw nsw i64 %1026, 0
+ %1028 = add nuw nsw i64 %1027, 0
+ %1029 = add nuw nsw i64 %1028, 0
+ %1030 = add nuw nsw i64 %1029, 0
+ %1031 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1030
+ store float %1025, ptr addrspace(1) %1031, align 4
+ %1032 = add i32 %1021, 1
+ br label %1020
+
+1033: ; preds = %1036, %1020
+ %1034 = phi i32 [ %1045, %1036 ], [ 0, %1020 ]
+ %1035 = icmp slt i32 %1034, 8
+ br i1 %1035, label %1036, label %1046
+
+1036: ; preds = %1033
+ %1037 = zext i32 %1034 to i64
+ %1038 = extractelement <8 x float> %989, i64 %1037
+ %1039 = add nuw nsw i64 24, %1037
+ %1040 = add nuw nsw i64 %1039, 0
+ %1041 = add nuw nsw i64 %1040, 0
+ %1042 = add nuw nsw i64 %1041, 0
+ %1043 = add nuw nsw i64 %1042, 0
+ %1044 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1043
+ store float %1038, ptr addrspace(1) %1044, align 4
+ %1045 = add i32 %1034, 1
+ br label %1033
+
+1046: ; preds = %1049, %1033
+ %1047 = phi i32 [ %1058, %1049 ], [ 0, %1033 ]
+ %1048 = icmp slt i32 %1047, 8
+ br i1 %1048, label %1049, label %1059
+
+1049: ; preds = %1046
+ %1050 = zext i32 %1047 to i64
+ %1051 = extractelement <8 x float> %990, i64 %1050
+ %1052 = add nuw nsw i64 32, %1050
+ %1053 = add nuw nsw i64 %1052, 0
+ %1054 = add nuw nsw i64 %1053, 0
+ %1055 = add nuw nsw i64 %1054, 0
+ %1056 = add nuw nsw i64 %1055, 0
+ %1057 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1056
+ store float %1051, ptr addrspace(1) %1057, align 4
+ %1058 = add i32 %1047, 1
+ br label %1046
+
+1059: ; preds = %1062, %1046
+ %1060 = phi i32 [ %1071, %1062 ], [ 0, %1046 ]
+ %1061 = icmp slt i32 %1060, 8
+ br i1 %1061, label %1062, label %1072
+
+1062: ; preds = %1059
+ %1063 = zext i32 %1060 to i64
+ %1064 = extractelement <8 x float> %991, i64 %1063
+ %1065 = add nuw nsw i64 40, %1063
+ %1066 = add nuw nsw i64 %1065, 0
+ %1067 = add nuw nsw i64 %1066, 0
+ %1068 = add nuw nsw i64 %1067, 0
+ %1069 = add nuw nsw i64 %1068, 0
+ %1070 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1069
+ store float %1064, ptr addrspace(1) %1070, align 4
+ %1071 = add i32 %1060, 1
+ br label %1059
+
+1072: ; preds = %1075, %1059
+ %1073 = phi i32 [ %1084, %1075 ], [ 0, %1059 ]
+ %1074 = icmp slt i32 %1073, 8
+ br i1 %1074, label %1075, label %1085
+
+1075: ; preds = %1072
+ %1076 = zext i32 %1073 to i64
+ %1077 = extractelement <8 x float> %992, i64 %1076
+ %1078 = add nuw nsw i64 48, %1076
+ %1079 = add nuw nsw i64 %1078, 0
+ %1080 = add nuw nsw i64 %1079, 0
+ %1081 = add nuw nsw i64 %1080, 0
+ %1082 = add nuw nsw i64 %1081, 0
+ %1083 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1082
+ store float %1077, ptr addrspace(1) %1083, align 4
+ %1084 = add i32 %1073, 1
+ br label %1072
+
+1085: ; preds = %1088, %1072
+ %1086 = phi i32 [ %1097, %1088 ], [ 0, %1072 ]
+ %1087 = icmp slt i32 %1086, 8
+ br i1 %1087, label %1088, label %1098
+
+1088: ; preds = %1085
+ %1089 = zext i32 %1086 to i64
+ %1090 = extractelement <8 x float> %993, i64 %1089
+ %1091 = add nuw nsw i64 56, %1089
+ %1092 = add nuw nsw i64 %1091, 0
+ %1093 = add nuw nsw i64 %1092, 0
+ %1094 = add nuw nsw i64 %1093, 0
+ %1095 = add nuw nsw i64 %1094, 0
+ %1096 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1095
+ store float %1090, ptr addrspace(1) %1096, align 4
+ %1097 = add i32 %1086, 1
+ br label %1085
+
+1098: ; preds = %1085
+ ret void
+}
+
+; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
+declare void @llvm.assume(i1 noundef) #1
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.signal(i32 immarg) #2
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.wait(i16 immarg) #2
+
+; Function Attrs: alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
+declare <64 x float> @llvm.fma.v64f32(<64 x float>, <64 x float>, <64 x float>) #3
+
+attributes #0 = { alwaysinline }
+attributes #1 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }
+attributes #2 = { alwaysinline convergent nocallback nofree nounwind willreturn }
+attributes #3 = { alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
+
+!llvm.module.flags = !{!0, !1}
+!spirv.ExecutionMode = !{!4}
+
+!0 = !{i32 2, !"Debug Info Version", i32 3}
+!1 = !{i32 1, !"amdhsa_code_object_version", i32 500}
+!2 = !{!"amdgpu-synchronize-as", !"local"}
+!4 = !{ptr addrspace(4) @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
new file mode 100644
index 0000000000000..7343f996f3cad
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
@@ -0,0 +1,129 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName %[[#main:]] "main"
+; CHECK-DAG: %[[#float:]] = OpTypeFloat 32
+; CHECK-DAG: %[[#v17f32:]] = OpTypeVectorIdEXT %[[#float]] 17
+; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#c17:]] = OpConstant %[[#int]] 17
+; CHECK-DAG: %[[#v17i32:]] = OpTypeVectorIdEXT %[[#int]] 17
+; CHECK-DAG: %[[#ptr_v17i32:]] = OpTypePointer CrossWorkgroup %[[#v17i32]]
+
+ at f1 = internal addrspace(1) global [4 x [17 x float] ] zeroinitializer
+ at f2 = internal addrspace(1) global [4 x [17 x float] ] zeroinitializer
+ at i1 = internal addrspace(1) global [4 x [17 x i32] ] zeroinitializer
+ at i2 = internal addrspace(1) global [4 x [17 x i32] ] zeroinitializer
+
+define void @main() local_unnamed_addr {
+; CHECK: %[[#main]] = OpFunction
+entry:
+ %2 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 0
+ %3 = load <17 x float>, ptr addrspace(1) %2, align 4
+ %4 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 1
+ %5 = load <17 x float>, ptr addrspace(1) %4, align 4
+ %6 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 2
+ %7 = load <17 x float>, ptr addrspace(1) %6, align 4
+ %8 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 3
+ %9 = load <17 x float>, ptr addrspace(1) %8, align 4
+
+ ; CHECK: %[[#Mul:]] = OpFMul %[[#v17f32]]
+ %10 = fmul reassoc nnan ninf nsz arcp afn <17 x float> %3, splat (float 3.000000e+00)
+
+ ; CHECK: %[[#Add:]] = OpFAdd %[[#v17f32]] %[[#Mul]]
+ %11 = fadd reassoc nnan ninf nsz arcp afn <17 x float> %10, %5
+
+ ; CHECK: %[[#Sub:]] = OpFSub %[[#v17f32]] %[[#Add]]
+ %13 = fsub reassoc nnan ninf nsz arcp afn <17 x float> %11, %9
+
+ ; CHECK: OpStore %[[#]] %[[#Sub]]
+
+ %14 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f2, i32 0, i32 0
+ store <17 x float> %13, ptr addrspace(1) %14, align 4
+ ret void
+}
+
+; Test integer vector arithmetic operations
+define void @test_int_vector_arithmetic() local_unnamed_addr #0 {
+; CHECK: OpFunction
+entry:
+ %2 = getelementptr [4 x [17 x i32] ], ptr addrspace(1) @i1, i32 0, i32 0
+ %3 = load <17 x i32>, ptr addrspace(1) %2, align 4
+ %4 = getelementptr [4 x [17 x i32] ], ptr addrspace(1) @i1, i32 0, i32 1
+ %5 = load <17 x i32>, ptr addrspace(1) %4, align 4
+
+ ; CHECK: %[[#Add1:]] = OpIAdd %[[#v17i32]]
+ %6 = add <17 x i32> %3, %5
+
+ ; CHECK: %[[#Sub1:]] = OpISub %[[#v17i32]] %[[#Add1]]
+ %7 = sub <17 x i32> %6, %5
+
+ ; CHECK: %[[#Mul1:]] = OpIMul %[[#v17i32]] %[[#Sub1]]
+ %8 = mul <17 x i32> %7, splat (i32 2)
+
+ ; CHECK: %[[#SDiv1:]] = OpSDiv %[[#v17i32]] %[[#Mul1]]
+ %9 = sdiv <17 x i32> %8, splat (i32 2)
+
+ ; CHECK: %[[#UDiv1:]] = OpUDiv %[[#v17i32]] %[[#SDiv1]]
+ %10 = udiv <17 x i32> %9, splat (i32 1)
+
+ ; CHECK: %[[#SRem1:]] = OpSRem %[[#v17i32]] %[[#UDiv1]]
+ %11 = srem <17 x i32> %10, splat (i32 3)
+
+ ; CHECK: %[[#UMod1:]] = OpUMod %[[#v17i32]] %[[#SRem1]]
+ %12 = urem <17 x i32> %11, splat (i32 3)
+
+ ; CHECK: OpStore {{.*}} %[[#UMod1]]
+
+ %13 = getelementptr [4 x [17 x i32] ], ptr addrspace(1) @i2, i32 0, i32 0
+ store <17 x i32> %12, ptr addrspace(1) %13, align 4
+ ret void
+}
+
+; Test remaining float vector arithmetic operations
+define void @test_float_vector_arithmetic_continued() local_unnamed_addr #0 {
+; CHECK: OpFunction
+entry:
+ %2 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 0
+ %3 = load <17 x float>, ptr addrspace(1) %2, align 4
+ %4 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 1
+ %5 = load <17 x float>, ptr addrspace(1) %4, align 4
+
+ ; CHECK: %[[#FDiv1:]] = OpFDiv %[[#v17f32]]
+ %6 = fdiv reassoc nnan ninf nsz arcp afn <17 x float> %3, splat (float 2.000000e+00)
+
+ ; CHECK: %[[#FRem1:]] = OpFRem %[[#v17f32]] %[[#FDiv1]]
+ %7 = frem reassoc nnan ninf nsz arcp afn <17 x float> %6, splat (float 3.000000e+00)
+
+ ; CHECK: %[[#Fma1:]] = OpExtInst %[[#v17f32]] {{.*}} fma {{.*}} %[[#FDiv1]] %[[#FRem1]]
+ %8 = call reassoc nnan ninf nsz arcp afn <17 x float> @llvm.fma.v16f32(<17 x float> %5, <17 x float> %6, <17 x float> %7)
+
+ ; CHECK: OpStore {{.*}} %[[#Fma1]]
+
+ %9 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f2, i32 0, i32 0
+ store <17 x float> %8, ptr addrspace(1) %9, align 4
+ ret void
+}
+
+; Test constrained fma vector arithmetic operations
+define void @test_constrained_fma_vector() local_unnamed_addr #0 {
+; CHECK: OpFunction
+entry:
+ %2 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 0
+ %3 = load <17 x float>, ptr addrspace(1) %2, align 4
+ %4 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 1
+ %5 = load <17 x float>, ptr addrspace(1) %4, align 4
+ %6 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 2
+ %7 = load <17 x float>, ptr addrspace(1) %6, align 4
+
+ ; CHECK: %[[#Fma2:]] = OpExtInst %[[#v17f32]] {{.*}} fma
+ %8 = call <17 x float> @llvm.experimental.constrained.fma.v16f32(<17 x float> %3, <17 x float> %5, <17 x float> %7, metadata !"round.dynamic", metadata !"fpexcept.strict")
+
+ ; CHECK: OpStore {{.*}} %[[#Fma2]]
+
+ %9 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f2, i32 0, i32 0
+ store <17 x float> %8, ptr addrspace(1) %9, align 4
+ ret void
+}
+
+declare <17 x float> @llvm.experimental.constrained.fma.v16f32(<17 x float>, <17 x float>, <17 x float>, metadata, metadata)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
new file mode 100644
index 0000000000000..2c12bd21e7bda
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
@@ -0,0 +1,89 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName %[[#idx:]] "idx"
+; CHECK-DAG: OpName %[[#idx2:]] "idx2"
+; CHECK-DAG: OpName %[[#val:]] "val"
+
+; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#long:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#vec17:]] = OpTypeVectorIdEXT %[[#int]] 17
+; CHECK-DAG: %[[#ptr_vec17:]] = OpTypePointer Function %[[#vec17]]
+; CHECK-DAG: %[[#undef:]] = OpUndef %[[#vec17]]
+; CHECK-DAG: %[[#null:]] = OpConstantNull %[[#vec17]]
+
+; CHECK-DAG: %[[#out:]] = OpVariable %[[#ptr_p_int:]] CrossWorkgroup
+
+ at out = internal addrspace(1) global i32 0
+ at idx = internal addrspace(1) global i32 0
+ at idx2 = internal addrspace(1) global i32 0
+ at val = internal addrspace(1) global i32 0
+
+; CHECK: %[[#test_full:]] = OpFunction %[[#]] None %[[#]]
+define void @test_full() {
+ ; CHECK-DAG: %[[#i0:]] = OpLoad %[[#int]] %[[#idx]]
+ ; CHECK-DAG: %[[#i1:]] = OpLoad %[[#int]] %[[#idx2]]
+ ; CHECK-DAG: %[[#val_val:]] = OpLoad %[[#int]] %[[#val]]
+ ; CHECK-DAG: %[[#idx64:]] = OpUConvert %[[#long]] %[[#i0]]
+ ; CHECK-DAG: %[[#idx2_64:]] = OpUConvert %[[#long]] %[[#i1]]
+
+ %idx = load i32, ptr addrspace(1) @idx
+ %idx2 = load i32, ptr addrspace(1) @idx2
+ %val = load i32, ptr addrspace(1) @val
+
+ ; CHECK-DAG: %[[#ptr:]] = OpVariable %[[#ptr_vec17]] Function
+ ; CHECK-DAG: %[[#loaded:]] = OpLoad %[[#vec17]] %[[#ptr]]
+ %ptr = alloca <17 x i32>
+ %loaded = load <17 x i32>, ptr %ptr
+ %idx64 = zext i32 %idx to i64
+ %idx2_64 = zext i32 %idx2 to i64
+
+ ; Insertelement with dynamic index spills to stack
+ ; CHECK: %[[#inserted:]] = OpVectorInsertDynamic %[[#vec17]] %[[#loaded]] %[[#val_val]] %[[#idx64]]
+ %inserted = insertelement <17 x i32> %loaded, i32 %val, i64 %idx64
+
+ ; Extractelement with dynamic index spills to stack
+ ; CHECK: %[[#extracted:]] = OpVectorExtractDynamic %[[#int]] %[[#inserted]] %[[#idx2_64]]
+ %extracted = extractelement <17 x i32> %inserted, i64 %idx2_64
+
+ ; CHECK: OpStore %[[#out]] %[[#extracted]]
+ store i32 %extracted, ptr addrspace(1) @out
+ ret void
+}
+
+; CHECK: %[[#test_undef:]] = OpFunction %[[#]] None %[[#]]
+define void @test_undef() {
+ ; CHECK: %[[#label:]] = OpLabel
+ ; CHECK-DAG: %[[#idx_val:]] = OpLoad %[[#int]] %[[#idx]]
+ ; CHECK-DAG: %[[#val_val:]] = OpLoad %[[#int]] %[[#val]]
+ ; CHECK: %[[#idx64:]] = OpUConvert %[[#long]] %[[#idx_val]]
+ ; CHECK: %[[#inserted1:]] = OpVectorInsertDynamic %[[#vec17]] %[[#undef]] %[[#val_val]] %[[#idx64]]
+ ; CHECK: %[[#extracted1:]] = OpCompositeExtract %[[#int]] %[[#inserted1]]
+ ; CHECK: OpStore %[[#out]] %[[#extracted1]]
+ %idx = load i32, ptr addrspace(1) @idx
+ %val = load i32, ptr addrspace(1) @val
+ %idx64 = zext i32 %idx to i64
+ %inserted = insertelement <17 x i32> poison, i32 %val, i64 %idx64
+ %extracted = extractelement <17 x i32> %inserted, i64 0
+ store i32 %extracted, ptr addrspace(1) @out
+ ret void
+}
+
+; CHECK: %[[#test_zero:]] = OpFunction %[[#]] None %[[#]]
+define void @test_zero() {
+ ; CHECK: %[[#label:]] = OpLabel
+ ; CHECK-DAG: %[[#idx_val:]] = OpLoad %[[#int]] %[[#idx]]
+ ; CHECK-DAG: %[[#val_val:]] = OpLoad %[[#int]] %[[#val]]
+ ; CHECK: %[[#idx64:]] = OpUConvert %[[#long]] %[[#idx_val]]
+ ; CHECK: %[[#inserted2:]] = OpVectorInsertDynamic %[[#vec17]] %[[#null]] %[[#val_val]] %[[#idx64]]
+ ; CHECK: %[[#extracted2:]] = OpCompositeExtract %[[#int]] %[[#inserted2]]
+ ; CHECK: OpStore %[[#out]] %[[#extracted2]]
+ %idx = load i32, ptr addrspace(1) @idx
+ %val = load i32, ptr addrspace(1) @val
+ %idx64 = zext i32 %idx to i64
+ %inserted = insertelement <17 x i32> zeroinitializer, i32 %val, i64 %idx64
+ %extracted = extractelement <17 x i32> %inserted, i64 0
+ store i32 %extracted, ptr addrspace(1) @out
+ ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
new file mode 100644
index 0000000000000..fc31e8c9e77c8
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
@@ -0,0 +1,27 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName %[[#test_int32_double_conversion:]] "test_int32_double_conversion"
+; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#v18i32:]] = OpTypeVectorIdEXT %[[#int]] 18
+; CHECK-DAG: %[[#v9i32:]] = OpTypeVector %[[#int]] 9
+; CHECK-DAG: %[[#ptr_func_v18i32:]] = OpTypePointer Function %[[#v18i32]]
+
+define spir_kernel void @test_int32_double_conversion(ptr %G_vec) {
+; CHECK: %[[#test_int32_double_conversion]] = OpFunction
+; CHECK: %[[#param:]] = OpFunctionParameter %[[#ptr_func_v18i32]]
+entry:
+ ; CHECK: %[[#LOAD:]] = OpLoad %[[#v18i32]] %[[#param]]
+ ; CHECK: %[[#SHUF1:]] = OpVectorShuffle %[[#v9i32]] %[[#LOAD]] %{{[a-zA-Z0-9_]+}} 0 2 4 6 8 10 12 14 16
+ ; CHECK: %[[#SHUF2:]] = OpVectorShuffle %[[#v9i32]] %[[#LOAD]] %{{[a-zA-Z0-9_]+}} 1 3 5 7 9 11 13 15 17
+ ; CHECK: %[[#SHUF3:]] = OpVectorShuffle %[[#v18i32]] %[[#SHUF1]] %[[#SHUF2]] 0 9 1 10 2 11 3 12 4 13 5 14 6 15 7 16 8 17
+ ; CHECK: OpStore %[[#param]] %[[#SHUF3]]
+
+ %0 = load <18 x i32>, ptr %G_vec
+ %1 = shufflevector <18 x i32> %0, <18 x i32> poison, <9 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16>
+ %2 = shufflevector <18 x i32> %0, <18 x i32> poison, <9 x i32> <i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15, i32 17>
+ %3 = shufflevector <9 x i32> %1, <9 x i32> %2, <18 x i32> <i32 0, i32 9, i32 1, i32 10, i32 2, i32 11, i32 3, i32 12, i32 4, i32 13, i32 5, i32 14, i32 6, i32 15, i32 7, i32 16, i32 8, i32 17>
+ store <18 x i32> %3, ptr %G_vec
+ ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll
new file mode 100644
index 0000000000000..e9dd67c0b40cc
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll
@@ -0,0 +1,259 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_INTEL_masked_gather_scatter %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_INTEL_masked_gather_scatter %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#I32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#PTR:]] = OpTypePointer CrossWorkgroup %[[#I32]]
+; CHECK-DAG: %[[#I64:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#I64]]
+; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#I64]] 1
+; CHECK-DAG: %[[#TWO:]] = OpConstant %[[#I64]] 2
+; CHECK-DAG: %[[#THREE:]] = OpConstant %[[#I64]] 3
+; CHECK-DAG: %[[#FOUR:]] = OpConstant %[[#I64]] 4
+; CHECK-DAG: %[[#FIVE:]] = OpConstant %[[#I64]] 5
+; CHECK-DAG: %[[#SIX:]] = OpConstant %[[#I64]] 6
+; CHECK-DAG: %[[#SEVEN:]] = OpConstant %[[#I64]] 7
+; CHECK-DAG: %[[#EIGHT:]] = OpConstant %[[#I64]] 8
+; CHECK-DAG: %[[#NINE:]] = OpConstant %[[#I64]] 9
+; CHECK-DAG: %[[#TEN:]] = OpConstant %[[#I64]] 10
+; CHECK-DAG: %[[#ELEVEN:]] = OpConstant %[[#I64]] 11
+; CHECK-DAG: %[[#TWELVE:]] = OpConstant %[[#I64]] 12
+; CHECK-DAG: %[[#THIRTEEN:]] = OpConstant %[[#I64]] 13
+; CHECK-DAG: %[[#FOURTEEN:]] = OpConstant %[[#I64]] 14
+; CHECK-DAG: %[[#FIFTEEN:]] = OpConstant %[[#I64]] 15
+; CHECK-DAG: %[[#SIXTEEN:]] = OpConstant %[[#I64]] 16
+; CHECK-DAG: %[[#VPTR17:]] = OpTypeVectorIdEXT %[[#PTR]] 17
+; CHECK-DAG: %[[#VPTR1:]] = OpTypeVectorIdEXT %[[#PTR]] 1
+; CHECK-DAG: %[[#VI64_17:]] = OpTypeVectorIdEXT %[[#I64]] 17
+; CHECK-DAG: %[[#UNDEF1:]] = OpUndef %[[#VPTR1]]
+; CHECK-DAG: %[[#UNDEF17:]] = OpUndef %[[#VPTR17]]
+; CHECK-DAG: %[[#NULL17:]] = OpConstantNull %[[#VI64_17]]
+
+; CHECK: OpFunction
+; CHECK-NEXT: %[[#P1:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: %[[#OUT1:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#FIVE]]
+; CHECK-NEXT: %[[#INSERT:]] = OpCompositeInsert %[[#VPTR1]] %[[#GEP1]] %[[#UNDEF1]] 0
+; CHECK-NEXT: %[[#EXTRACT:]] = OpCompositeExtract %[[#PTR]] %[[#INSERT]] 0
+; CHECK-NEXT: %[[#VAL1:]] = OpLoad %[[#I32]] %[[#EXTRACT]]
+; CHECK-NEXT: OpStore %[[#OUT1]] %[[#VAL1]]
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpFunctionEnd
+define spir_kernel void @test_vector_gep_v1(ptr addrspace(1) %p, ptr addrspace(1) %out) {
+ %gep = getelementptr i32, ptr addrspace(1) %p, <1 x i64> <i64 5>
+ %elem = extractelement <1 x ptr addrspace(1)> %gep, i32 0
+ %val = load i32, ptr addrspace(1) %elem
+ store i32 %val, ptr addrspace(1) %out
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK-NEXT: %[[#P2:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: %[[#OUT2:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#IDX0:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 0
+; CHECK-NEXT: %[[#GEP0:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX0]]
+; CHECK-NEXT: %[[#TMP0:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP0]] %[[#UNDEF17]] 0
+; CHECK-NEXT: %[[#IDX1:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 1
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX1]]
+; CHECK-NEXT: %[[#TMP1:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP1]] %[[#TMP0]] 1
+; CHECK-NEXT: %[[#IDX2:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 2
+; CHECK-NEXT: %[[#GEP2:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX2]]
+; CHECK-NEXT: %[[#TMP2:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP2]] %[[#TMP1]] 2
+; CHECK-NEXT: %[[#IDX3:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 3
+; CHECK-NEXT: %[[#GEP3:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX3]]
+; CHECK-NEXT: %[[#TMP3:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP3]] %[[#TMP2]] 3
+; CHECK-NEXT: %[[#IDX4:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 4
+; CHECK-NEXT: %[[#GEP4:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX4]]
+; CHECK-NEXT: %[[#TMP4:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP4]] %[[#TMP3]] 4
+; CHECK-NEXT: %[[#IDX5:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 5
+; CHECK-NEXT: %[[#GEP5:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX5]]
+; CHECK-NEXT: %[[#TMP5:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP5]] %[[#TMP4]] 5
+; CHECK-NEXT: %[[#IDX6:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 6
+; CHECK-NEXT: %[[#GEP6:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX6]]
+; CHECK-NEXT: %[[#TMP6:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP6]] %[[#TMP5]] 6
+; CHECK-NEXT: %[[#IDX7:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 7
+; CHECK-NEXT: %[[#GEP7:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX7]]
+; CHECK-NEXT: %[[#TMP7:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP7]] %[[#TMP6]] 7
+; CHECK-NEXT: %[[#IDX8:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 8
+; CHECK-NEXT: %[[#GEP8:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX8]]
+; CHECK-NEXT: %[[#TMP8:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP8]] %[[#TMP7]] 8
+; CHECK-NEXT: %[[#IDX9:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 9
+; CHECK-NEXT: %[[#GEP9:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX9]]
+; CHECK-NEXT: %[[#TMP9:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP9]] %[[#TMP8]] 9
+; CHECK-NEXT: %[[#IDX10:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 10
+; CHECK-NEXT: %[[#GEP10:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX10]]
+; CHECK-NEXT: %[[#TMP10:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP10]] %[[#TMP9]] 10
+; CHECK-NEXT: %[[#IDX11:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 11
+; CHECK-NEXT: %[[#GEP11:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX11]]
+; CHECK-NEXT: %[[#TMP11:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP11]] %[[#TMP10]] 11
+; CHECK-NEXT: %[[#IDX12:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 12
+; CHECK-NEXT: %[[#GEP12:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX12]]
+; CHECK-NEXT: %[[#TMP12:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP12]] %[[#TMP11]] 12
+; CHECK-NEXT: %[[#IDX13:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 13
+; CHECK-NEXT: %[[#GEP13:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX13]]
+; CHECK-NEXT: %[[#TMP13:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP13]] %[[#TMP12]] 13
+; CHECK-NEXT: %[[#IDX14:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 14
+; CHECK-NEXT: %[[#GEP14:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX14]]
+; CHECK-NEXT: %[[#TMP14:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP14]] %[[#TMP13]] 14
+; CHECK-NEXT: %[[#IDX15:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 15
+; CHECK-NEXT: %[[#GEP15:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX15]]
+; CHECK-NEXT: %[[#TMP15:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP15]] %[[#TMP14]] 15
+; CHECK-NEXT: %[[#IDX16:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 16
+; CHECK-NEXT: %[[#GEP16:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX16]]
+; CHECK-NEXT: %[[#TMP16:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP16]] %[[#TMP15]] 16
+; CHECK-NEXT: %[[#EXTRACT:]] = OpCompositeExtract %[[#PTR]] %[[#TMP16]] 0
+; CHECK-NEXT: %[[#LD:]] = OpLoad %[[#I32]] %[[#EXTRACT]] Aligned 4
+; CHECK-NEXT: OpStore %[[#OUT2]] %[[#LD]] Aligned 4
+; CHECK-NEXT: OpReturn
+; CHECK: OpFunctionEnd
+define spir_kernel void @test_vector_gep_v17(ptr addrspace(1) %p, ptr addrspace(1) %out) {
+ %gep = getelementptr i32, ptr addrspace(1) %p, <17 x i64> zeroinitializer
+ %elem = extractelement <17 x ptr addrspace(1)> %gep, i32 0
+ %val = load i32, ptr addrspace(1) %elem
+ store i32 %val, ptr addrspace(1) %out
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK-NEXT: %[[#PV:]] = OpFunctionParameter %[[#VPTR1]]
+; CHECK-NEXT: %[[#OUTV:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#EXPV_0:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 0
+; CHECK-NEXT: %[[#GEPV_0:]] = OpPtrAccessChain %[[#PTR]] %[[#EXPV_0]] %[[#ONE]]
+; CHECK-NEXT: %[[#INSV_0:]] = OpCompositeInsert %[[#VPTR1]] %[[#GEPV_0]] %[[#UNDEF1]] 0
+; CHECK-NEXT: %[[#EXPV_1:]] = OpCompositeExtract %[[#PTR]] %[[#INSV_0]] 0
+; CHECK-NEXT: %[[#VALV:]] = OpLoad %[[#I32]] %[[#EXPV_1]]
+; CHECK-NEXT: OpStore %[[#OUTV]] %[[#VALV]]
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpFunctionEnd
+define spir_kernel void @test_vector_gep_vec1_ptr(<1 x ptr addrspace(1)> %ptrs, ptr addrspace(1) %out) {
+ %gep = getelementptr i32, <1 x ptr addrspace(1)> %ptrs, <1 x i64> <i64 1>
+ %elem = extractelement <1 x ptr addrspace(1)> %gep, i32 0
+ %val = load i32, ptr addrspace(1) %elem
+ store i32 %val, ptr addrspace(1) %out
+ ret void
+}
+
+; CHECK: OpFunction
+; CHECK-NEXT: %[[#PV:]] = OpFunctionParameter %[[#VPTR17]]
+; CHECK-NEXT: %[[#OUTV:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#P0:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 0
+; CHECK-NEXT: %[[#GEP0:]] = OpPtrAccessChain %[[#PTR]] %[[#P0]] %[[#ZERO]]
+; CHECK-NEXT: %[[#TMP0:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP0]] %[[#UNDEF17]] 0
+; CHECK-NEXT: %[[#P1:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 1
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#ONE]]
+; CHECK-NEXT: %[[#TMP1:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP1]] %[[#TMP0]] 1
+; CHECK-NEXT: %[[#P2:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 2
+; CHECK-NEXT: %[[#GEP2:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#TWO]]
+; CHECK-NEXT: %[[#TMP2:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP2]] %[[#TMP1]] 2
+; CHECK-NEXT: %[[#P3:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 3
+; CHECK-NEXT: %[[#GEP3:]] = OpPtrAccessChain %[[#PTR]] %[[#P3]] %[[#THREE]]
+; CHECK-NEXT: %[[#TMP3:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP3]] %[[#TMP2]] 3
+; CHECK-NEXT: %[[#P4:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 4
+; CHECK-NEXT: %[[#GEP4:]] = OpPtrAccessChain %[[#PTR]] %[[#P4]] %[[#FOUR]]
+; CHECK-NEXT: %[[#TMP4:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP4]] %[[#TMP3]] 4
+; CHECK-NEXT: %[[#P5:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 5
+; CHECK-NEXT: %[[#GEP5:]] = OpPtrAccessChain %[[#PTR]] %[[#P5]] %[[#FIVE]]
+; CHECK-NEXT: %[[#TMP5:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP5]] %[[#TMP4]] 5
+; CHECK-NEXT: %[[#P6:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 6
+; CHECK-NEXT: %[[#GEP6:]] = OpPtrAccessChain %[[#PTR]] %[[#P6]] %[[#SIX]]
+; CHECK-NEXT: %[[#TMP6:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP6]] %[[#TMP5]] 6
+; CHECK-NEXT: %[[#P7:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 7
+; CHECK-NEXT: %[[#GEP7:]] = OpPtrAccessChain %[[#PTR]] %[[#P7]] %[[#SEVEN]]
+; CHECK-NEXT: %[[#TMP7:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP7]] %[[#TMP6]] 7
+; CHECK-NEXT: %[[#P8:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 8
+; CHECK-NEXT: %[[#GEP8:]] = OpPtrAccessChain %[[#PTR]] %[[#P8]] %[[#EIGHT]]
+; CHECK-NEXT: %[[#TMP8:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP8]] %[[#TMP7]] 8
+; CHECK-NEXT: %[[#P9:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 9
+; CHECK-NEXT: %[[#GEP9:]] = OpPtrAccessChain %[[#PTR]] %[[#P9]] %[[#NINE]]
+; CHECK-NEXT: %[[#TMP9:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP9]] %[[#TMP8]] 9
+; CHECK-NEXT: %[[#P10:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 10
+; CHECK-NEXT: %[[#GEP10:]] = OpPtrAccessChain %[[#PTR]] %[[#P10]] %[[#TEN]]
+; CHECK-NEXT: %[[#TMP10:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP10]] %[[#TMP9]] 10
+; CHECK-NEXT: %[[#P11:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 11
+; CHECK-NEXT: %[[#GEP11:]] = OpPtrAccessChain %[[#PTR]] %[[#P11]] %[[#ELEVEN]]
+; CHECK-NEXT: %[[#TMP11:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP11]] %[[#TMP10]] 11
+; CHECK-NEXT: %[[#P12:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 12
+; CHECK-NEXT: %[[#GEP12:]] = OpPtrAccessChain %[[#PTR]] %[[#P12]] %[[#TWELVE]]
+; CHECK-NEXT: %[[#TMP12:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP12]] %[[#TMP11]] 12
+; CHECK-NEXT: %[[#P13:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 13
+; CHECK-NEXT: %[[#GEP13:]] = OpPtrAccessChain %[[#PTR]] %[[#P13]] %[[#THIRTEEN]]
+; CHECK-NEXT: %[[#TMP13:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP13]] %[[#TMP12]] 13
+; CHECK-NEXT: %[[#P14:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 14
+; CHECK-NEXT: %[[#GEP14:]] = OpPtrAccessChain %[[#PTR]] %[[#P14]] %[[#FOURTEEN]]
+; CHECK-NEXT: %[[#TMP14:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP14]] %[[#TMP13]] 14
+; CHECK-NEXT: %[[#P15:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 15
+; CHECK-NEXT: %[[#GEP15:]] = OpPtrAccessChain %[[#PTR]] %[[#P15]] %[[#FIFTEEN]]
+; CHECK-NEXT: %[[#TMP15:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP15]] %[[#TMP14]] 15
+; CHECK-NEXT: %[[#P16:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 16
+; CHECK-NEXT: %[[#GEP16:]] = OpPtrAccessChain %[[#PTR]] %[[#P16]] %[[#SIXTEEN]]
+; CHECK-NEXT: %[[#TMP16:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP16]] %[[#TMP15]] 16
+; CHECK-NEXT: %[[#EXTRACT:]] = OpCompositeExtract %[[#PTR]] %[[#TMP16]] 0
+; CHECK-NEXT: %[[#LD:]] = OpLoad %[[#I32]] %[[#EXTRACT]] Aligned 4
+; CHECK-NEXT: OpStore %[[#OUTV]] %[[#LD]] Aligned 4
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpFunctionEnd
+ ; %105 = OpCompositeExtract %3 %102 0
+ ; %106 = OpPtrAccessChain %3 %105 %14
+ ; %107 = OpCompositeInsert %9 %106 %11 0
+ ; %108 = OpCompositeExtract %3 %102 1
+ ; %109 = OpPtrAccessChain %3 %108 %30
+ ; %110 = OpCompositeInsert %9 %109 %107 1
+ ; %111 = OpCompositeExtract %3 %102 2
+ ; %112 = OpPtrAccessChain %3 %111 %29
+ ; %113 = OpCompositeInsert %9 %112 %110 2
+ ; %114 = OpCompositeExtract %3 %102 3
+ ; %115 = OpPtrAccessChain %3 %114 %28
+ ; %116 = OpCompositeInsert %9 %115 %113 3
+ ; %117 = OpCompositeExtract %3 %102 4
+ ; %118 = OpPtrAccessChain %3 %117 %8
+ ; %119 = OpCompositeInsert %9 %118 %116 4
+ ; %120 = OpCompositeExtract %3 %102 5
+ ; %121 = OpPtrAccessChain %3 %120 %27
+ ; %122 = OpCompositeInsert %9 %121 %119 5
+ ; %123 = OpCompositeExtract %3 %102 6
+ ; %124 = OpPtrAccessChain %3 %123 %26
+ ; %125 = OpCompositeInsert %9 %124 %122 6
+ ; %126 = OpCompositeExtract %3 %102 7
+ ; %127 = OpPtrAccessChain %3 %126 %25
+ ; %128 = OpCompositeInsert %9 %127 %125 7
+ ; %129 = OpCompositeExtract %3 %102 8
+ ; %130 = OpPtrAccessChain %3 %129 %24
+ ; %131 = OpCompositeInsert %9 %130 %128 8
+ ; %132 = OpCompositeExtract %3 %102 9
+ ; %133 = OpPtrAccessChain %3 %132 %23
+ ; %134 = OpCompositeInsert %9 %133 %131 9
+ ; %135 = OpCompositeExtract %3 %102 10
+ ; %136 = OpPtrAccessChain %3 %135 %22
+ ; %137 = OpCompositeInsert %9 %136 %134 10
+ ; %138 = OpCompositeExtract %3 %102 11
+ ; %139 = OpPtrAccessChain %3 %138 %21
+ ; %140 = OpCompositeInsert %9 %139 %137 11
+ ; %141 = OpCompositeExtract %3 %102 12
+ ; %142 = OpPtrAccessChain %3 %141 %20
+ ; %143 = OpCompositeInsert %9 %142 %140 12
+ ; %144 = OpCompositeExtract %3 %102 13
+ ; %145 = OpPtrAccessChain %3 %144 %19
+ ; %146 = OpCompositeInsert %9 %145 %143 13
+ ; %147 = OpCompositeExtract %3 %102 14
+ ; %148 = OpPtrAccessChain %3 %147 %18
+ ; %149 = OpCompositeInsert %9 %148 %146 14
+ ; %150 = OpCompositeExtract %3 %102 15
+ ; %151 = OpPtrAccessChain %3 %150 %17
+ ; %152 = OpCompositeInsert %9 %151 %149 15
+ ; %153 = OpCompositeExtract %3 %102 16
+ ; %154 = OpPtrAccessChain %3 %153 %16
+ ; %155 = OpCompositeInsert %9 %154 %152 16
+ ; %156 = OpCompositeExtract %3 %155 0
+ ; %157 = OpLoad %2 %156 Aligned 4
+ ; OpStore %103 %157 Aligned 4
+define spir_kernel void @test_vector_gep_vec_ptr(<17 x ptr addrspace(1)> %ptrs, ptr addrspace(1) %out) {
+ %gep = getelementptr i32, <17 x ptr addrspace(1)> %ptrs, <17 x i64> <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15, i64 16>
+ %elem = extractelement <17 x ptr addrspace(1)> %gep, i32 0
+ %val = load i32, ptr addrspace(1) %elem
+ store i32 %val, ptr addrspace(1) %out
+ ret void
+}
>From d607d15fed019a5c1563cd3b49e8a7d58cf604a4 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 10:21:22 +0100
Subject: [PATCH 15/31] Fix typo.
---
.../SPV_EXT_long_vector/vector-legalization-kernel.ll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
index fc31e8c9e77c8..20695d7469df0 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
@@ -5,7 +5,7 @@
; CHECK-DAG: OpName %[[#test_int32_double_conversion:]] "test_int32_double_conversion"
; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
; CHECK-DAG: %[[#v18i32:]] = OpTypeVectorIdEXT %[[#int]] 18
-; CHECK-DAG: %[[#v9i32:]] = OpTypeVector %[[#int]] 9
+; CHECK-DAG: %[[#v9i32:]] = OpTypeVectorIdEXT %[[#int]] 9
; CHECK-DAG: %[[#ptr_func_v18i32:]] = OpTypePointer Function %[[#v18i32]]
define spir_kernel void @test_int32_double_conversion(ptr %G_vec) {
>From 2547d4e2d293fb14a57ed880375f021c18ada4fc Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 12:27:16 +0100
Subject: [PATCH 16/31] Fix formatting.
---
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 35 ++++++-----
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 15 +++--
.../Target/SPIRV/SPIRVInstructionSelector.cpp | 60 +++++++++----------
.../Target/SPIRV/SPIRVLegalizePointerCast.cpp | 4 +-
llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 2 +-
llvm/lib/Target/SPIRV/SPIRVUtils.cpp | 2 +-
6 files changed, 56 insertions(+), 62 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 792214b547339..8f8d22574be62 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -1351,9 +1351,9 @@ bool SPIRVEmitIntrinsics::deduceOperandElementTypeFunctionRet(
continue;
if (CallInst *AssignCI = GR->findAssignPtrTypeInstr(CI)) {
if (Type *PrevElemTy = GR->findDeducedElementType(CI)) {
- GR->updateAssignType(AssignCI, CI,
- getNormalizedPoisonValue(OpElemTy,
- CanUseAnyVectorRank));
+ GR->updateAssignType(
+ AssignCI, CI,
+ getNormalizedPoisonValue(OpElemTy, CanUseAnyVectorRank));
propagateElemType(CI, PrevElemTy, VisitedSubst);
}
}
@@ -1547,8 +1547,8 @@ void SPIRVEmitIntrinsics::deduceOperandElementType(
if (Op->hasUseList() && !WouldClobberPtrWithNonPtr &&
(!Ty || AskTy || isUntypedPointerTy(Ty) || isTodoType(Op))) {
Type *PrevElemTy = GR->findDeducedElementType(Op);
- GR->addDeducedElementType(Op, normalizeType(KnownElemTy,
- CanUseAnyVectorRank));
+ GR->addDeducedElementType(
+ Op, normalizeType(KnownElemTy, CanUseAnyVectorRank));
// check if KnownElemTy is complete
if (!Incomplete)
eraseTodoType(Op);
@@ -2165,8 +2165,8 @@ void SPIRVEmitIntrinsics::replacePointerOperandWithPtrCast(
return;
setInsertPointSkippingPhis(B, I);
- Value *ExpectedElementVal = getNormalizedPoisonValue(ExpectedElementType,
- CanUseAnyVectorRank);
+ Value *ExpectedElementVal =
+ getNormalizedPoisonValue(ExpectedElementType, CanUseAnyVectorRank);
MetadataAsValue *VMD = buildMD(ExpectedElementVal);
unsigned AddressSpace = getPointerAddressSpace(Pointer->getType());
bool FirstPtrCastOrAssignPtrType = true;
@@ -2931,11 +2931,10 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
// types are handled in `processInstrAfterVisit`
OpTyVal = getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank);
}
- CallInst *AssignCI =
- buildIntrWithMD(Intrinsic::spv_assign_type, {OpTy},
- getNormalizedPoisonValue(OpTy,
- CanUseAnyVectorRank),
- OpTyVal, {}, B);
+ CallInst *AssignCI = buildIntrWithMD(
+ Intrinsic::spv_assign_type, {OpTy},
+ getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank), OpTyVal, {},
+ B);
GR->addAssignPtrTypeInstr(OpTyVal, AssignCI);
}
}
@@ -3479,8 +3478,8 @@ bool SPIRVEmitIntrinsics::processFunctionPointers(Module &M) {
for (Function *F : Worklist) {
SmallVector<Value *> Args;
for (const auto &Arg : F->args())
- Args.push_back(getNormalizedPoisonValue(Arg.getType(),
- CanUseAnyVectorRank));
+ Args.push_back(
+ getNormalizedPoisonValue(Arg.getType(), CanUseAnyVectorRank));
IRB.CreateCall(F, Args);
}
IRB.CreateRetVoid();
@@ -3514,8 +3513,8 @@ void SPIRVEmitIntrinsics::applyDemangledPtrArgTypes(IRBuilder<> &B) {
replaceUsesOfWithSpvPtrcast(
Param, normalizeType(ElemTy, CanUseAnyVectorRank), CI, Ptrcasts);
} else if (isa<Instruction>(Param)) {
- GR->addDeducedElementType(Param, normalizeType(ElemTy,
- CanUseAnyVectorRank));
+ GR->addDeducedElementType(Param,
+ normalizeType(ElemTy, CanUseAnyVectorRank));
// insertAssignTypeIntrs() will complete buildAssignPtr()
} else {
B.SetInsertPoint(CI->getParent()
@@ -3658,8 +3657,8 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
if (SGEP) {
GR->addDeducedElementType(
- SGEP, normalizeType(SGEP->getResultElementType(),
- CanUseAnyVectorRank));
+ SGEP,
+ normalizeType(SGEP->getResultElementType(), CanUseAnyVectorRank));
continue;
}
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 11166a3d6eb3f..ec961ed4d7973 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -324,10 +324,9 @@ const MachineInstr *SPIRVGlobalRegistry::createConstOrTypeAtFunctionEntry(
return ConstOrType;
}
-SPIRVTypeInst
-SPIRVGlobalRegistry::getOpTypeVectorImpl(
- uint32_t NumElems, SPIRVTypeInst ElemType,
- MachineIRBuilder &MIRBuilder, bool IsLongVector) {
+SPIRVTypeInst SPIRVGlobalRegistry::getOpTypeVectorImpl(
+ uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder,
+ bool IsLongVector) {
auto EleOpc = ElemType->getOpcode();
if (EleOpc == SPIRV::OpTypePointer) {
if (!cast<SPIRVSubtarget>(MIRBuilder.getMF().getSubtarget())
@@ -348,8 +347,9 @@ SPIRVGlobalRegistry::getOpTypeVectorImpl(
return createConstOrTypeAtFunctionEntry(
MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
- return MIRBuilder.buildInstr(IsLongVector ? SPIRV::OpTypeVectorIdEXT
- : SPIRV::OpTypeVector)
+ return MIRBuilder
+ .buildInstr(IsLongVector ? SPIRV::OpTypeVectorIdEXT
+ : SPIRV::OpTypeVector)
.addDef(createTypeVReg(MIRBuilder))
.addUse(getSPIRVTypeID(ElemType))
.addImm(NumElems);
@@ -363,8 +363,7 @@ SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
return getOpTypeVectorImpl(NumElems, ElemType, MIRBuilder);
}
-SPIRVTypeInst
-SPIRVGlobalRegistry::getOpTypeVectorIdEXT(
+SPIRVTypeInst SPIRVGlobalRegistry::getOpTypeVectorIdEXT(
uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder) {
assert((NumElems < 2 || NumElems > 16 ||
(NumElems != 3 && NumElems != 4 && NumElems != 8)) &&
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index 93e56ebab93f1..1e05229738650 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -1239,13 +1239,13 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
return selectFrexp(ResVReg, ResType, I);
case TargetOpcode::G_UADDO:
- return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
- ? SPIRV::OpIAddCarryV
- : SPIRV::OpIAddCarryS);
+ return selectOverflowArith(ResVReg, ResType, I,
+ isVectorType(ResType) ? SPIRV::OpIAddCarryV
+ : SPIRV::OpIAddCarryS);
case TargetOpcode::G_USUBO:
- return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
- ? SPIRV::OpISubBorrowV
- : SPIRV::OpISubBorrowS);
+ return selectOverflowArith(ResVReg, ResType, I,
+ isVectorType(ResType) ? SPIRV::OpISubBorrowV
+ : SPIRV::OpISubBorrowS);
case TargetOpcode::G_UMULO:
return selectOverflowArith(ResVReg, ResType, I, SPIRV::OpUMulExtended);
case TargetOpcode::G_SMULO:
@@ -2681,9 +2681,8 @@ bool SPIRVInstructionSelector::selectOverflowArith(Register ResVReg,
assert(I.getNumDefs() > 1 && "Not enought operands");
SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
unsigned N = GR.getScalarOrVectorComponentCount(ResType);
- if (N > 1 ||
- (isVectorType(ResType) &&
- STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+ if (N > 1 || (isVectorType(ResType) &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
Register ZeroReg = buildZerosVal(ResType, I);
@@ -3191,7 +3190,7 @@ bool SPIRVInstructionSelector::selectFloatDot(Register ResVReg,
assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
GR.getScalarOrVectorComponentCount(VecType) > 1) ||
VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- "dot product requires a vector of at least 2 components");
+ "dot product requires a vector of at least 2 components");
[[maybe_unused]] SPIRVTypeInst EltType =
GR.getScalarOrVectorComponentType(VecType);
@@ -3252,7 +3251,7 @@ bool SPIRVInstructionSelector::selectIntegerDotExpansion(
assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
GR.getScalarOrVectorComponentCount(VecType) > 1) ||
VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- "dot product requires a vector of at least 2 components");
+ "dot product requires a vector of at least 2 components");
Register Res = MRI->createVirtualRegister(GR.getRegClass(ResType));
BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCompositeExtract))
@@ -3609,8 +3608,8 @@ bool SPIRVInstructionSelector::selectWaveActiveAllEqual(Register ResVReg,
// Determine if input is vector
unsigned NumElems = GR.getScalarOrVectorComponentCount(InputType);
bool IsVector = NumElems > 1 ||
- (InputType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector));
+ (InputType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector));
// Determine element types
SPIRVTypeInst ElemInputType = GR.getScalarOrVectorComponentType(InputType);
@@ -3901,9 +3900,8 @@ bool SPIRVInstructionSelector::selectBitreverseViaI32(Register ResVReg,
? SPIRV::OpSConvert
: SPIRV::OpUConvert;
- if (N > 1 ||
- (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
+ if (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
Int32Type = GR.getOrCreateSPIRVVectorType(Int32Type, N, I, TII);
ShiftOp = SPIRV::OpShiftRightLogicalV;
@@ -4110,9 +4108,8 @@ bool SPIRVInstructionSelector::selectBitreverse(Register ResVReg,
unsigned OrOp = SPIRV::OpBitwiseOrS;
unsigned ShlOp = SPIRV::OpShiftLeftLogicalS;
unsigned ShrOp = SPIRV::OpShiftRightLogicalS;
- if (N > 1 ||
- (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
+ if (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
AndOp = SPIRV::OpBitwiseAndV;
OrOp = SPIRV::OpBitwiseOrV;
ShlOp = SPIRV::OpShiftLeftLogicalV;
@@ -4497,8 +4494,8 @@ bool SPIRVInstructionSelector::selectExp10(Register ResVReg,
Register ConstReg =
GR.buildConstantFP(ConstVal, MIRBuilder, SpirvScalarType);
Register ArgReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
- auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
- : SPIRV::OpFMulS;
+ auto Opcode =
+ isVectorType(ResType) ? SPIRV::OpVectorTimesScalar : SPIRV::OpFMulS;
if (!selectOpWithSrcs(ArgReg, ResType, I,
{I.getOperand(1).getReg(), ConstReg}, Opcode))
@@ -4715,9 +4712,8 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
// Ensure we have bool.
SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
unsigned N = GR.getScalarOrVectorComponentCount(ResType);
- if (N > 1 ||
- (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+ if (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
// Build less-than-equal and less-than.
@@ -4746,10 +4742,10 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
MRI->setType(NegOneOrZeroReg, LLT::scalar(64));
GR.assignSPIRVTypeToVReg(ResType, NegOneOrZeroReg, MIRBuilder.getMF());
unsigned SelectOpcode =
- (N > 1 ||
- (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
- ? SPIRV::OpSelectVIVCond : SPIRV::OpSelectSISCond;
+ (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+ ? SPIRV::OpSelectVIVCond
+ : SPIRV::OpSelectSISCond;
BuildMI(BB, I, I.getDebugLoc(), TII.get(SelectOpcode))
.addDef(NegOneOrZeroReg)
.addUse(ResTypeReg)
@@ -4774,8 +4770,8 @@ bool SPIRVInstructionSelector::selectIntToBool(Register IntReg,
SPIRVTypeInst BoolTy) const {
// To truncate to a bool, we use OpBitwiseAnd 1 and OpINotEqual to zero.
Register BitIntReg = createVirtualRegister(IntTy, &GR, MRI, MRI->getMF());
- unsigned Opcode = isVectorType(IntTy) ? SPIRV::OpBitwiseAndV
- : SPIRV::OpBitwiseAndS;
+ unsigned Opcode =
+ isVectorType(IntTy) ? SPIRV::OpBitwiseAndV : SPIRV::OpBitwiseAndS;
Register Zero = buildZerosVal(IntTy, I);
Register One = buildOnesVal(false, IntTy, I);
MachineBasicBlock &BB = *I.getParent();
@@ -7193,8 +7189,8 @@ bool SPIRVInstructionSelector::selectLog10(Register ResVReg,
Register ScaleReg = GR.buildConstantFP(ScaleVal, MIRBuilder, SpirvScalarType);
// Multiply log2(x) by 0.30103 to get log10(x) result.
- auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
- : SPIRV::OpFMulS;
+ auto Opcode =
+ isVectorType(ResType) ? SPIRV::OpVectorTimesScalar : SPIRV::OpFMulS;
BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
.addDef(ResVReg)
.addUse(GR.getSPIRVTypeID(ResType))
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
index 8ef15cb72205d..fed6886e56c43 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
@@ -389,8 +389,8 @@ class SPIRVLegalizePointerCastImpl {
bool CanUseAnyVectorRank = TM.getSubtargetImpl()->canUseExtension(
SPIRV::Extension::SPV_EXT_long_vector);
Value *Element = (E == 1 && !CanUseAnyVectorRank)
- ? SrcVector
- : makeExtractElement(B, ElemTy, SrcVector, I);
+ ? SrcVector
+ : makeExtractElement(B, ElemTy, SrcVector, I);
StoreInst *SI = B.CreateStore(Element, ElementPtr);
SI->setAlignment(commonAlignment(Alignment, I * ElemSize));
}
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
index fcbbe3877c574..0f2bfbeec8742 100644
--- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
@@ -1629,7 +1629,7 @@ void addInstrRequirements(const MachineInstr &MI,
}
break;
}
- case SPIRV::OpTypeVectorIdEXT : {
+ case SPIRV::OpTypeVectorIdEXT: {
if (!ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
reportFatalUsageError("OpTypeVectorIdEXT requires the following SPIR-V "
"extension: SPV_EXT_long_vector extension");
diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
index e8f2b676eff53..ae521657be25c 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
@@ -973,7 +973,7 @@ Register createVirtualRegister(
bool isVectorType(SPIRVTypeInst SPVTy) {
return SPVTy->getOpcode() == SPIRV::OpTypeVector ||
- SPVTy->getOpcode() == SPIRV::OpTypeVectorIdEXT;
+ SPVTy->getOpcode() == SPIRV::OpTypeVectorIdEXT;
}
CallInst *buildIntrWithMD(Intrinsic::ID IntrID, ArrayRef<Type *> Types,
>From 385f59758dae29d75994a1a06b9a55da5eb123dd Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 12:29:53 +0100
Subject: [PATCH 17/31] `poison` instead of `undef`.
---
llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll | 2 +-
.../SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll | 2 +-
.../SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
index d645f3b582ee5..b6bae97a31453 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
@@ -8,7 +8,7 @@
; CHECK: %[[#X17I32:]] = OpFunctionParameter %[[#V17I32]]
; CHECK: %[[#]] = OpBitCount %[[#V17I32]] %[[#X17I32]]
- at g5 = addrspace(1) global <17 x i32> undef, align 4
+ at g5 = addrspace(1) global <17 x i32> poison, align 4
define dso_local spir_kernel void @test(<17 x i32> %x17i32) {
entry:
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
index b32118460f158..f40ae294120ff 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
@@ -5,7 +5,7 @@
; This is a repro extracted from IREE; once spirv-val works, testing its correct lowering into valid SPIR-V shall suffice.
- at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] poison, align 16
@__constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
@__constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
index ad5da582cde96..1e3004cc45445 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
@@ -5,7 +5,7 @@
; This is a repro extracted from IREE.
- at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] poison, align 16
@__constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
@__constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
>From b498eb650e42df248eb83320b6fded5fd44ea6b4 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 31 Jul 2026 01:10:17 +0100
Subject: [PATCH 18/31] Update
llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
---
.../SPV_EXT_long_vector/vector-index-scalarization.ll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index 2c12bd21e7bda..c15cdf1c16932 100644
--- 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
@@ -43,7 +43,7 @@ define void @test_full() {
; 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
+ ; Extractelement with dynamic index spills to stack.
; CHECK: %[[#extracted:]] = OpVectorExtractDynamic %[[#int]] %[[#inserted]] %[[#idx2_64]]
%extracted = extractelement <17 x i32> %inserted, i64 %idx2_64
>From 318853681f182521a412bb5628c86827f10991fb Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 31 Jul 2026 01:18:11 +0100
Subject: [PATCH 19/31] Update
llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
---
.../SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index 7343f996f3cad..060abd496eb85 100644
--- 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
@@ -105,7 +105,7 @@ entry:
ret void
}
-; Test constrained fma vector arithmetic operations
+; Test constrained fma vector arithmetic operations.
define void @test_constrained_fma_vector() local_unnamed_addr #0 {
; CHECK: OpFunction
entry:
>From f04da6b50918faf600b51b62bc7f92cd57ee4ad8 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 31 Jul 2026 01:18:25 +0100
Subject: [PATCH 20/31] Update
llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
---
.../SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index 060abd496eb85..84afd08b0a4ef 100644
--- 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
@@ -80,7 +80,7 @@ entry:
ret void
}
-; Test remaining float vector arithmetic operations
+; Test remaining float vector arithmetic operations.
define void @test_float_vector_arithmetic_continued() local_unnamed_addr #0 {
; CHECK: OpFunction
entry:
>From ca2bfe8b58b5ec00e231242d453a4a6a77d19d43 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 31 Jul 2026 01:18:38 +0100
Subject: [PATCH 21/31] Update
llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
---
.../SPV_EXT_long_vector/vector-index-scalarization.ll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index c15cdf1c16932..84fa75fbc0875 100644
--- 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
@@ -39,7 +39,7 @@ define void @test_full() {
%idx64 = zext i32 %idx to i64
%idx2_64 = zext i32 %idx2 to i64
- ; Insertelement with dynamic index spills to stack
+ ; 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
>From 515a7ec933d19f13231a466e5e0ed306525c3e44 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 31 Jul 2026 01:18:50 +0100
Subject: [PATCH 22/31] Update
llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
---
.../SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index 84afd08b0a4ef..6c7fb882d4c65 100644
--- 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
@@ -43,7 +43,7 @@ entry:
ret void
}
-; Test integer vector arithmetic operations
+; Test integer vector arithmetic operations.
define void @test_int_vector_arithmetic() local_unnamed_addr #0 {
; CHECK: OpFunction
entry:
>From ebf9096eeff072884956ac92718711473fca6b17 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Sun, 9 Aug 2026 19:04:12 +0100
Subject: [PATCH 23/31] Incorporate review feedback.
---
llvm/lib/IR/Type.cpp | 8 +-
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 16 +-
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 67 +-
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h | 2 +-
llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp | 4 +-
llvm/lib/Target/SPIRV/SPIRVInstrInfo.td | 2 +-
.../Target/SPIRV/SPIRVInstructionSelector.cpp | 17 +-
llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp | 4 +-
llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 31 +-
llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 3 +
llvm/lib/Target/SPIRV/SPIRVUtils.h | 3 +-
.../bool-vector-bitcast.ll | 10 +-
.../extensions/SPV_EXT_long_vector/ctpop.ll | 6 +-
.../getelementptr-vector-index.ll | 14 +-
.../SPV_EXT_long_vector/integer-casts.ll | 351 +-
.../llvm-vector-reduce/add.ll | 9 +-
.../llvm-vector-reduce/and.ll | 9 +-
.../llvm-vector-reduce/fadd.ll | 10 +-
.../llvm-vector-reduce/fmax.ll | 10 +-
.../llvm-vector-reduce/fmaximum.ll | 10 +-
.../llvm-vector-reduce/fmin.ll | 10 +-
.../llvm-vector-reduce/fminimum.ll | 10 +-
.../llvm-vector-reduce/fmul.ll | 10 +-
.../llvm-vector-reduce/mul.ll | 9 +-
.../llvm-vector-reduce/or.ll | 9 +-
.../llvm-vector-reduce/smax.ll | 9 +-
.../llvm-vector-reduce/smin.ll | 9 +-
.../llvm-vector-reduce/umax.ll | 9 +-
.../llvm-vector-reduce/umin.ll | 9 +-
.../llvm-vector-reduce/xor.ll | 9 +-
.../SPV_EXT_long_vector/phi-large-vector.ll | 5 +-
.../SPV_EXT_long_vector/ptrmask-vec.ll | 10 +-
.../single-element-vector-nested-aggregate.ll | 22 +-
.../single-element-vector.ll | 40 +-
.../spv-extractelt-legalization.ll | 6 +-
.../SPV_EXT_long_vector/unmerge-crash-0.ll | 3636 ++++++-----------
.../SPV_EXT_long_vector/unmerge-crash-1.ll | 2436 +++++------
.../SPV_EXT_long_vector/vector-arithmetic.ll | 6 +-
.../vector-index-scalarization.ll | 6 +-
.../vector-legalization-kernel.ll | 8 +-
.../vector-of-pointers-gep.ll | 125 +-
.../vector-of-pointers-gep.ll | 7 +-
42 files changed, 2829 insertions(+), 4157 deletions(-)
diff --git a/llvm/lib/IR/Type.cpp b/llvm/lib/IR/Type.cpp
index 890f523b69f55..ead9be18a3b5f 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/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index ab660fa241f57..60f4d012cdff6 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2035,10 +2035,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);
@@ -2938,6 +2947,7 @@ void SPIRVEmitIntrinsicsImpl::insertAssignTypeIntrs(Instruction *I,
}
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) ||
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 329f82a752d21..5b822f27d25ed 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -315,7 +315,7 @@ const MachineInstr *SPIRVGlobalRegistry::createConstOrTypeAtFunctionEntry(
SPIRVTypeInst SPIRVGlobalRegistry::getOpTypeVectorImpl(
uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder,
- bool IsLongVector) {
+ bool IsLongVectorEXT) {
if (ElemType.isPointer()) {
if (!cast<SPIRVSubtarget>(MIRBuilder.getMF().getSubtarget())
.canUseExtension(
@@ -336,12 +336,18 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOpTypeVectorImpl(
return createConstOrTypeAtFunctionEntry(
MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
- return MIRBuilder
- .buildInstr(IsLongVector ? SPIRV::OpTypeVectorIdEXT
- : 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()));
});
}
@@ -629,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);
@@ -1239,7 +1259,7 @@ SPIRVTypeInst SPIRVGlobalRegistry::createSPIRVType(
AccQual, ExplicitLayoutRequired, EmitIR);
unsigned NumElts = cast<FixedVectorType>(Ty)->getNumElements();
const auto &STI = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
- if (isLongVector(Ty) &&
+ if (isLongVectorEXT(Ty) &&
STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
return getOpTypeVectorIdEXT(NumElts, El, MIRBuilder);
return getOpTypeVector(NumElts, El, MIRBuilder);
@@ -1455,9 +1475,11 @@ unsigned
SPIRVGlobalRegistry::getScalarOrVectorComponentCount(SPIRVTypeInst Type) const {
if (!Type)
return 0;
- return (isVectorType(Type))
- ? 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
@@ -1481,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 different per AS sizes.
+ llvm_unreachable(
+ "Attempting to get bit width of non-integer/float/pointer type.");
}
unsigned SPIRVGlobalRegistry::getNumScalarOrVectorTotalBitWidth(
@@ -2017,13 +2042,11 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
MachineIRBuilder MIRBuilder(*DepMI->getParent(), DepMI->getIterator());
const MachineInstr *NewMI = createConstOrTypeAtFunctionEntry(
MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
- auto OpTy =
- (isLongVector(Ty)) ? SPIRV::OpTypeVectorIdEXT : SPIRV::OpTypeVector;
- return BuildMI(MIRBuilder.getMBB(), *MIRBuilder.getInsertPt(),
- MIRBuilder.getDL(), TII.get(OpTy))
- .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);
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
index 8f4f62be75edc..4f3d909c9b009 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
@@ -476,7 +476,7 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
SPIRVTypeInst getOpTypeVectorImpl(uint32_t NumElems, SPIRVTypeInst ElemType,
MachineIRBuilder &MIRBuilder,
- bool IsLongVector = false);
+ bool IsLongVectorEXT = false);
SPIRVTypeInst getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
MachineIRBuilder &MIRBuilder);
diff --git a/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp b/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
index 305554cfd5e3c..805acfdec37b9 100644
--- a/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
@@ -432,12 +432,12 @@ void validateAccessChain(const SPIRVSubtarget &STI, MachineRegisterInfo *MRI,
}
}
-inline void validateVec1Ops(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 we to preserve the actual vector-ness.
+ // wrong if we used SPV_EXT_long_vector to preserve the actual vector-ness.
switch (MI.getOpcode()) {
case SPIRV::OpBitwiseAndS:
case SPIRV::OpBitwiseOrS:
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
index ca4338ccfe7f6..2c34cc32ee0bd 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
+++ b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
@@ -213,7 +213,7 @@ def OpTypeCooperativeMatrixNV: Op<5358, (outs TYPE:$res),
def OpTypeCooperativeMatrixKHR: Op<4456, (outs TYPE:$res),
(ins TYPE:$compType, ID:$scope, ID:$rows, ID:$cols, ID:$use),
"$res = OpTypeCooperativeMatrixKHR $compType $scope $rows $cols $use">;
-def OpTypeVectorIdEXT: Op<5288, (outs TYPE:$type), (ins TYPE:$compType, i32imm:$compCount),
+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 a73580b09204f..5197984ea3e3b 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -2237,7 +2237,7 @@ bool SPIRVInstructionSelector::selectStore(MachineInstr &I) const {
SPIRVTypeInst PointeeTy = GR.getPointeeType(GR.getSPIRVTypeForVReg(Ptr));
SPIRVTypeInst StoreTy = GR.getSPIRVTypeForVReg(StoreVal);
- if (PointeeTy->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+ if (PointeeTy && PointeeTy->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
StoreTy->getOpcode() != SPIRV::OpTypeVectorIdEXT &&
GR.getScalarOrVectorComponentCount(PointeeTy) == 1) {
MachineInstr *StoreValDef = getVRegDef(*MRI, StoreVal);
@@ -4388,7 +4388,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");
@@ -4895,9 +4895,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());
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 40a36804a2ebf..295a208b2a22e 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -387,12 +387,14 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
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(
@@ -400,12 +402,12 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
.lower();
getActionDefinitionsBuilder(G_PHI)
+ .legalIf(typeOfLongVectors(0, IsLongVecs))
.fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
LegalizeMutations::changeElementCountTo(
0, ElementCount::getFixed(MaxVectorSize)))
.legalFor(allPtrsScalarsAndVectors)
.legalIf(ExtendedPtrsScalarsAndVectors)
- .legalIf(typeOfLongVectors(0, IsLongVecs))
.moreElementsToNextPow2(0);
getActionDefinitionsBuilder(G_BITCAST).legalIf(
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
index ea267a5f959f2..b11562b00dbe1 100644
--- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
@@ -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,7 @@ 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: {
@@ -1637,14 +1643,7 @@ void addInstrRequirements(const MachineInstr &MI,
"extension: SPV_EXT_long_vector extension");
Reqs.addExtension(SPIRV::Extension::SPV_EXT_long_vector);
Reqs.addCapability(SPIRV::Capability::LongVectorEXT);
- assert(MI.getOperand(1).isReg());
- const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
- SPIRVTypeInst ElemTypeDef = MRI.getVRegDef(MI.getOperand(1).getReg());
- if (ElemTypeDef->getOpcode() == SPIRV::OpTypePointer &&
- ST.canUseExtension(SPIRV::Extension::SPV_INTEL_masked_gather_scatter)) {
- Reqs.addExtension(SPIRV::Extension::SPV_INTEL_masked_gather_scatter);
- Reqs.addCapability(SPIRV::Capability::MaskedGatherScatterINTEL);
- }
+ maybeAddScatterGatherReq(MI, Reqs, ST);
break;
}
case SPIRV::OpTypePointer: {
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/SPIRVUtils.h b/llvm/lib/Target/SPIRV/SPIRVUtils.h
index 7565e7a6ce210..e1c8a8039bdd2 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.h
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.h
@@ -513,7 +513,8 @@ inline bool isVector1(Type *Ty) {
// We define this predicate out of line to avoid having to include all OpTypes.
bool isVectorType(SPIRVTypeInst SPVTy);
-inline bool isLongVector(const Type *Ty) {
+
+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
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
index 3a23829da1233..0d69957d66b41 100644
--- 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
@@ -1,17 +1,19 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_ALTERA_arbitrary_precision_integers %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_ALTERA_arbitrary_precision_integers %s -o - -filetype=obj | spirv-val %}
+; 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]] 17
+; CHECK-DAG: %[[#BVEC17:]] = OpTypeVectorIdEXT %[[#BOOL]] %[[#SEVENTEEN]]
; CHECK-DAG: %[[#I8:]] = OpTypeInt 8 0
; CHECK-DAG: %[[#I17:]] = OpTypeInt 17 0
-; CHECK-DAG: %[[#VEC1_I8:]] = OpTypeVectorIdEXT %[[#I8]] 1
+; CHECK-DAG: %[[#VEC1_I8:]] = OpTypeVectorIdEXT %[[#I8]] %[[#ONE]]
; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#I8]]
; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#I8]] 1{{$}}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
index b6bae97a31453..2ee2225e75a11 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
@@ -1,9 +1,9 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[#V17I32:]] = OpTypeVectorIdEXT %[[#I32]] 17
+; CHECK: %[[#SEVENTEEN:]] = OpConstant %[[#I32]] 17
+; CHECK: %[[#V17I32:]] = OpTypeVectorIdEXT %[[#I32]] %[[#SEVENTEEN]]
; CHECK: OpTypeFunction
; CHECK: %[[#X17I32:]] = OpFunctionParameter %[[#V17I32]]
; CHECK: %[[#]] = OpBitCount %[[#V17I32]] %[[#X17I32]]
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
index 93eae5007a7a2..7a3953af4382c 100644
--- 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
@@ -1,17 +1,19 @@
-; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+; 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]] 1
-; CHECK-DAG: %[[#VEC1_PTR:]] = OpTypeVectorIdEXT %[[#PTR_INT32]] 1
+; 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: %[[#GEP:]] = OpPtrAccessChain %[[#PTR_INT32]] %[[#]] %[[#NULL_VEC]]
+; 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]]
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
index 52246ca8eaba8..e8e08d84892ba 100644
--- 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
@@ -1,334 +1,87 @@
-; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; RUN: llc -verify-machineinstrs -O0 -mtriple=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 %}
-; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
-; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; CHECK-DAG: OpName [[TRUNC32_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: OpName [[TRUNC32_16:%.*]] "i32toi16"
-; CHECK-DAG: OpName [[TRUNC32_8:%.*]] "i32toi8"
-; CHECK-DAG: OpName [[TRUNC16_8:%.*]] "i16toi8"
-; CHECK-DAG: OpName [[SEXT8_32:%.*]] "s8tos32"
-; CHECK-DAG: OpName [[SEXT8_16:%.*]] "s8tos16"
-; CHECK-DAG: OpName [[SEXT16_32:%.*]] "s16tos32"
-; CHECK-DAG: OpName [[ZEXT8_32:%.*]] "u8tou32"
-; CHECK-DAG: OpName [[ZEXT8_16:%.*]] "u8tou16"
-; CHECK-DAG: OpName [[ZEXT16_32:%.*]] "u16tou32"
-
-; CHECK-DAG: OpName [[TRUNC32_16v4:%.*]] "i32toi16v4"
-; CHECK-DAG: OpName [[TRUNC32_8v4:%.*]] "i32toi8v4"
-; CHECK-DAG: OpName [[TRUNC16_8v4:%.*]] "i16toi8v4"
-; CHECK-DAG: OpName [[SEXT8_32v4:%.*]] "s8tos32v4"
-; CHECK-DAG: OpName [[SEXT8_16v4:%.*]] "s8tos16v4"
-; CHECK-DAG: OpName [[SEXT16_32v4:%.*]] "s16tos32v4"
-; CHECK-DAG: OpName [[ZEXT8_32v4:%.*]] "u8tou32v4"
-; CHECK-DAG: OpName [[ZEXT8_16v4:%.*]] "u8tou16v4"
-; CHECK-DAG: OpName [[ZEXT16_32v4:%.*]] "u16tou32v4"
-
-; CHECK-DAG: OpDecorate %[[#R14:]] FPRoundingMode RTZ
-; CHECK-DAG: OpDecorate %[[#R15:]] FPRoundingMode RTZ
-; CHECK-DAG: OpDecorate %[[#R16:]] FPRoundingMode RTZ
-; CHECK-DAG: OpDecorate %[[#R17:]] FPRoundingMode RTE
-; CHECK-DAG: OpDecorate %[[#R18:]] FPRoundingMode RTP
-; CHECK-DAG: OpDecorate %[[#R19:]] FPRoundingMode RTN
-; CHECK-DAG: OpDecorate %[[#R20:]] SaturatedConversion
-
-; CHECK-DAG: [[F32:%.*]] = OpTypeFloat 32
-; CHECK-DAG: [[F16:%.*]] = OpTypeFloat 16
-; CHECK-DAG: [[U64:%.*]] = OpTypeInt 64 0
; CHECK-DAG: [[U32:%.*]] = OpTypeInt 32 0
; CHECK-DAG: [[U16:%.*]] = OpTypeInt 16 0
; CHECK-DAG: [[U8:%.*]] = OpTypeInt 8 0
-; CHECK-DAG: [[F32v2:%.*]] = OpTypeVector [[F32]] 2
-; CHECK-DAG: [[U32v4:%.*]] = OpTypeVector [[U32]] 4
-; CHECK-DAG: [[U16v4:%.*]] = OpTypeVector [[U16]] 4
-; CHECK-DAG: [[U8v4:%.*]] = OpTypeVector [[U8]] 4
-
-
-; CHECK: [[TRUNC32_16]] = OpFunction [[U16]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U16]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define i16 @i32toi16(i32 %a) {
- %r = trunc i32 %a to i16
- ret i16 %r
-}
-
-; CHECK: [[TRUNC32_8]] = OpFunction [[U8]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U8]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define i8 @i32toi8(i32 %a) {
- %r = trunc i32 %a to i8
- ret i8 %r
-}
-
-; CHECK: [[TRUNC16_8]] = OpFunction [[U8]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U8]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define i8 @i16toi8(i16 %a) {
- %r = trunc i16 %a to i8
- ret i8 %r
-}
-
-
-; CHECK: [[SEXT8_32]] = OpFunction [[U32]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpSConvert [[U32]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define i32 @s8tos32(i8 %a) {
- %r = sext i8 %a to i32
- ret i32 %r
-}
-
-; CHECK: [[SEXT8_16]] = OpFunction [[U16]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpSConvert [[U16]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define i16 @s8tos16(i8 %a) {
- %r = sext i8 %a to i16
- ret i16 %r
-}
-
-; CHECK: [[SEXT16_32]] = OpFunction [[U32]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpSConvert [[U32]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define i32 @s16tos32(i16 %a) {
- %r = sext i16 %a to i32
- ret i32 %r
-}
+; CHECK-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: [[ZEXT8_32]] = OpFunction [[U32]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK: [[TRUNC32_16v1]] = OpFunction [[U16v1]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v1]]
; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U32]] [[A]]
+; CHECK: [[R:%.*]] = OpUConvert [[U16v1]] [[A]]
; CHECK: OpReturnValue [[R]]
; CHECK-NEXT: OpFunctionEnd
-define i32 @u8tou32(i8 %a) {
- %r = zext i8 %a to i32
- ret i32 %r
+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: [[ZEXT8_16]] = OpFunction [[U16]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK: [[TRUNC32_16v17]] = OpFunction [[U16v17]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v17]]
; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U16]] [[A]]
+; CHECK: [[R:%.*]] = OpUConvert [[U16v17]] [[A]]
; CHECK: OpReturnValue [[R]]
; CHECK-NEXT: OpFunctionEnd
-define i16 @u8tou16(i8 %a) {
- %r = zext i8 %a to i16
- ret i16 %r
+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: [[ZEXT16_32]] = OpFunction [[U32]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
+; CHECK: [[SEXT8_32v1]] = OpFunction [[U32v1]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v1]]
; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U32]] [[A]]
+; CHECK: [[R:%.*]] = OpSConvert [[U32v1]] [[A]]
; CHECK: OpReturnValue [[R]]
; CHECK-NEXT: OpFunctionEnd
-define i32 @u16tou32(i16 %a) {
- %r = zext i16 %a to i32
- ret i32 %r
+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: [[TRUNC32_16v4]] = OpFunction [[U16v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v4]]
+; CHECK: [[SEXT8_32v17]] = OpFunction [[U32v17]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v17]]
; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U16v4]] [[A]]
+; CHECK: [[R:%.*]] = OpSConvert [[U32v17]] [[A]]
; CHECK: OpReturnValue [[R]]
; CHECK-NEXT: OpFunctionEnd
-define <4 x i16> @i32toi16v4(<4 x i32> %a) {
- %r = trunc <4 x i32> %a to <4 x i16>
- ret <4 x i16> %r
+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: [[TRUNC32_8v4]] = OpFunction [[U8v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v4]]
+; CHECK: [[ZEXT8_32v1]] = OpFunction [[U32v1]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v1]]
; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U8v4]] [[A]]
+; CHECK: [[R:%.*]] = OpUConvert [[U32v1]] [[A]]
; CHECK: OpReturnValue [[R]]
; CHECK-NEXT: OpFunctionEnd
-define <4 x i8> @i32toi8v4(<4 x i32> %a) {
- %r = trunc <4 x i32> %a to <4 x i8>
- ret <4 x i8> %r
+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: [[TRUNC16_8v4]] = OpFunction [[U8v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
+; CHECK: [[ZEXT8_32v17]] = OpFunction [[U32v17]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v17]]
; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U8v4]] [[A]]
+; CHECK: [[R:%.*]] = OpUConvert [[U32v17]] [[A]]
; CHECK: OpReturnValue [[R]]
; CHECK-NEXT: OpFunctionEnd
-define <4 x i8> @i16toi8v4(<4 x i16> %a) {
- %r = trunc <4 x i16> %a to <4 x i8>
- ret <4 x i8> %r
+define <17 x i32> @u8tou32v17(<17 x i8> %a) {
+ %r = zext <17 x i8> %a to <17 x i32>
+ ret <17 x i32> %r
}
-
-
-; CHECK: [[SEXT8_32v4]] = OpFunction [[U32v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpSConvert [[U32v4]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define <4 x i32> @s8tos32v4(<4 x i8> %a) {
- %r = sext <4 x i8> %a to <4 x i32>
- ret <4 x i32> %r
-}
-
-; CHECK: [[SEXT8_16v4]] = OpFunction [[U16v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpSConvert [[U16v4]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define <4 x i16> @s8tos16v4(<4 x i8> %a) {
- %r = sext <4 x i8> %a to <4 x i16>
- ret <4 x i16> %r
-}
-
-; CHECK: [[SEXT16_32v4]] = OpFunction [[U32v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpSConvert [[U32v4]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define <4 x i32> @s16tos32v4(<4 x i16> %a) {
- %r = sext <4 x i16> %a to <4 x i32>
- ret <4 x i32> %r
-}
-
-; CHECK: [[ZEXT8_32v4]] = OpFunction [[U32v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U32v4]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define <4 x i32> @u8tou32v4(<4 x i8> %a) {
- %r = zext <4 x i8> %a to <4 x i32>
- ret <4 x i32> %r
-}
-
-; CHECK: [[ZEXT8_16v4]] = OpFunction [[U16v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U16v4]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define <4 x i16> @u8tou16v4(<4 x i8> %a) {
- %r = zext <4 x i8> %a to <4 x i16>
- ret <4 x i16> %r
-}
-
-; CHECK: [[ZEXT16_32v4]] = OpFunction [[U32v4]]
-; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
-; CHECK: OpLabel
-; CHECK: [[R:%.*]] = OpUConvert [[U32v4]] [[A]]
-; CHECK: OpReturnValue [[R]]
-; CHECK-NEXT: OpFunctionEnd
-define <4 x i32> @u16tou32v4(<4 x i16> %a) {
- %r = zext <4 x i16> %a to <4 x i32>
- ret <4 x i32> %r
-}
-
-; CHECK: OpFunction
-; CHECK: [[Arg1:%.*]] = OpFunctionParameter
-; CHECK: [[Arg2:%.*]] = OpFunctionParameter
-; CHECK: %[[#]] = OpConvertFToU [[U32]] %[[#]]
-; CHECK: %[[#]] = OpConvertFToS [[U32]] %[[#]]
-; CHECK: %[[#]] = OpConvertSToF [[F32]] %[[#]]
-; CHECK: %[[#]] = OpConvertUToF [[F32]] %[[#]]
-; CHECK: %[[#]] = OpUConvert [[U32]] %[[#]]
-; CHECK: %[[#]] = OpSConvert [[U32]] %[[#]]
-; CHECK: %[[#]] = OpFConvert [[F16]] %[[#]]
-; CHECK: %[[#]] = OpSatConvertSToU [[U64]] %[[#]]
-; CHECK: %[[#]] = OpSatConvertUToS [[U64]] %[[#]]
-; CHECK: %[[#]] = OpConvertPtrToU [[U64]] [[Arg1]]
-; CHECK: %[[#]] = OpConvertUToPtr %[[#]] [[Arg2]]
-; CHECK: %[[#]] = OpUConvert [[U32v4]] %[[#]]
-; CHECK: %[[#]] = OpSConvert [[U32v4]] %[[#]]
-; CHECK: %[[#R14]] = OpConvertUToF [[F32]] %[[#]]
-; CHECK: %[[#R15]] = OpConvertUToF [[F32]] %[[#]]
-; CHECK: %[[#R16]] = OpFConvert [[F32v2]] %[[#]]
-; CHECK: %[[#R17]] = OpFConvert [[F32v2]] %[[#]]
-; CHECK: %[[#R18]] = OpFConvert [[F32v2]] %[[#]]
-; CHECK: %[[#R19]] = OpFConvert [[F32v2]] %[[#]]
-; CHECK: %[[#R20]] = OpConvertFToU [[U8]] %[[#]]
-; CHECK: OpFunctionEnd
-define dso_local spir_kernel void @test_wrappers(ptr addrspace(4) %arg, i64 %arg_ptr, <4 x i8> %arg_v2, ptr addrspace(1) %out_i32, ptr addrspace(1) %out_float, ptr addrspace(1) %out_half, ptr addrspace(1) %out_i64, ptr addrspace(1) %out_ptr, ptr addrspace(1) %out_v4i32, ptr addrspace(1) %out_v2f32, ptr addrspace(1) %out_i8) {
- %r1 = call spir_func i32 @__spirv_ConvertFToU(float 0.000000e+00)
- store volatile i32 %r1, ptr addrspace(1) %out_i32
- %r2 = call spir_func i32 @__spirv_ConvertFToS(float 0.000000e+00)
- store volatile i32 %r2, ptr addrspace(1) %out_i32
- %r3 = call spir_func float @__spirv_ConvertSToF(i32 1)
- store volatile float %r3, ptr addrspace(1) %out_float
- %r4 = call spir_func float @__spirv_ConvertUToF(i32 1)
- store volatile float %r4, ptr addrspace(1) %out_float
- %r5 = call spir_func i32 @__spirv_UConvert(i64 1)
- store volatile i32 %r5, ptr addrspace(1) %out_i32
- %r6 = call spir_func i32 @__spirv_SConvert(i64 1)
- store volatile i32 %r6, ptr addrspace(1) %out_i32
- %r7 = call spir_func half @__spirv_FConvert(float 0.000000e+00)
- store volatile half %r7, ptr addrspace(1) %out_half
- %r8 = call spir_func i64 @__spirv_SatConvertSToU(i64 1)
- store volatile i64 %r8, ptr addrspace(1) %out_i64
- %r9 = call spir_func i64 @__spirv_SatConvertUToS(i64 1)
- store volatile i64 %r9, ptr addrspace(1) %out_i64
- %r10 = call spir_func i64 @__spirv_ConvertPtrToU(ptr addrspace(4) %arg)
- store volatile i64 %r10, ptr addrspace(1) %out_i64
- %r11 = call spir_func ptr addrspace(4) @__spirv_ConvertUToPtr(i64 %arg_ptr)
- store volatile ptr addrspace(4) %r11, ptr addrspace(1) %out_ptr
- %r12 = call spir_func <4 x i32> @_Z22__spirv_UConvert_Rint2Dv2_a(<4 x i8> %arg_v2)
- store volatile <4 x i32> %r12, ptr addrspace(1) %out_v4i32
- %r13 = call spir_func <4 x i32> @_Z22__spirv_SConvert_Rint2Dv2_a(<4 x i8> %arg_v2)
- store volatile <4 x i32> %r13, ptr addrspace(1) %out_v4i32
- %r14 = call spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz(i64 %arg_ptr)
- store volatile float %r14, ptr addrspace(1) %out_float
- %r15 = call spir_func float @__spirv_ConvertUToF_Rfloat_rtz(i64 %arg_ptr)
- store volatile float %r15, ptr addrspace(1) %out_float
- %r16 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
- store volatile <2 x float> %r16, ptr addrspace(1) %out_v2f32
- %r17 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
- store volatile <2 x float> %r17, ptr addrspace(1) %out_v2f32
- %r18 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
- store volatile <2 x float> %r18, ptr addrspace(1) %out_v2f32
- %r19 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
- store volatile <2 x float> %r19, ptr addrspace(1) %out_v2f32
- %r20 = call spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float noundef 42.0)
- store volatile i8 %r20, ptr addrspace(1) %out_i8
- ret void
-}
-
-declare dso_local spir_func i32 @__spirv_ConvertFToU(float)
-declare dso_local spir_func i32 @__spirv_ConvertFToS(float)
-declare dso_local spir_func float @__spirv_ConvertSToF(i32)
-declare dso_local spir_func float @__spirv_ConvertUToF(i32)
-declare dso_local spir_func i32 @__spirv_UConvert(i64)
-declare dso_local spir_func i32 @__spirv_SConvert(i64)
-declare dso_local spir_func half @__spirv_FConvert(float)
-declare dso_local spir_func i64 @__spirv_SatConvertSToU(i64)
-declare dso_local spir_func i64 @__spirv_SatConvertUToS(i64)
-declare dso_local spir_func i64 @__spirv_ConvertPtrToU(ptr addrspace(4))
-declare dso_local spir_func ptr addrspace(4) @__spirv_ConvertUToPtr(i64)
-declare dso_local spir_func <4 x i32> @_Z22__spirv_UConvert_Rint2Dv2_a(<4 x i8>)
-declare dso_local spir_func <4 x i32> @_Z22__spirv_SConvert_Rint2Dv2_a(<4 x i8>)
-declare dso_local spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz(i64)
-declare dso_local spir_func float @__spirv_ConvertUToF_Rfloat_rtz(i64)
-declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_(<2 x half> noundef)
-declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_(<2 x half> noundef)
-declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_(<2 x half> noundef)
-declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_(<2 x half> noundef)
-declare dso_local spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
index 4f0e653277319..8cdd23ccd3992 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index f924a1ca7dd9b..80c08b744364d 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index 846022af0b185..a2ed9dd4bc682 100644
--- 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
@@ -1,10 +1,12 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
-; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+; 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]]
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
index d7b49add36d01..b0bade56a06d2 100644
--- 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
@@ -1,10 +1,12 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
-; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+; 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]]
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
index 9f5a9010cb272..4de10f5e02fe0 100644
--- 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
@@ -1,10 +1,12 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
-; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+; 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]]
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
index af2992aae0d63..e1c0beb961b7a 100644
--- 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
@@ -1,10 +1,12 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
-; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+; 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]]
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
index 5fe799d785a6e..ccf43bdca3e9c 100644
--- 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
@@ -1,10 +1,12 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
-; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+; 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]]
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
index c2fb23bf06f8e..926f596fc0d68 100644
--- 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
@@ -1,10 +1,12 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
-; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+; 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]]
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
index 35bcc036bac1d..f14ad786bff88 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index f945edf04443b..274d78dec9dfd 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index 82055121845be..b1ec8f8a45c34 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index 311bc1b122303..1b10db475fc9e 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index 5e8c1ca3dc58b..de0f85437fd28 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index e3e93752a68a5..a20594103470a 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index eae363af8d989..3898cb11d38f7 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
-; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; 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: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
-; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+; 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]]
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
index e9aaf0c1a7df0..474c79876d2ae 100644
--- 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
@@ -1,10 +1,11 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; 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]] 32
+; CHECK-DAG: %[[#V32:]] = OpTypeVectorIdEXT %[[#I32]] %[[#THIRTYTWO]]
; CHECK: %[[#PHI:]] = OpPhi %[[#V32]]
define spir_kernel void @phi_v32(ptr addrspace(1) %out, i1 %cond,
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
index 833c79c8c935c..cb466197e9bb4 100644
--- 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
@@ -1,5 +1,5 @@
; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_INTEL_masked_gather_scatter,+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
-; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; 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.
@@ -9,11 +9,13 @@
; 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: %[[#VEC_PTR_TY:]] = OpTypeVectorIdEXT %[[#PTR_TY]] 17
-; CHECK-DAG: %[[#INT64_TY:]] = OpTypeInt 64 0
-; CHECK-DAG: %[[#VEC_INT64_TY:]] = OpTypeVectorIdEXT %[[#INT64_TY]] 17
+; 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
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
index 5bf629c248f2f..90892bcabdaec 100644
--- 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
@@ -1,11 +1,12 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown -verify-machineinstrs --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+; 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: %[[#Vec1FloatTy:]] = OpTypeVectorIdEXT %[[#FloatTy]] 1
-; CHECK-DAG: %[[#Vec1IntTy:]] = OpTypeVectorIdEXT %[[#IntTy]] 1
+; 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
@@ -15,8 +16,11 @@
; 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]]
@@ -86,8 +90,8 @@ entry:
}
; CHECK: OpFunction
-; CHECK: %[[#ArrInsert1:]] = OpCompositeInsert %[[#Arr4Float]] %[[#Float1]] %[[#]] 0
-; CHECK: %[[#ArrInsert2:]] = OpCompositeInsert %[[#Arr4Float]] %[[#Float2]] %[[#ArrInsert1]] 1
+; 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
@@ -103,8 +107,8 @@ entry:
}
; CHECK: OpFunction
-; CHECK: %[[#StructInsert1:]] = OpCompositeInsert %[[#StructFloatInt]] %[[#Float1]] %[[#]] 0
-; CHECK: %[[#StructInsert2:]] = OpCompositeInsert %[[#StructFloatInt]] %[[#Int42]] %[[#StructInsert1]] 1
+; 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
@@ -120,8 +124,8 @@ entry:
}
; CHECK: OpFunction
-; CHECK: %[[#MixedInsert1:]] = OpCompositeInsert %[[#StructFloatArr2Int]] %[[#Float3]] %[[#]] 0
-; CHECK: %[[#MixedInsert2:]] = OpCompositeInsert %[[#StructFloatArr2Int]] %[[#Int7]] %[[#MixedInsert1]] 1 0
+; 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
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
index 6a4e623d6b428..28cb622efff7d 100644
--- 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
@@ -1,13 +1,23 @@
-; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+; 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: %[[#VEC1:]] = OpTypeVectorIdEXT %[[#INT16]] 1
+; 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() {
@@ -52,3 +62,25 @@ 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
index 11417cac5b3da..24491035db58e 100644
--- 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
@@ -1,9 +1,9 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+; 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: %[[#Vec17:]] = OpTypeVectorIdEXT %[[#Int]] 17
+; 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
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
index f40ae294120ff..4364ff3e935e9 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
@@ -1,1230 +1,1230 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - -filetype=obj | spirv-val %}
+; 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; once spirv-val works, testing its correct lowering into valid SPIR-V shall suffice.
+; This is a repro extracted from IREE.
@__shared_memory__ = private addrspace(3) global [8 x [8 x float]] poison, align 16
- at __constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
- at __constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+ 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(4) #0 {
+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: %113 = OpFunction %18 Inline %19 ; -- Begin function _winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
-; CHECK-NEXT: %111 = OpFunctionParameter %17
-; CHECK-NEXT: %112 = OpFunctionParameter %17
-; CHECK-NEXT: %2360 = OpLabel
-; CHECK-NEXT: %114 = OpBitcast %27 %99
-; CHECK-NEXT: %115 = OpInBoundsPtrAccessChain %27 %114 %59
-; CHECK-NEXT: %116 = OpInBoundsPtrAccessChain %27 %114 %58
-; CHECK-NEXT: %117 = OpInBoundsPtrAccessChain %27 %114 %57
-; CHECK-NEXT: %118 = OpInBoundsPtrAccessChain %27 %114 %56
-; CHECK-NEXT: %119 = OpInBoundsPtrAccessChain %27 %114 %55
-; CHECK-NEXT: %120 = OpInBoundsPtrAccessChain %27 %114 %54
-; CHECK-NEXT: %121 = OpInBoundsPtrAccessChain %27 %114 %53
-; CHECK-NEXT: %122 = OpBitcast %28 %88
-; CHECK-NEXT: %123 = OpInBoundsPtrAccessChain %28 %122 %59
-; CHECK-NEXT: %124 = OpInBoundsPtrAccessChain %28 %122 %58
-; CHECK-NEXT: %125 = OpInBoundsPtrAccessChain %28 %122 %57
-; CHECK-NEXT: %126 = OpInBoundsPtrAccessChain %28 %122 %56
-; CHECK-NEXT: %127 = OpInBoundsPtrAccessChain %28 %122 %55
-; CHECK-NEXT: %128 = OpInBoundsPtrAccessChain %28 %122 %54
-; CHECK-NEXT: %129 = OpInBoundsPtrAccessChain %28 %122 %53
-; CHECK-NEXT: %130 = OpBitcast %28 %98
-; CHECK-NEXT: %131 = OpInBoundsPtrAccessChain %28 %130 %59
-; CHECK-NEXT: %132 = OpInBoundsPtrAccessChain %28 %130 %58
-; CHECK-NEXT: %133 = OpInBoundsPtrAccessChain %28 %130 %57
-; CHECK-NEXT: %134 = OpInBoundsPtrAccessChain %28 %130 %56
-; CHECK-NEXT: %135 = OpInBoundsPtrAccessChain %28 %130 %55
-; CHECK-NEXT: %136 = OpInBoundsPtrAccessChain %28 %130 %54
-; CHECK-NEXT: %137 = OpInBoundsPtrAccessChain %28 %130 %53
-; CHECK-NEXT: OpBranch %2361
-; CHECK-NEXT: %2361 = OpLabel
-; CHECK-NEXT: %138 = OpPhi %20 %139 %2362 %47 %2360
-; CHECK-NEXT: %140 = OpSLessThan %34 %138 %35
-; CHECK-NEXT: OpBranchConditional %140 %2363 %2364
-; CHECK-NEXT: %2364 = OpLabel
-; CHECK-NEXT: OpMemoryBarrier %78 %77
-; CHECK-NEXT: %141 = OpFunctionCall %18 %100 %52
-; CHECK-NEXT: %142 = OpFunctionCall %18 %102 %51
-; CHECK-NEXT: OpMemoryBarrier %78 %78
-; CHECK-NEXT: OpBranch %2365
-; CHECK-NEXT: %2365 = OpLabel
-; CHECK-NEXT: %143 = OpPhi %20 %144 %2366 %47 %2364
-; CHECK-NEXT: %145 = OpSLessThan %34 %143 %50
-; CHECK-NEXT: OpBranchConditional %145 %2367 %2368
-; CHECK-NEXT: %2368 = OpLabel
-; CHECK-NEXT: OpMemoryBarrier %78 %77
-; CHECK-NEXT: %146 = OpFunctionCall %18 %100 %52
-; CHECK-NEXT: %147 = OpFunctionCall %18 %102 %51
-; CHECK-NEXT: OpMemoryBarrier %78 %78
-; CHECK-NEXT: %148 = OpBitcast %30 %99
-; CHECK-NEXT: %149 = OpLoad %29 %148 Aligned 4
-; CHECK-NEXT: %150 = OpBitcast %30 %115
-; CHECK-NEXT: %151 = OpLoad %29 %150 Aligned 4
-; CHECK-NEXT: %152 = OpBitcast %30 %116
-; CHECK-NEXT: %153 = OpLoad %29 %152 Aligned 4
-; CHECK-NEXT: %154 = OpBitcast %30 %117
-; CHECK-NEXT: %155 = OpLoad %29 %154 Aligned 4
-; CHECK-NEXT: %156 = OpBitcast %30 %118
-; CHECK-NEXT: %157 = OpLoad %29 %156 Aligned 4
-; CHECK-NEXT: %158 = OpBitcast %30 %119
-; CHECK-NEXT: %159 = OpLoad %29 %158 Aligned 4
-; CHECK-NEXT: %160 = OpBitcast %30 %120
-; CHECK-NEXT: %161 = OpLoad %29 %160 Aligned 4
-; CHECK-NEXT: %162 = OpBitcast %30 %121
-; CHECK-NEXT: %163 = OpLoad %29 %162 Aligned 4
-; CHECK-NEXT: %164 = OpCompositeExtract %16 %149 0
-; CHECK-NEXT: %165 = OpCompositeExtract %16 %149 1
-; CHECK-NEXT: %166 = OpCompositeExtract %16 %149 2
-; CHECK-NEXT: %167 = OpCompositeExtract %16 %149 3
-; CHECK-NEXT: %168 = OpCompositeExtract %16 %149 4
-; CHECK-NEXT: %169 = OpCompositeExtract %16 %149 5
-; CHECK-NEXT: %170 = OpCompositeExtract %16 %149 6
-; CHECK-NEXT: %171 = OpCompositeExtract %16 %149 7
-; CHECK-NEXT: %172 = OpCompositeExtract %16 %151 0
-; CHECK-NEXT: %173 = OpCompositeExtract %16 %151 1
-; CHECK-NEXT: %174 = OpCompositeExtract %16 %151 2
-; CHECK-NEXT: %175 = OpCompositeExtract %16 %151 3
-; CHECK-NEXT: %176 = OpCompositeExtract %16 %151 4
-; CHECK-NEXT: %177 = OpCompositeExtract %16 %151 5
-; CHECK-NEXT: %178 = OpCompositeExtract %16 %151 6
-; CHECK-NEXT: %179 = OpCompositeExtract %16 %151 7
-; CHECK-NEXT: %180 = OpCompositeExtract %16 %153 0
-; CHECK-NEXT: %181 = OpCompositeExtract %16 %153 1
-; CHECK-NEXT: %182 = OpCompositeExtract %16 %153 2
-; CHECK-NEXT: %183 = OpCompositeExtract %16 %153 3
-; CHECK-NEXT: %184 = OpCompositeExtract %16 %153 4
-; CHECK-NEXT: %185 = OpCompositeExtract %16 %153 5
-; CHECK-NEXT: %186 = OpCompositeExtract %16 %153 6
-; CHECK-NEXT: %187 = OpCompositeExtract %16 %153 7
-; CHECK-NEXT: %188 = OpCompositeExtract %16 %155 0
-; CHECK-NEXT: %189 = OpCompositeExtract %16 %155 1
-; CHECK-NEXT: %190 = OpCompositeExtract %16 %155 2
-; CHECK-NEXT: %191 = OpCompositeExtract %16 %155 3
-; CHECK-NEXT: %192 = OpCompositeExtract %16 %155 4
-; CHECK-NEXT: %193 = OpCompositeExtract %16 %155 5
-; CHECK-NEXT: %194 = OpCompositeExtract %16 %155 6
-; CHECK-NEXT: %195 = OpCompositeExtract %16 %155 7
-; CHECK-NEXT: %196 = OpCompositeExtract %16 %157 0
-; CHECK-NEXT: %197 = OpCompositeExtract %16 %157 1
-; CHECK-NEXT: %198 = OpCompositeExtract %16 %157 2
-; CHECK-NEXT: %199 = OpCompositeExtract %16 %157 3
-; CHECK-NEXT: %200 = OpCompositeExtract %16 %157 4
-; CHECK-NEXT: %201 = OpCompositeExtract %16 %157 5
-; CHECK-NEXT: %202 = OpCompositeExtract %16 %157 6
-; CHECK-NEXT: %203 = OpCompositeExtract %16 %157 7
-; CHECK-NEXT: %204 = OpCompositeExtract %16 %159 0
-; CHECK-NEXT: %205 = OpCompositeExtract %16 %159 1
-; CHECK-NEXT: %206 = OpCompositeExtract %16 %159 2
-; CHECK-NEXT: %207 = OpCompositeExtract %16 %159 3
-; CHECK-NEXT: %208 = OpCompositeExtract %16 %159 4
-; CHECK-NEXT: %209 = OpCompositeExtract %16 %159 5
-; CHECK-NEXT: %210 = OpCompositeExtract %16 %159 6
-; CHECK-NEXT: %211 = OpCompositeExtract %16 %159 7
-; CHECK-NEXT: %212 = OpCompositeExtract %16 %161 0
-; CHECK-NEXT: %213 = OpCompositeExtract %16 %161 1
-; CHECK-NEXT: %214 = OpCompositeExtract %16 %161 2
-; CHECK-NEXT: %215 = OpCompositeExtract %16 %161 3
-; CHECK-NEXT: %216 = OpCompositeExtract %16 %161 4
-; CHECK-NEXT: %217 = OpCompositeExtract %16 %161 5
-; CHECK-NEXT: %218 = OpCompositeExtract %16 %161 6
-; CHECK-NEXT: %219 = OpCompositeExtract %16 %161 7
-; CHECK-NEXT: %220 = OpCompositeExtract %16 %163 0
-; CHECK-NEXT: %221 = OpCompositeExtract %16 %163 1
-; CHECK-NEXT: %222 = OpCompositeExtract %16 %163 2
-; CHECK-NEXT: %223 = OpCompositeExtract %16 %163 3
-; CHECK-NEXT: %224 = OpCompositeExtract %16 %163 4
-; CHECK-NEXT: %225 = OpCompositeExtract %16 %163 5
-; CHECK-NEXT: %226 = OpCompositeExtract %16 %163 6
-; CHECK-NEXT: %227 = OpCompositeExtract %16 %163 7
-; CHECK-NEXT: %228 = OpBitcast %31 %88
-; CHECK-NEXT: %229 = OpLoad %29 %228 Aligned 4
-; CHECK-NEXT: %230 = OpBitcast %31 %123
-; CHECK-NEXT: %231 = OpLoad %29 %230 Aligned 4
-; CHECK-NEXT: %232 = OpBitcast %31 %124
-; CHECK-NEXT: %233 = OpLoad %29 %232 Aligned 4
-; CHECK-NEXT: %234 = OpBitcast %31 %125
-; CHECK-NEXT: %235 = OpLoad %29 %234 Aligned 4
-; CHECK-NEXT: %236 = OpBitcast %31 %126
-; CHECK-NEXT: %237 = OpLoad %29 %236 Aligned 4
-; CHECK-NEXT: %238 = OpBitcast %31 %127
-; CHECK-NEXT: %239 = OpLoad %29 %238 Aligned 4
-; CHECK-NEXT: %240 = OpBitcast %31 %128
-; CHECK-NEXT: %241 = OpLoad %29 %240 Aligned 4
-; CHECK-NEXT: %242 = OpBitcast %31 %129
-; CHECK-NEXT: %243 = OpLoad %29 %242 Aligned 4
-; CHECK-NEXT: %244 = OpCompositeInsert %29 %164 %104 0
-; CHECK-NEXT: %245 = OpVectorShuffle %29 %244 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %246 = OpVectorShuffle %24 %245 %245 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %247 = OpVectorShuffle %24 %246 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %248 = OpCompositeInsert %29 %172 %104 0
-; CHECK-NEXT: %249 = OpVectorShuffle %29 %248 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %250 = OpVectorShuffle %24 %249 %249 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %251 = OpVectorShuffle %24 %250 %247 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %252 = OpCompositeInsert %29 %180 %104 0
-; CHECK-NEXT: %253 = OpVectorShuffle %29 %252 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %254 = OpVectorShuffle %24 %253 %253 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %255 = OpVectorShuffle %24 %254 %251 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %256 = OpCompositeInsert %29 %188 %104 0
-; CHECK-NEXT: %257 = OpVectorShuffle %29 %256 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %258 = OpVectorShuffle %24 %257 %257 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %259 = OpVectorShuffle %24 %258 %255 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %260 = OpCompositeInsert %29 %196 %104 0
-; CHECK-NEXT: %261 = OpVectorShuffle %29 %260 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %262 = OpVectorShuffle %24 %261 %261 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %263 = OpVectorShuffle %24 %262 %259 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %264 = OpCompositeInsert %29 %204 %104 0
-; CHECK-NEXT: %265 = OpVectorShuffle %29 %264 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %266 = OpVectorShuffle %24 %265 %265 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %267 = OpVectorShuffle %24 %266 %263 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %268 = OpCompositeInsert %29 %212 %104 0
-; CHECK-NEXT: %269 = OpVectorShuffle %29 %268 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %270 = OpVectorShuffle %24 %269 %269 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %271 = OpVectorShuffle %24 %270 %267 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %272 = OpCompositeInsert %29 %220 %104 0
-; CHECK-NEXT: %273 = OpVectorShuffle %29 %272 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %274 = OpVectorShuffle %24 %273 %273 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %275 = OpVectorShuffle %24 %274 %271 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %276 = OpCompositeInsert %29 %165 %104 0
-; CHECK-NEXT: %277 = OpVectorShuffle %29 %276 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %278 = OpVectorShuffle %24 %277 %277 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %279 = OpVectorShuffle %24 %278 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %280 = OpCompositeInsert %29 %173 %104 0
-; CHECK-NEXT: %281 = OpVectorShuffle %29 %280 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %282 = OpVectorShuffle %24 %281 %281 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %283 = OpVectorShuffle %24 %282 %279 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %284 = OpCompositeInsert %29 %181 %104 0
-; CHECK-NEXT: %285 = OpVectorShuffle %29 %284 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %286 = OpVectorShuffle %24 %285 %285 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %287 = OpVectorShuffle %24 %286 %283 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %288 = OpCompositeInsert %29 %189 %104 0
-; CHECK-NEXT: %289 = OpVectorShuffle %29 %288 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %290 = OpVectorShuffle %24 %289 %289 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %291 = OpVectorShuffle %24 %290 %287 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %292 = OpCompositeInsert %29 %197 %104 0
-; CHECK-NEXT: %293 = OpVectorShuffle %29 %292 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %294 = OpVectorShuffle %24 %293 %293 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %295 = OpVectorShuffle %24 %294 %291 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %296 = OpCompositeInsert %29 %205 %104 0
-; CHECK-NEXT: %297 = OpVectorShuffle %29 %296 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %298 = OpVectorShuffle %24 %297 %297 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %299 = OpVectorShuffle %24 %298 %295 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %300 = OpCompositeInsert %29 %213 %104 0
-; CHECK-NEXT: %301 = OpVectorShuffle %29 %300 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %302 = OpVectorShuffle %24 %301 %301 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %303 = OpVectorShuffle %24 %302 %299 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %304 = OpCompositeInsert %29 %221 %104 0
-; CHECK-NEXT: %305 = OpVectorShuffle %29 %304 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %306 = OpVectorShuffle %24 %305 %305 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %307 = OpVectorShuffle %24 %306 %303 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %308 = OpCompositeInsert %29 %166 %104 0
-; CHECK-NEXT: %309 = OpVectorShuffle %29 %308 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %310 = OpVectorShuffle %24 %309 %309 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %311 = OpVectorShuffle %24 %310 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %312 = OpCompositeInsert %29 %174 %104 0
-; CHECK-NEXT: %313 = OpVectorShuffle %29 %312 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %314 = OpVectorShuffle %24 %313 %313 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %315 = OpVectorShuffle %24 %314 %311 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %316 = OpCompositeInsert %29 %182 %104 0
-; CHECK-NEXT: %317 = OpVectorShuffle %29 %316 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %318 = OpVectorShuffle %24 %317 %317 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %319 = OpVectorShuffle %24 %318 %315 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %320 = OpCompositeInsert %29 %190 %104 0
-; CHECK-NEXT: %321 = OpVectorShuffle %29 %320 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %322 = OpVectorShuffle %24 %321 %321 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %323 = OpVectorShuffle %24 %322 %319 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %324 = OpCompositeInsert %29 %198 %104 0
-; CHECK-NEXT: %325 = OpVectorShuffle %29 %324 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %326 = OpVectorShuffle %24 %325 %325 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %327 = OpVectorShuffle %24 %326 %323 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %328 = OpCompositeInsert %29 %206 %104 0
-; CHECK-NEXT: %329 = OpVectorShuffle %29 %328 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %330 = OpVectorShuffle %24 %329 %329 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %331 = OpVectorShuffle %24 %330 %327 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %332 = OpCompositeInsert %29 %214 %104 0
-; CHECK-NEXT: %333 = OpVectorShuffle %29 %332 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %334 = OpVectorShuffle %24 %333 %333 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %335 = OpVectorShuffle %24 %334 %331 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %336 = OpCompositeInsert %29 %222 %104 0
-; CHECK-NEXT: %337 = OpVectorShuffle %29 %336 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %338 = OpVectorShuffle %24 %337 %337 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %339 = OpVectorShuffle %24 %338 %335 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %340 = OpCompositeInsert %29 %167 %104 0
-; CHECK-NEXT: %341 = OpVectorShuffle %29 %340 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %342 = OpVectorShuffle %24 %341 %341 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %343 = OpVectorShuffle %24 %342 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %344 = OpCompositeInsert %29 %175 %104 0
-; CHECK-NEXT: %345 = OpVectorShuffle %29 %344 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %346 = OpVectorShuffle %24 %345 %345 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %347 = OpVectorShuffle %24 %346 %343 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %348 = OpCompositeInsert %29 %183 %104 0
-; CHECK-NEXT: %349 = OpVectorShuffle %29 %348 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %350 = OpVectorShuffle %24 %349 %349 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %351 = OpVectorShuffle %24 %350 %347 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %352 = OpCompositeInsert %29 %191 %104 0
-; CHECK-NEXT: %353 = OpVectorShuffle %29 %352 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %354 = OpVectorShuffle %24 %353 %353 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %355 = OpVectorShuffle %24 %354 %351 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %356 = OpCompositeInsert %29 %199 %104 0
-; CHECK-NEXT: %357 = OpVectorShuffle %29 %356 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %358 = OpVectorShuffle %24 %357 %357 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %359 = OpVectorShuffle %24 %358 %355 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %360 = OpCompositeInsert %29 %207 %104 0
-; CHECK-NEXT: %361 = OpVectorShuffle %29 %360 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %362 = OpVectorShuffle %24 %361 %361 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %363 = OpVectorShuffle %24 %362 %359 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %364 = OpCompositeInsert %29 %215 %104 0
-; CHECK-NEXT: %365 = OpVectorShuffle %29 %364 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %366 = OpVectorShuffle %24 %365 %365 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %367 = OpVectorShuffle %24 %366 %363 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %368 = OpCompositeInsert %29 %223 %104 0
-; CHECK-NEXT: %369 = OpVectorShuffle %29 %368 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %370 = OpVectorShuffle %24 %369 %369 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %371 = OpVectorShuffle %24 %370 %367 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %372 = OpCompositeInsert %29 %168 %104 0
-; CHECK-NEXT: %373 = OpVectorShuffle %29 %372 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %374 = OpVectorShuffle %24 %373 %373 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %375 = OpVectorShuffle %24 %374 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %376 = OpCompositeInsert %29 %176 %104 0
-; CHECK-NEXT: %377 = OpVectorShuffle %29 %376 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %378 = OpVectorShuffle %24 %377 %377 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %379 = OpVectorShuffle %24 %378 %375 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %380 = OpCompositeInsert %29 %184 %104 0
-; CHECK-NEXT: %381 = OpVectorShuffle %29 %380 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %382 = OpVectorShuffle %24 %381 %381 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %383 = OpVectorShuffle %24 %382 %379 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %384 = OpCompositeInsert %29 %192 %104 0
-; CHECK-NEXT: %385 = OpVectorShuffle %29 %384 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %386 = OpVectorShuffle %24 %385 %385 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %387 = OpVectorShuffle %24 %386 %383 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %388 = OpCompositeInsert %29 %200 %104 0
-; CHECK-NEXT: %389 = OpVectorShuffle %29 %388 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %390 = OpVectorShuffle %24 %389 %389 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %391 = OpVectorShuffle %24 %390 %387 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %392 = OpCompositeInsert %29 %208 %104 0
-; CHECK-NEXT: %393 = OpVectorShuffle %29 %392 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %394 = OpVectorShuffle %24 %393 %393 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %395 = OpVectorShuffle %24 %394 %391 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %396 = OpCompositeInsert %29 %216 %104 0
-; CHECK-NEXT: %397 = OpVectorShuffle %29 %396 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %398 = OpVectorShuffle %24 %397 %397 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %399 = OpVectorShuffle %24 %398 %395 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %400 = OpCompositeInsert %29 %224 %104 0
-; CHECK-NEXT: %401 = OpVectorShuffle %29 %400 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %402 = OpVectorShuffle %24 %401 %401 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %403 = OpVectorShuffle %24 %402 %399 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %404 = OpCompositeInsert %29 %169 %104 0
-; CHECK-NEXT: %405 = OpVectorShuffle %29 %404 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %406 = OpVectorShuffle %24 %405 %405 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %407 = OpVectorShuffle %24 %406 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %408 = OpCompositeInsert %29 %177 %104 0
-; CHECK-NEXT: %409 = OpVectorShuffle %29 %408 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %410 = OpVectorShuffle %24 %409 %409 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %411 = OpVectorShuffle %24 %410 %407 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %412 = OpCompositeInsert %29 %185 %104 0
-; CHECK-NEXT: %413 = OpVectorShuffle %29 %412 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %414 = OpVectorShuffle %24 %413 %413 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %415 = OpVectorShuffle %24 %414 %411 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %416 = OpCompositeInsert %29 %193 %104 0
-; CHECK-NEXT: %417 = OpVectorShuffle %29 %416 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %418 = OpVectorShuffle %24 %417 %417 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %419 = OpVectorShuffle %24 %418 %415 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %420 = OpCompositeInsert %29 %201 %104 0
-; CHECK-NEXT: %421 = OpVectorShuffle %29 %420 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %422 = OpVectorShuffle %24 %421 %421 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %423 = OpVectorShuffle %24 %422 %419 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %424 = OpCompositeInsert %29 %209 %104 0
-; CHECK-NEXT: %425 = OpVectorShuffle %29 %424 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %426 = OpVectorShuffle %24 %425 %425 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %427 = OpVectorShuffle %24 %426 %423 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %428 = OpCompositeInsert %29 %217 %104 0
-; CHECK-NEXT: %429 = OpVectorShuffle %29 %428 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %430 = OpVectorShuffle %24 %429 %429 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %431 = OpVectorShuffle %24 %430 %427 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %432 = OpCompositeInsert %29 %225 %104 0
-; CHECK-NEXT: %433 = OpVectorShuffle %29 %432 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %434 = OpVectorShuffle %24 %433 %433 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %435 = OpVectorShuffle %24 %434 %431 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %436 = OpCompositeInsert %29 %170 %104 0
-; CHECK-NEXT: %437 = OpVectorShuffle %29 %436 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %438 = OpVectorShuffle %24 %437 %437 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %439 = OpVectorShuffle %24 %438 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %440 = OpCompositeInsert %29 %178 %104 0
-; CHECK-NEXT: %441 = OpVectorShuffle %29 %440 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %442 = OpVectorShuffle %24 %441 %441 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %443 = OpVectorShuffle %24 %442 %439 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %444 = OpCompositeInsert %29 %186 %104 0
-; CHECK-NEXT: %445 = OpVectorShuffle %29 %444 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %446 = OpVectorShuffle %24 %445 %445 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %447 = OpVectorShuffle %24 %446 %443 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %448 = OpCompositeInsert %29 %194 %104 0
-; CHECK-NEXT: %449 = OpVectorShuffle %29 %448 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %450 = OpVectorShuffle %24 %449 %449 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %451 = OpVectorShuffle %24 %450 %447 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %452 = OpCompositeInsert %29 %202 %104 0
-; CHECK-NEXT: %453 = OpVectorShuffle %29 %452 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %454 = OpVectorShuffle %24 %453 %453 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %455 = OpVectorShuffle %24 %454 %451 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %456 = OpCompositeInsert %29 %210 %104 0
-; CHECK-NEXT: %457 = OpVectorShuffle %29 %456 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %458 = OpVectorShuffle %24 %457 %457 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %459 = OpVectorShuffle %24 %458 %455 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %460 = OpCompositeInsert %29 %218 %104 0
-; CHECK-NEXT: %461 = OpVectorShuffle %29 %460 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %462 = OpVectorShuffle %24 %461 %461 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %463 = OpVectorShuffle %24 %462 %459 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %464 = OpCompositeInsert %29 %226 %104 0
-; CHECK-NEXT: %465 = OpVectorShuffle %29 %464 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %466 = OpVectorShuffle %24 %465 %465 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %467 = OpVectorShuffle %24 %466 %463 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %468 = OpCompositeInsert %29 %171 %104 0
-; CHECK-NEXT: %469 = OpVectorShuffle %29 %468 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %470 = OpVectorShuffle %24 %469 %469 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %471 = OpVectorShuffle %24 %470 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %472 = OpCompositeInsert %29 %179 %104 0
-; CHECK-NEXT: %473 = OpVectorShuffle %29 %472 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %474 = OpVectorShuffle %24 %473 %473 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %475 = OpVectorShuffle %24 %474 %471 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %476 = OpCompositeInsert %29 %187 %104 0
-; CHECK-NEXT: %477 = OpVectorShuffle %29 %476 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %478 = OpVectorShuffle %24 %477 %477 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %479 = OpVectorShuffle %24 %478 %475 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %480 = OpCompositeInsert %29 %195 %104 0
-; CHECK-NEXT: %481 = OpVectorShuffle %29 %480 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %482 = OpVectorShuffle %24 %481 %481 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %483 = OpVectorShuffle %24 %482 %479 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %484 = OpCompositeInsert %29 %203 %104 0
-; CHECK-NEXT: %485 = OpVectorShuffle %29 %484 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %486 = OpVectorShuffle %24 %485 %485 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %487 = OpVectorShuffle %24 %486 %483 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %488 = OpCompositeInsert %29 %211 %104 0
-; CHECK-NEXT: %489 = OpVectorShuffle %29 %488 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %490 = OpVectorShuffle %24 %489 %489 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %491 = OpVectorShuffle %24 %490 %487 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %492 = OpCompositeInsert %29 %219 %104 0
-; CHECK-NEXT: %493 = OpVectorShuffle %29 %492 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %494 = OpVectorShuffle %24 %493 %493 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %495 = OpVectorShuffle %24 %494 %491 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %496 = OpCompositeInsert %29 %227 %104 0
-; CHECK-NEXT: %497 = OpVectorShuffle %29 %496 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %498 = OpVectorShuffle %24 %497 %497 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %499 = OpVectorShuffle %24 %498 %495 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %500 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %501 = OpVectorShuffle %24 %500 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %502 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %503 = OpVectorShuffle %24 %502 %501 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %504 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %505 = OpVectorShuffle %24 %504 %503 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %506 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %507 = OpVectorShuffle %24 %506 %505 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %508 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %509 = OpVectorShuffle %24 %508 %507 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %510 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %511 = OpVectorShuffle %24 %510 %509 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %512 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %513 = OpVectorShuffle %24 %512 %511 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %514 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %515 = OpVectorShuffle %24 %514 %513 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %516 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %517 = OpVectorShuffle %24 %516 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %518 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %519 = OpVectorShuffle %24 %518 %517 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %520 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %521 = OpVectorShuffle %24 %520 %519 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %522 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %523 = OpVectorShuffle %24 %522 %521 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %524 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %525 = OpVectorShuffle %24 %524 %523 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %526 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %527 = OpVectorShuffle %24 %526 %525 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %528 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %529 = OpVectorShuffle %24 %528 %527 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %530 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %531 = OpVectorShuffle %24 %530 %529 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %532 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %533 = OpVectorShuffle %24 %532 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %534 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %535 = OpVectorShuffle %24 %534 %533 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %536 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %537 = OpVectorShuffle %24 %536 %535 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %538 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %539 = OpVectorShuffle %24 %538 %537 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %540 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %541 = OpVectorShuffle %24 %540 %539 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %542 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %543 = OpVectorShuffle %24 %542 %541 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %544 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %545 = OpVectorShuffle %24 %544 %543 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %546 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %547 = OpVectorShuffle %24 %546 %545 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %548 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %549 = OpVectorShuffle %24 %548 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %550 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %551 = OpVectorShuffle %24 %550 %549 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %552 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %553 = OpVectorShuffle %24 %552 %551 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %554 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %555 = OpVectorShuffle %24 %554 %553 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %556 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %557 = OpVectorShuffle %24 %556 %555 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %558 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %559 = OpVectorShuffle %24 %558 %557 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %560 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %561 = OpVectorShuffle %24 %560 %559 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %562 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %563 = OpVectorShuffle %24 %562 %561 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %564 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %565 = OpVectorShuffle %24 %564 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %566 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %567 = OpVectorShuffle %24 %566 %565 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %568 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %569 = OpVectorShuffle %24 %568 %567 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %570 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %571 = OpVectorShuffle %24 %570 %569 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %572 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %573 = OpVectorShuffle %24 %572 %571 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %574 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %575 = OpVectorShuffle %24 %574 %573 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %576 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %577 = OpVectorShuffle %24 %576 %575 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %578 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %579 = OpVectorShuffle %24 %578 %577 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %580 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %581 = OpVectorShuffle %24 %580 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %582 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %583 = OpVectorShuffle %24 %582 %581 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %584 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %585 = OpVectorShuffle %24 %584 %583 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %586 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %587 = OpVectorShuffle %24 %586 %585 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %588 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %589 = OpVectorShuffle %24 %588 %587 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %590 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %591 = OpVectorShuffle %24 %590 %589 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %592 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %593 = OpVectorShuffle %24 %592 %591 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %594 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %595 = OpVectorShuffle %24 %594 %593 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %596 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %597 = OpVectorShuffle %24 %596 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %598 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %599 = OpVectorShuffle %24 %598 %597 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %600 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %601 = OpVectorShuffle %24 %600 %599 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %602 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %603 = OpVectorShuffle %24 %602 %601 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %604 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %605 = OpVectorShuffle %24 %604 %603 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %606 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %607 = OpVectorShuffle %24 %606 %605 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %608 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %609 = OpVectorShuffle %24 %608 %607 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %610 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %611 = OpVectorShuffle %24 %610 %609 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %612 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %613 = OpVectorShuffle %24 %612 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %614 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %615 = OpVectorShuffle %24 %614 %613 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %616 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %617 = OpVectorShuffle %24 %616 %615 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %618 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %619 = OpVectorShuffle %24 %618 %617 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %620 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %621 = OpVectorShuffle %24 %620 %619 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %622 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %623 = OpVectorShuffle %24 %622 %621 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %624 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %625 = OpVectorShuffle %24 %624 %623 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %626 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %627 = OpVectorShuffle %24 %626 %625 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %628 = OpFunctionCall %24 %107 %499 %627 %106
-; CHECK-NEXT: %629 = OpFunctionCall %24 %107 %467 %611 %628
-; CHECK-NEXT: %630 = OpFunctionCall %24 %107 %435 %595 %629
-; CHECK-NEXT: %631 = OpFunctionCall %24 %107 %403 %579 %630
-; CHECK-NEXT: %632 = OpFunctionCall %24 %107 %371 %563 %631
-; CHECK-NEXT: %633 = OpFunctionCall %24 %107 %339 %547 %632
-; CHECK-NEXT: %634 = OpFunctionCall %24 %107 %307 %531 %633
-; CHECK-NEXT: %635 = OpFunctionCall %24 %107 %275 %515 %634
-; CHECK-NEXT: %636 = OpVectorShuffle %29 %635 %635 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %637 = OpVectorShuffle %29 %635 %635 8 9 10 11 12 13 14 15
-; CHECK-NEXT: %638 = OpVectorShuffle %29 %635 %635 16 17 18 19 20 21 22 23
-; CHECK-NEXT: %639 = OpVectorShuffle %29 %635 %635 24 25 26 27 28 29 30 31
-; CHECK-NEXT: %640 = OpVectorShuffle %29 %635 %635 32 33 34 35 36 37 38 39
-; CHECK-NEXT: %641 = OpVectorShuffle %29 %635 %635 40 41 42 43 44 45 46 47
-; CHECK-NEXT: %642 = OpVectorShuffle %29 %635 %635 48 49 50 51 52 53 54 55
-; CHECK-NEXT: %643 = OpVectorShuffle %29 %635 %635 56 57 58 59 60 61 62 63
-; CHECK-NEXT: %644 = OpBitcast %31 %98
-; CHECK-NEXT: %645 = OpLoad %29 %644 Aligned 4
-; CHECK-NEXT: %646 = OpBitcast %31 %131
-; CHECK-NEXT: %647 = OpLoad %29 %646 Aligned 4
-; CHECK-NEXT: %648 = OpBitcast %31 %132
-; CHECK-NEXT: %649 = OpLoad %29 %648 Aligned 4
-; CHECK-NEXT: %650 = OpBitcast %31 %133
-; CHECK-NEXT: %651 = OpLoad %29 %650 Aligned 4
-; CHECK-NEXT: %652 = OpBitcast %31 %134
-; CHECK-NEXT: %653 = OpLoad %29 %652 Aligned 4
-; CHECK-NEXT: %654 = OpBitcast %31 %135
-; CHECK-NEXT: %655 = OpLoad %29 %654 Aligned 4
-; CHECK-NEXT: %656 = OpBitcast %31 %136
-; CHECK-NEXT: %657 = OpLoad %29 %656 Aligned 4
-; CHECK-NEXT: %658 = OpBitcast %31 %137
-; CHECK-NEXT: %659 = OpLoad %29 %658 Aligned 4
-; CHECK-NEXT: %660 = OpCompositeExtract %16 %645 0
-; CHECK-NEXT: %661 = OpCompositeExtract %16 %645 1
-; CHECK-NEXT: %662 = OpCompositeExtract %16 %645 2
-; CHECK-NEXT: %663 = OpCompositeExtract %16 %645 3
-; CHECK-NEXT: %664 = OpCompositeExtract %16 %645 4
-; CHECK-NEXT: %665 = OpCompositeExtract %16 %645 5
-; CHECK-NEXT: %666 = OpCompositeExtract %16 %645 6
-; CHECK-NEXT: %667 = OpCompositeExtract %16 %645 7
-; CHECK-NEXT: %668 = OpCompositeExtract %16 %647 0
-; CHECK-NEXT: %669 = OpCompositeExtract %16 %647 1
-; CHECK-NEXT: %670 = OpCompositeExtract %16 %647 2
-; CHECK-NEXT: %671 = OpCompositeExtract %16 %647 3
-; CHECK-NEXT: %672 = OpCompositeExtract %16 %647 4
-; CHECK-NEXT: %673 = OpCompositeExtract %16 %647 5
-; CHECK-NEXT: %674 = OpCompositeExtract %16 %647 6
-; CHECK-NEXT: %675 = OpCompositeExtract %16 %647 7
-; CHECK-NEXT: %676 = OpCompositeExtract %16 %649 0
-; CHECK-NEXT: %677 = OpCompositeExtract %16 %649 1
-; CHECK-NEXT: %678 = OpCompositeExtract %16 %649 2
-; CHECK-NEXT: %679 = OpCompositeExtract %16 %649 3
-; CHECK-NEXT: %680 = OpCompositeExtract %16 %649 4
-; CHECK-NEXT: %681 = OpCompositeExtract %16 %649 5
-; CHECK-NEXT: %682 = OpCompositeExtract %16 %649 6
-; CHECK-NEXT: %683 = OpCompositeExtract %16 %649 7
-; CHECK-NEXT: %684 = OpCompositeExtract %16 %651 0
-; CHECK-NEXT: %685 = OpCompositeExtract %16 %651 1
-; CHECK-NEXT: %686 = OpCompositeExtract %16 %651 2
-; CHECK-NEXT: %687 = OpCompositeExtract %16 %651 3
-; CHECK-NEXT: %688 = OpCompositeExtract %16 %651 4
-; CHECK-NEXT: %689 = OpCompositeExtract %16 %651 5
-; CHECK-NEXT: %690 = OpCompositeExtract %16 %651 6
-; CHECK-NEXT: %691 = OpCompositeExtract %16 %651 7
-; CHECK-NEXT: %692 = OpCompositeExtract %16 %653 0
-; CHECK-NEXT: %693 = OpCompositeExtract %16 %653 1
-; CHECK-NEXT: %694 = OpCompositeExtract %16 %653 2
-; CHECK-NEXT: %695 = OpCompositeExtract %16 %653 3
-; CHECK-NEXT: %696 = OpCompositeExtract %16 %653 4
-; CHECK-NEXT: %697 = OpCompositeExtract %16 %653 5
-; CHECK-NEXT: %698 = OpCompositeExtract %16 %653 6
-; CHECK-NEXT: %699 = OpCompositeExtract %16 %653 7
-; CHECK-NEXT: %700 = OpCompositeExtract %16 %655 0
-; CHECK-NEXT: %701 = OpCompositeExtract %16 %655 1
-; CHECK-NEXT: %702 = OpCompositeExtract %16 %655 2
-; CHECK-NEXT: %703 = OpCompositeExtract %16 %655 3
-; CHECK-NEXT: %704 = OpCompositeExtract %16 %655 4
-; CHECK-NEXT: %705 = OpCompositeExtract %16 %655 5
-; CHECK-NEXT: %706 = OpCompositeExtract %16 %655 6
-; CHECK-NEXT: %707 = OpCompositeExtract %16 %655 7
-; CHECK-NEXT: %708 = OpCompositeExtract %16 %657 0
-; CHECK-NEXT: %709 = OpCompositeExtract %16 %657 1
-; CHECK-NEXT: %710 = OpCompositeExtract %16 %657 2
-; CHECK-NEXT: %711 = OpCompositeExtract %16 %657 3
-; CHECK-NEXT: %712 = OpCompositeExtract %16 %657 4
-; CHECK-NEXT: %713 = OpCompositeExtract %16 %657 5
-; CHECK-NEXT: %714 = OpCompositeExtract %16 %657 6
-; CHECK-NEXT: %715 = OpCompositeExtract %16 %657 7
-; CHECK-NEXT: %716 = OpCompositeExtract %16 %659 0
-; CHECK-NEXT: %717 = OpCompositeExtract %16 %659 1
-; CHECK-NEXT: %718 = OpCompositeExtract %16 %659 2
-; CHECK-NEXT: %719 = OpCompositeExtract %16 %659 3
-; CHECK-NEXT: %720 = OpCompositeExtract %16 %659 4
-; CHECK-NEXT: %721 = OpCompositeExtract %16 %659 5
-; CHECK-NEXT: %722 = OpCompositeExtract %16 %659 6
-; CHECK-NEXT: %723 = OpCompositeExtract %16 %659 7
-; CHECK-NEXT: %724 = OpCompositeInsert %29 %660 %104 0
-; CHECK-NEXT: %725 = OpVectorShuffle %29 %724 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %726 = OpVectorShuffle %24 %725 %725 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %727 = OpVectorShuffle %24 %726 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %728 = OpCompositeInsert %29 %668 %104 0
-; CHECK-NEXT: %729 = OpVectorShuffle %29 %728 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %730 = OpVectorShuffle %24 %729 %729 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %731 = OpVectorShuffle %24 %730 %727 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %732 = OpCompositeInsert %29 %676 %104 0
-; CHECK-NEXT: %733 = OpVectorShuffle %29 %732 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %734 = OpVectorShuffle %24 %733 %733 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %735 = OpVectorShuffle %24 %734 %731 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %736 = OpCompositeInsert %29 %684 %104 0
-; CHECK-NEXT: %737 = OpVectorShuffle %29 %736 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %738 = OpVectorShuffle %24 %737 %737 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %739 = OpVectorShuffle %24 %738 %735 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %740 = OpCompositeInsert %29 %692 %104 0
-; CHECK-NEXT: %741 = OpVectorShuffle %29 %740 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %742 = OpVectorShuffle %24 %741 %741 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %743 = OpVectorShuffle %24 %742 %739 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %744 = OpCompositeInsert %29 %700 %104 0
-; CHECK-NEXT: %745 = OpVectorShuffle %29 %744 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %746 = OpVectorShuffle %24 %745 %745 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %747 = OpVectorShuffle %24 %746 %743 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %748 = OpCompositeInsert %29 %708 %104 0
-; CHECK-NEXT: %749 = OpVectorShuffle %29 %748 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %750 = OpVectorShuffle %24 %749 %749 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %751 = OpVectorShuffle %24 %750 %747 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %752 = OpCompositeInsert %29 %716 %104 0
-; CHECK-NEXT: %753 = OpVectorShuffle %29 %752 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %754 = OpVectorShuffle %24 %753 %753 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %755 = OpVectorShuffle %24 %754 %751 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %756 = OpCompositeInsert %29 %661 %104 0
-; CHECK-NEXT: %757 = OpVectorShuffle %29 %756 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %758 = OpVectorShuffle %24 %757 %757 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %759 = OpVectorShuffle %24 %758 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %760 = OpCompositeInsert %29 %669 %104 0
-; CHECK-NEXT: %761 = OpVectorShuffle %29 %760 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %762 = OpVectorShuffle %24 %761 %761 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %763 = OpVectorShuffle %24 %762 %759 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %764 = OpCompositeInsert %29 %677 %104 0
-; CHECK-NEXT: %765 = OpVectorShuffle %29 %764 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %766 = OpVectorShuffle %24 %765 %765 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %767 = OpVectorShuffle %24 %766 %763 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %768 = OpCompositeInsert %29 %685 %104 0
-; CHECK-NEXT: %769 = OpVectorShuffle %29 %768 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %770 = OpVectorShuffle %24 %769 %769 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %771 = OpVectorShuffle %24 %770 %767 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %772 = OpCompositeInsert %29 %693 %104 0
-; CHECK-NEXT: %773 = OpVectorShuffle %29 %772 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %774 = OpVectorShuffle %24 %773 %773 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %775 = OpVectorShuffle %24 %774 %771 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %776 = OpCompositeInsert %29 %701 %104 0
-; CHECK-NEXT: %777 = OpVectorShuffle %29 %776 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %778 = OpVectorShuffle %24 %777 %777 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %779 = OpVectorShuffle %24 %778 %775 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %780 = OpCompositeInsert %29 %709 %104 0
-; CHECK-NEXT: %781 = OpVectorShuffle %29 %780 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %782 = OpVectorShuffle %24 %781 %781 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %783 = OpVectorShuffle %24 %782 %779 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %784 = OpCompositeInsert %29 %717 %104 0
-; CHECK-NEXT: %785 = OpVectorShuffle %29 %784 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %786 = OpVectorShuffle %24 %785 %785 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %787 = OpVectorShuffle %24 %786 %783 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %788 = OpCompositeInsert %29 %662 %104 0
-; CHECK-NEXT: %789 = OpVectorShuffle %29 %788 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %790 = OpVectorShuffle %24 %789 %789 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %791 = OpVectorShuffle %24 %790 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %792 = OpCompositeInsert %29 %670 %104 0
-; CHECK-NEXT: %793 = OpVectorShuffle %29 %792 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %794 = OpVectorShuffle %24 %793 %793 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %795 = OpVectorShuffle %24 %794 %791 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %796 = OpCompositeInsert %29 %678 %104 0
-; CHECK-NEXT: %797 = OpVectorShuffle %29 %796 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %798 = OpVectorShuffle %24 %797 %797 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %799 = OpVectorShuffle %24 %798 %795 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %800 = OpCompositeInsert %29 %686 %104 0
-; CHECK-NEXT: %801 = OpVectorShuffle %29 %800 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %802 = OpVectorShuffle %24 %801 %801 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %803 = OpVectorShuffle %24 %802 %799 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %804 = OpCompositeInsert %29 %694 %104 0
-; CHECK-NEXT: %805 = OpVectorShuffle %29 %804 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %806 = OpVectorShuffle %24 %805 %805 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %807 = OpVectorShuffle %24 %806 %803 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %808 = OpCompositeInsert %29 %702 %104 0
-; CHECK-NEXT: %809 = OpVectorShuffle %29 %808 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %810 = OpVectorShuffle %24 %809 %809 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %811 = OpVectorShuffle %24 %810 %807 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %812 = OpCompositeInsert %29 %710 %104 0
-; CHECK-NEXT: %813 = OpVectorShuffle %29 %812 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %814 = OpVectorShuffle %24 %813 %813 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %815 = OpVectorShuffle %24 %814 %811 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %816 = OpCompositeInsert %29 %718 %104 0
-; CHECK-NEXT: %817 = OpVectorShuffle %29 %816 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %818 = OpVectorShuffle %24 %817 %817 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %819 = OpVectorShuffle %24 %818 %815 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %820 = OpCompositeInsert %29 %663 %104 0
-; CHECK-NEXT: %821 = OpVectorShuffle %29 %820 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %822 = OpVectorShuffle %24 %821 %821 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %823 = OpVectorShuffle %24 %822 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %824 = OpCompositeInsert %29 %671 %104 0
-; CHECK-NEXT: %825 = OpVectorShuffle %29 %824 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %826 = OpVectorShuffle %24 %825 %825 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %827 = OpVectorShuffle %24 %826 %823 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %828 = OpCompositeInsert %29 %679 %104 0
-; CHECK-NEXT: %829 = OpVectorShuffle %29 %828 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %830 = OpVectorShuffle %24 %829 %829 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %831 = OpVectorShuffle %24 %830 %827 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %832 = OpCompositeInsert %29 %687 %104 0
-; CHECK-NEXT: %833 = OpVectorShuffle %29 %832 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %834 = OpVectorShuffle %24 %833 %833 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %835 = OpVectorShuffle %24 %834 %831 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %836 = OpCompositeInsert %29 %695 %104 0
-; CHECK-NEXT: %837 = OpVectorShuffle %29 %836 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %838 = OpVectorShuffle %24 %837 %837 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %839 = OpVectorShuffle %24 %838 %835 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %840 = OpCompositeInsert %29 %703 %104 0
-; CHECK-NEXT: %841 = OpVectorShuffle %29 %840 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %842 = OpVectorShuffle %24 %841 %841 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %843 = OpVectorShuffle %24 %842 %839 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %844 = OpCompositeInsert %29 %711 %104 0
-; CHECK-NEXT: %845 = OpVectorShuffle %29 %844 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %846 = OpVectorShuffle %24 %845 %845 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %847 = OpVectorShuffle %24 %846 %843 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %848 = OpCompositeInsert %29 %719 %104 0
-; CHECK-NEXT: %849 = OpVectorShuffle %29 %848 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %850 = OpVectorShuffle %24 %849 %849 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %851 = OpVectorShuffle %24 %850 %847 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %852 = OpCompositeInsert %29 %664 %104 0
-; CHECK-NEXT: %853 = OpVectorShuffle %29 %852 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %854 = OpVectorShuffle %24 %853 %853 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %855 = OpVectorShuffle %24 %854 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %856 = OpCompositeInsert %29 %672 %104 0
-; CHECK-NEXT: %857 = OpVectorShuffle %29 %856 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %858 = OpVectorShuffle %24 %857 %857 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %859 = OpVectorShuffle %24 %858 %855 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %860 = OpCompositeInsert %29 %680 %104 0
-; CHECK-NEXT: %861 = OpVectorShuffle %29 %860 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %862 = OpVectorShuffle %24 %861 %861 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %863 = OpVectorShuffle %24 %862 %859 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %864 = OpCompositeInsert %29 %688 %104 0
-; CHECK-NEXT: %865 = OpVectorShuffle %29 %864 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %866 = OpVectorShuffle %24 %865 %865 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %867 = OpVectorShuffle %24 %866 %863 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %868 = OpCompositeInsert %29 %696 %104 0
-; CHECK-NEXT: %869 = OpVectorShuffle %29 %868 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %870 = OpVectorShuffle %24 %869 %869 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %871 = OpVectorShuffle %24 %870 %867 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %872 = OpCompositeInsert %29 %704 %104 0
-; CHECK-NEXT: %873 = OpVectorShuffle %29 %872 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %874 = OpVectorShuffle %24 %873 %873 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %875 = OpVectorShuffle %24 %874 %871 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %876 = OpCompositeInsert %29 %712 %104 0
-; CHECK-NEXT: %877 = OpVectorShuffle %29 %876 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %878 = OpVectorShuffle %24 %877 %877 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %879 = OpVectorShuffle %24 %878 %875 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %880 = OpCompositeInsert %29 %720 %104 0
-; CHECK-NEXT: %881 = OpVectorShuffle %29 %880 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %882 = OpVectorShuffle %24 %881 %881 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %883 = OpVectorShuffle %24 %882 %879 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %884 = OpCompositeInsert %29 %665 %104 0
-; CHECK-NEXT: %885 = OpVectorShuffle %29 %884 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %886 = OpVectorShuffle %24 %885 %885 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %887 = OpVectorShuffle %24 %886 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %888 = OpCompositeInsert %29 %673 %104 0
-; CHECK-NEXT: %889 = OpVectorShuffle %29 %888 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %890 = OpVectorShuffle %24 %889 %889 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %891 = OpVectorShuffle %24 %890 %887 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %892 = OpCompositeInsert %29 %681 %104 0
-; CHECK-NEXT: %893 = OpVectorShuffle %29 %892 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %894 = OpVectorShuffle %24 %893 %893 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %895 = OpVectorShuffle %24 %894 %891 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %896 = OpCompositeInsert %29 %689 %104 0
-; CHECK-NEXT: %897 = OpVectorShuffle %29 %896 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %898 = OpVectorShuffle %24 %897 %897 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %899 = OpVectorShuffle %24 %898 %895 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %900 = OpCompositeInsert %29 %697 %104 0
-; CHECK-NEXT: %901 = OpVectorShuffle %29 %900 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %902 = OpVectorShuffle %24 %901 %901 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %903 = OpVectorShuffle %24 %902 %899 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %904 = OpCompositeInsert %29 %705 %104 0
-; CHECK-NEXT: %905 = OpVectorShuffle %29 %904 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %906 = OpVectorShuffle %24 %905 %905 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %907 = OpVectorShuffle %24 %906 %903 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %908 = OpCompositeInsert %29 %713 %104 0
-; CHECK-NEXT: %909 = OpVectorShuffle %29 %908 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %910 = OpVectorShuffle %24 %909 %909 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %911 = OpVectorShuffle %24 %910 %907 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %912 = OpCompositeInsert %29 %721 %104 0
-; CHECK-NEXT: %913 = OpVectorShuffle %29 %912 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %914 = OpVectorShuffle %24 %913 %913 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %915 = OpVectorShuffle %24 %914 %911 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %916 = OpCompositeInsert %29 %666 %104 0
-; CHECK-NEXT: %917 = OpVectorShuffle %29 %916 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %918 = OpVectorShuffle %24 %917 %917 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %919 = OpVectorShuffle %24 %918 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %920 = OpCompositeInsert %29 %674 %104 0
-; CHECK-NEXT: %921 = OpVectorShuffle %29 %920 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %922 = OpVectorShuffle %24 %921 %921 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %923 = OpVectorShuffle %24 %922 %919 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %924 = OpCompositeInsert %29 %682 %104 0
-; CHECK-NEXT: %925 = OpVectorShuffle %29 %924 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %926 = OpVectorShuffle %24 %925 %925 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %927 = OpVectorShuffle %24 %926 %923 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %928 = OpCompositeInsert %29 %690 %104 0
-; CHECK-NEXT: %929 = OpVectorShuffle %29 %928 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %930 = OpVectorShuffle %24 %929 %929 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %931 = OpVectorShuffle %24 %930 %927 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %932 = OpCompositeInsert %29 %698 %104 0
-; CHECK-NEXT: %933 = OpVectorShuffle %29 %932 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %934 = OpVectorShuffle %24 %933 %933 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %935 = OpVectorShuffle %24 %934 %931 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %936 = OpCompositeInsert %29 %706 %104 0
-; CHECK-NEXT: %937 = OpVectorShuffle %29 %936 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %938 = OpVectorShuffle %24 %937 %937 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %939 = OpVectorShuffle %24 %938 %935 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %940 = OpCompositeInsert %29 %714 %104 0
-; CHECK-NEXT: %941 = OpVectorShuffle %29 %940 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %942 = OpVectorShuffle %24 %941 %941 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %943 = OpVectorShuffle %24 %942 %939 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %944 = OpCompositeInsert %29 %722 %104 0
-; CHECK-NEXT: %945 = OpVectorShuffle %29 %944 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %946 = OpVectorShuffle %24 %945 %945 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %947 = OpVectorShuffle %24 %946 %943 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %948 = OpCompositeInsert %29 %667 %104 0
-; CHECK-NEXT: %949 = OpVectorShuffle %29 %948 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %950 = OpVectorShuffle %24 %949 %949 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %951 = OpVectorShuffle %24 %950 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %952 = OpCompositeInsert %29 %675 %104 0
-; CHECK-NEXT: %953 = OpVectorShuffle %29 %952 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %954 = OpVectorShuffle %24 %953 %953 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %955 = OpVectorShuffle %24 %954 %951 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %956 = OpCompositeInsert %29 %683 %104 0
-; CHECK-NEXT: %957 = OpVectorShuffle %29 %956 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %958 = OpVectorShuffle %24 %957 %957 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %959 = OpVectorShuffle %24 %958 %955 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %960 = OpCompositeInsert %29 %691 %104 0
-; CHECK-NEXT: %961 = OpVectorShuffle %29 %960 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %962 = OpVectorShuffle %24 %961 %961 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %963 = OpVectorShuffle %24 %962 %959 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %964 = OpCompositeInsert %29 %699 %104 0
-; CHECK-NEXT: %965 = OpVectorShuffle %29 %964 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %966 = OpVectorShuffle %24 %965 %965 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %967 = OpVectorShuffle %24 %966 %963 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %968 = OpCompositeInsert %29 %707 %104 0
-; CHECK-NEXT: %969 = OpVectorShuffle %29 %968 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %970 = OpVectorShuffle %24 %969 %969 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %971 = OpVectorShuffle %24 %970 %967 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %972 = OpCompositeInsert %29 %715 %104 0
-; CHECK-NEXT: %973 = OpVectorShuffle %29 %972 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %974 = OpVectorShuffle %24 %973 %973 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %975 = OpVectorShuffle %24 %974 %971 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %976 = OpCompositeInsert %29 %723 %104 0
-; CHECK-NEXT: %977 = OpVectorShuffle %29 %976 %104 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %978 = OpVectorShuffle %24 %977 %977 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %979 = OpVectorShuffle %24 %978 %975 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %980 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %981 = OpVectorShuffle %24 %980 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %982 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %983 = OpVectorShuffle %24 %982 %981 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %984 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %985 = OpVectorShuffle %24 %984 %983 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %986 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %987 = OpVectorShuffle %24 %986 %985 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %988 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %989 = OpVectorShuffle %24 %988 %987 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %990 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %991 = OpVectorShuffle %24 %990 %989 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %992 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %993 = OpVectorShuffle %24 %992 %991 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %994 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %995 = OpVectorShuffle %24 %994 %993 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %996 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %997 = OpVectorShuffle %24 %996 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %998 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %999 = OpVectorShuffle %24 %998 %997 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1000 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1001 = OpVectorShuffle %24 %1000 %999 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1002 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1003 = OpVectorShuffle %24 %1002 %1001 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1004 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1005 = OpVectorShuffle %24 %1004 %1003 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1006 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1007 = OpVectorShuffle %24 %1006 %1005 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1008 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1009 = OpVectorShuffle %24 %1008 %1007 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1010 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1011 = OpVectorShuffle %24 %1010 %1009 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1012 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1013 = OpVectorShuffle %24 %1012 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1014 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1015 = OpVectorShuffle %24 %1014 %1013 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1016 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1017 = OpVectorShuffle %24 %1016 %1015 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1018 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1019 = OpVectorShuffle %24 %1018 %1017 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1020 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1021 = OpVectorShuffle %24 %1020 %1019 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1022 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1023 = OpVectorShuffle %24 %1022 %1021 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1024 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1025 = OpVectorShuffle %24 %1024 %1023 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1026 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1027 = OpVectorShuffle %24 %1026 %1025 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1028 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1029 = OpVectorShuffle %24 %1028 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1030 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1031 = OpVectorShuffle %24 %1030 %1029 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1032 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1033 = OpVectorShuffle %24 %1032 %1031 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1034 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1035 = OpVectorShuffle %24 %1034 %1033 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1036 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1037 = OpVectorShuffle %24 %1036 %1035 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1038 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1039 = OpVectorShuffle %24 %1038 %1037 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1040 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1041 = OpVectorShuffle %24 %1040 %1039 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1042 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1043 = OpVectorShuffle %24 %1042 %1041 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1044 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1045 = OpVectorShuffle %24 %1044 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1046 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1047 = OpVectorShuffle %24 %1046 %1045 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1048 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1049 = OpVectorShuffle %24 %1048 %1047 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1050 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1051 = OpVectorShuffle %24 %1050 %1049 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1052 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1053 = OpVectorShuffle %24 %1052 %1051 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1054 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1055 = OpVectorShuffle %24 %1054 %1053 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1056 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1057 = OpVectorShuffle %24 %1056 %1055 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1058 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1059 = OpVectorShuffle %24 %1058 %1057 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1060 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1061 = OpVectorShuffle %24 %1060 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1062 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1063 = OpVectorShuffle %24 %1062 %1061 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1064 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1065 = OpVectorShuffle %24 %1064 %1063 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1066 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1067 = OpVectorShuffle %24 %1066 %1065 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1068 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1069 = OpVectorShuffle %24 %1068 %1067 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1070 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1071 = OpVectorShuffle %24 %1070 %1069 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1072 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1073 = OpVectorShuffle %24 %1072 %1071 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1074 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1075 = OpVectorShuffle %24 %1074 %1073 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1076 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1077 = OpVectorShuffle %24 %1076 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1078 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1079 = OpVectorShuffle %24 %1078 %1077 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1080 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1081 = OpVectorShuffle %24 %1080 %1079 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1082 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1083 = OpVectorShuffle %24 %1082 %1081 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1084 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1085 = OpVectorShuffle %24 %1084 %1083 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1086 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1087 = OpVectorShuffle %24 %1086 %1085 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1088 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1089 = OpVectorShuffle %24 %1088 %1087 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1090 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1091 = OpVectorShuffle %24 %1090 %1089 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1092 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1093 = OpVectorShuffle %24 %1092 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1094 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1095 = OpVectorShuffle %24 %1094 %1093 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1096 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1097 = OpVectorShuffle %24 %1096 %1095 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1098 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1099 = OpVectorShuffle %24 %1098 %1097 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1100 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1101 = OpVectorShuffle %24 %1100 %1099 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1102 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1103 = OpVectorShuffle %24 %1102 %1101 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1104 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1105 = OpVectorShuffle %24 %1104 %1103 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1106 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1107 = OpVectorShuffle %24 %1106 %1105 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1108 = OpFunctionCall %24 %107 %979 %1107 %106
-; CHECK-NEXT: %1109 = OpFunctionCall %24 %107 %947 %1091 %1108
-; CHECK-NEXT: %1110 = OpFunctionCall %24 %107 %915 %1075 %1109
-; CHECK-NEXT: %1111 = OpFunctionCall %24 %107 %883 %1059 %1110
-; CHECK-NEXT: %1112 = OpFunctionCall %24 %107 %851 %1043 %1111
-; CHECK-NEXT: %1113 = OpFunctionCall %24 %107 %819 %1027 %1112
-; CHECK-NEXT: %1114 = OpFunctionCall %24 %107 %787 %1011 %1113
-; CHECK-NEXT: %1115 = OpFunctionCall %24 %107 %755 %995 %1114
-; CHECK-NEXT: %1116 = OpVectorShuffle %29 %1115 %1115 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1117 = OpVectorShuffle %29 %1115 %1115 8 9 10 11 12 13 14 15
-; CHECK-NEXT: %1118 = OpVectorShuffle %29 %1115 %1115 16 17 18 19 20 21 22 23
-; CHECK-NEXT: %1119 = OpVectorShuffle %29 %1115 %1115 24 25 26 27 28 29 30 31
-; CHECK-NEXT: %1120 = OpVectorShuffle %29 %1115 %1115 32 33 34 35 36 37 38 39
-; CHECK-NEXT: %1121 = OpVectorShuffle %29 %1115 %1115 40 41 42 43 44 45 46 47
-; CHECK-NEXT: %1122 = OpVectorShuffle %29 %1115 %1115 48 49 50 51 52 53 54 55
-; CHECK-NEXT: %1123 = OpVectorShuffle %29 %1115 %1115 56 57 58 59 60 61 62 63
-; CHECK-NEXT: OpBranch %2369
-; CHECK-NEXT: %2369 = OpLabel
-; CHECK-NEXT: %1124 = OpPhi %20 %1125 %2370 %47 %2368
-; CHECK-NEXT: %1126 = OpSLessThan %34 %1124 %35
-; CHECK-NEXT: OpBranchConditional %1126 %2370 %2
+; CHECK: %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 %2371
-; CHECK-NEXT: %2371 = OpLabel
-; CHECK-NEXT: %1127 = OpPhi %20 %1128 %2372 %47 %2
-; CHECK-NEXT: %1129 = OpSLessThan %34 %1127 %35
-; CHECK-NEXT: OpBranchConditional %1129 %2372 %3
+; CHECK-NEXT: 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 %2373
-; CHECK-NEXT: %2373 = OpLabel
-; CHECK-NEXT: %1130 = OpPhi %20 %1131 %2374 %47 %3
-; CHECK-NEXT: %1132 = OpSLessThan %34 %1130 %35
-; CHECK-NEXT: OpBranchConditional %1132 %2374 %4
+; CHECK-NEXT: 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 %2375
-; CHECK-NEXT: %2375 = OpLabel
-; CHECK-NEXT: %1133 = OpPhi %20 %1134 %2376 %47 %4
-; CHECK-NEXT: %1135 = OpSLessThan %34 %1133 %35
-; CHECK-NEXT: OpBranchConditional %1135 %2376 %5
+; CHECK-NEXT: 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 %2377
-; CHECK-NEXT: %2377 = OpLabel
-; CHECK-NEXT: %1136 = OpPhi %20 %1137 %2378 %47 %5
-; CHECK-NEXT: %1138 = OpSLessThan %34 %1136 %35
-; CHECK-NEXT: OpBranchConditional %1138 %2378 %6
+; CHECK-NEXT: 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 %2379
-; CHECK-NEXT: %2379 = OpLabel
-; CHECK-NEXT: %1139 = OpPhi %20 %1140 %2380 %47 %6
-; CHECK-NEXT: %1141 = OpSLessThan %34 %1139 %35
-; CHECK-NEXT: OpBranchConditional %1141 %2380 %7
+; CHECK-NEXT: 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 %2381
-; CHECK-NEXT: %2381 = OpLabel
-; CHECK-NEXT: %1142 = OpPhi %20 %1143 %2382 %47 %7
-; CHECK-NEXT: %1144 = OpSLessThan %34 %1142 %35
-; CHECK-NEXT: OpBranchConditional %1144 %2382 %8
+; CHECK-NEXT: 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 %2383
-; CHECK-NEXT: %2383 = OpLabel
-; CHECK-NEXT: %1145 = OpPhi %20 %1146 %2384 %47 %8
-; CHECK-NEXT: %1147 = OpSLessThan %34 %1145 %35
-; CHECK-NEXT: OpBranchConditional %1147 %2384 %2385
-; CHECK-NEXT: %2385 = OpLabel
+; CHECK-NEXT: 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: %2384 = OpLabel
-; CHECK-NEXT: %1148 = OpUConvert %33 %1145
-; CHECK-NEXT: %1149 = OpVectorExtractDynamic %16 %1123 %1148
-; CHECK-NEXT: %1150 = OpIAdd %33 %46 %1148
-; CHECK-NEXT: %1151 = OpIAdd %33 %1150 %49
-; CHECK-NEXT: %1152 = OpIAdd %33 %1151 %49
-; CHECK-NEXT: %1153 = OpIAdd %33 %1152 %49
-; CHECK-NEXT: %1154 = OpIAdd %33 %1153 %49
-; CHECK-NEXT: %1155 = OpInBoundsPtrAccessChain %17 %112 %1154
-; CHECK-NEXT: OpStore %1155 %1149 Aligned 4
-; CHECK-NEXT: %1146 = OpIAdd %20 %1145 %45
-; CHECK-NEXT: OpBranch %2383
-; CHECK-NEXT: %2382 = OpLabel
-; CHECK-NEXT: %1156 = OpUConvert %33 %1142
-; CHECK-NEXT: %1157 = OpVectorExtractDynamic %16 %1122 %1156
-; CHECK-NEXT: %1158 = OpIAdd %33 %44 %1156
-; CHECK-NEXT: %1159 = OpIAdd %33 %1158 %49
-; CHECK-NEXT: %1160 = OpIAdd %33 %1159 %49
-; CHECK-NEXT: %1161 = OpIAdd %33 %1160 %49
-; CHECK-NEXT: %1162 = OpIAdd %33 %1161 %49
-; CHECK-NEXT: %1163 = OpInBoundsPtrAccessChain %17 %112 %1162
-; CHECK-NEXT: OpStore %1163 %1157 Aligned 4
-; CHECK-NEXT: %1143 = OpIAdd %20 %1142 %45
-; CHECK-NEXT: OpBranch %2381
-; CHECK-NEXT: %2380 = OpLabel
-; CHECK-NEXT: %1164 = OpUConvert %33 %1139
-; CHECK-NEXT: %1165 = OpVectorExtractDynamic %16 %1121 %1164
-; CHECK-NEXT: %1166 = OpIAdd %33 %43 %1164
-; CHECK-NEXT: %1167 = OpIAdd %33 %1166 %49
-; CHECK-NEXT: %1168 = OpIAdd %33 %1167 %49
-; CHECK-NEXT: %1169 = OpIAdd %33 %1168 %49
-; CHECK-NEXT: %1170 = OpIAdd %33 %1169 %49
-; CHECK-NEXT: %1171 = OpInBoundsPtrAccessChain %17 %112 %1170
-; CHECK-NEXT: OpStore %1171 %1165 Aligned 4
-; CHECK-NEXT: %1140 = OpIAdd %20 %1139 %45
-; CHECK-NEXT: OpBranch %2379
-; CHECK-NEXT: %2378 = OpLabel
-; CHECK-NEXT: %1172 = OpUConvert %33 %1136
-; CHECK-NEXT: %1173 = OpVectorExtractDynamic %16 %1120 %1172
-; CHECK-NEXT: %1174 = OpIAdd %33 %59 %1172
-; CHECK-NEXT: %1175 = OpIAdd %33 %1174 %49
-; CHECK-NEXT: %1176 = OpIAdd %33 %1175 %49
-; CHECK-NEXT: %1177 = OpIAdd %33 %1176 %49
-; CHECK-NEXT: %1178 = OpIAdd %33 %1177 %49
-; CHECK-NEXT: %1179 = OpInBoundsPtrAccessChain %17 %112 %1178
-; CHECK-NEXT: OpStore %1179 %1173 Aligned 4
-; CHECK-NEXT: %1137 = OpIAdd %20 %1136 %45
-; CHECK-NEXT: OpBranch %2377
-; CHECK-NEXT: %2376 = OpLabel
-; CHECK-NEXT: %1180 = OpUConvert %33 %1133
-; CHECK-NEXT: %1181 = OpVectorExtractDynamic %16 %1119 %1180
-; CHECK-NEXT: %1182 = OpIAdd %33 %42 %1180
-; CHECK-NEXT: %1183 = OpIAdd %33 %1182 %49
-; CHECK-NEXT: %1184 = OpIAdd %33 %1183 %49
-; CHECK-NEXT: %1185 = OpIAdd %33 %1184 %49
-; CHECK-NEXT: %1186 = OpIAdd %33 %1185 %49
-; CHECK-NEXT: %1187 = OpInBoundsPtrAccessChain %17 %112 %1186
-; CHECK-NEXT: OpStore %1187 %1181 Aligned 4
-; CHECK-NEXT: %1134 = OpIAdd %20 %1133 %45
-; CHECK-NEXT: OpBranch %2375
-; CHECK-NEXT: %2374 = OpLabel
-; CHECK-NEXT: %1188 = OpUConvert %33 %1130
-; CHECK-NEXT: %1189 = OpVectorExtractDynamic %16 %1118 %1188
-; CHECK-NEXT: %1190 = OpIAdd %33 %41 %1188
-; CHECK-NEXT: %1191 = OpIAdd %33 %1190 %49
-; CHECK-NEXT: %1192 = OpIAdd %33 %1191 %49
-; CHECK-NEXT: %1193 = OpIAdd %33 %1192 %49
-; CHECK-NEXT: %1194 = OpIAdd %33 %1193 %49
-; CHECK-NEXT: %1195 = OpInBoundsPtrAccessChain %17 %112 %1194
-; CHECK-NEXT: OpStore %1195 %1189 Aligned 4
-; CHECK-NEXT: %1131 = OpIAdd %20 %1130 %45
-; CHECK-NEXT: OpBranch %2373
-; CHECK-NEXT: %2372 = OpLabel
-; CHECK-NEXT: %1196 = OpUConvert %33 %1127
-; CHECK-NEXT: %1197 = OpVectorExtractDynamic %16 %1117 %1196
-; CHECK-NEXT: %1198 = OpIAdd %33 %40 %1196
-; CHECK-NEXT: %1199 = OpIAdd %33 %1198 %49
-; CHECK-NEXT: %1200 = OpIAdd %33 %1199 %49
-; CHECK-NEXT: %1201 = OpIAdd %33 %1200 %49
-; CHECK-NEXT: %1202 = OpIAdd %33 %1201 %49
-; CHECK-NEXT: %1203 = OpInBoundsPtrAccessChain %17 %112 %1202
-; CHECK-NEXT: OpStore %1203 %1197 Aligned 4
-; CHECK-NEXT: %1128 = OpIAdd %20 %1127 %45
-; CHECK-NEXT: OpBranch %2371
-; CHECK-NEXT: %2370 = OpLabel
-; CHECK-NEXT: %1204 = OpUConvert %33 %1124
-; CHECK-NEXT: %1205 = OpVectorExtractDynamic %16 %1116 %1204
-; CHECK-NEXT: %1206 = OpIAdd %33 %49 %1204
-; CHECK-NEXT: %1207 = OpIAdd %33 %1206 %49
-; CHECK-NEXT: %1208 = OpIAdd %33 %1207 %49
-; CHECK-NEXT: %1209 = OpIAdd %33 %1208 %49
-; CHECK-NEXT: %1210 = OpIAdd %33 %1209 %49
-; CHECK-NEXT: %1211 = OpInBoundsPtrAccessChain %17 %112 %1210
-; CHECK-NEXT: OpStore %1211 %1205 Aligned 4
-; CHECK-NEXT: %1125 = OpIAdd %20 %1124 %45
-; CHECK-NEXT: OpBranch %2369
-; CHECK-NEXT: %2367 = OpLabel
-; CHECK-NEXT: %1212 = OpUConvert %33 %143
-; CHECK-NEXT: OpBranch %2386
-; CHECK-NEXT: %2386 = OpLabel
-; CHECK-NEXT: %1213 = OpPhi %20 %1214 %2387 %47 %2367
-; CHECK-NEXT: %1215 = OpSLessThan %34 %1213 %50
-; CHECK-NEXT: OpBranchConditional %1215 %2387 %2366
-; CHECK-NEXT: %2366 = OpLabel
-; CHECK-NEXT: %144 = OpIAdd %20 %143 %45
-; CHECK-NEXT: OpBranch %2365
-; CHECK-NEXT: %2387 = OpLabel
-; CHECK-NEXT: %1216 = OpUConvert %33 %1213
-; CHECK-NEXT: %1217 = OpIMul %33 %1212 %48
-; CHECK-NEXT: %1218 = OpIAdd %33 %49 %1217
-; CHECK-NEXT: %1219 = OpIAdd %33 %1218 %1216
-; CHECK-NEXT: %1220 = OpIAdd %33 %1219 %49
-; CHECK-NEXT: %1221 = OpInBoundsPtrAccessChain %17 %111 %1220
-; CHECK-NEXT: %1222 = OpLoad %16 %1221 Aligned 4
-; CHECK-NEXT: %1223 = OpIMul %33 %1212 %40
-; CHECK-NEXT: %1224 = OpIAdd %33 %1223 %1216
-; CHECK-NEXT: %1225 = OpBitcast %32 %99
-; CHECK-NEXT: %1226 = OpInBoundsPtrAccessChain %32 %1225 %1224
-; CHECK-NEXT: OpStore %1226 %1222 Aligned 4
-; CHECK-NEXT: %1214 = OpIAdd %20 %1213 %45
-; CHECK-NEXT: OpBranch %2386
-; CHECK-NEXT: %2363 = OpLabel
-; CHECK-NEXT: %1227 = OpUConvert %33 %138
-; CHECK-NEXT: OpBranch %2388
-; CHECK-NEXT: %2388 = OpLabel
-; CHECK-NEXT: %1228 = OpPhi %20 %1229 %2389 %47 %2363
-; CHECK-NEXT: %1230 = OpSLessThan %34 %1228 %35
-; CHECK-NEXT: OpBranchConditional %1230 %2389 %2362
-; CHECK-NEXT: %2362 = OpLabel
-; CHECK-NEXT: %139 = OpIAdd %20 %138 %45
-; CHECK-NEXT: OpBranch %2361
-; CHECK-NEXT: %2389 = OpLabel
-; CHECK-NEXT: %1231 = OpUConvert %33 %1228
-; CHECK-NEXT: %1232 = OpIMul %33 %1227 %40
-; CHECK-NEXT: %1233 = OpIAdd %33 %1232 %1231
-; CHECK-NEXT: %1234 = OpBitcast %32 %99
-; CHECK-NEXT: %1235 = OpInBoundsPtrAccessChain %32 %1234 %1233
-; CHECK-NEXT: OpStore %1235 %75 Aligned 4
-; CHECK-NEXT: %1229 = OpIAdd %20 %1228 %45
-; CHECK-NEXT: OpBranch %2388
+; CHECK-NEXT: %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
@@ -1372,14 +1372,14 @@ define spir_kernel void @_winograd_input_dispatch_0_winograd_input_transform_8x8
%112 = extractelement <8 x float> %50, i64 5
%113 = extractelement <8 x float> %50, i64 6
%114 = extractelement <8 x float> %50, i64 7
- %115 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
- %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
- %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
- %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
- %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
- %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
- %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
- %122 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+ %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>
@@ -1780,14 +1780,14 @@ define spir_kernel void @_winograd_input_dispatch_0_winograd_input_transform_8x8
%520 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
%521 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
%522 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
- %523 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
- %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
- %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
- %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
- %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
- %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
- %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
- %530 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+ %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
@@ -2402,1183 +2402,6 @@ define spir_kernel void @_winograd_input_dispatch_0_winograd_input_transform_8x8
ret void
}
-; Function Attrs: alwaysinline
-define spir_kernel void @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store(ptr addrspace(1) noalias noundef nonnull readonly align 16 %0, ptr addrspace(1) noalias noundef nonnull align 16 %1) addrspace(4) #0 {
- br label %3
-
-3: ; preds = %17, %2
- %4 = phi i32 [ %18, %17 ], [ 0, %2 ]
- %5 = icmp slt i32 %4, 8
- br i1 %5, label %6, label %19
-
-6: ; preds = %3
- %7 = zext i32 %4 to i64
- br label %8
-
-8: ; preds = %11, %6
- %9 = phi i32 [ %16, %11 ], [ 0, %6 ]
- %10 = icmp slt i32 %9, 8
- br i1 %10, label %11, label %17
-
-11: ; preds = %8
- %12 = zext i32 %9 to i64
- %13 = mul nuw nsw i64 %7, 8
- %14 = add nuw nsw i64 %13, %12
- %15 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %14
- store float 0.000000e+00, ptr addrspace(3) %15, align 4
- %16 = add i32 %9, 1
- br label %8
-
-17: ; preds = %8
- %18 = add i32 %4, 1
- br label %3
-
-19: ; preds = %3
- fence syncscope("workgroup") release, !mmra !2
- call void @llvm.amdgcn.s.barrier.signal(i32 -1)
- call void @llvm.amdgcn.s.barrier.wait(i16 -1)
- fence syncscope("workgroup") acquire, !mmra !2
- br label %20
-
-20: ; preds = %39, %19
- %21 = phi i32 [ %40, %39 ], [ 0, %19 ]
- %22 = icmp slt i32 %21, 6
- br i1 %22, label %23, label %41
-
-23: ; preds = %20
- %24 = zext i32 %21 to i64
- br label %25
-
-25: ; preds = %28, %23
- %26 = phi i32 [ %38, %28 ], [ 0, %23 ]
- %27 = icmp slt i32 %26, 6
- br i1 %27, label %28, label %39
-
-28: ; preds = %25
- %29 = zext i32 %26 to i64
- %30 = mul nuw nsw i64 %24, 6
- %31 = add nuw nsw i64 0, %30
- %32 = add nuw nsw i64 %31, %29
- %33 = getelementptr inbounds nuw float, ptr addrspace(1) %0, i64 %32
- %34 = load float, ptr addrspace(1) %33, align 4
- %35 = mul nuw nsw i64 %24, 8
- %36 = add nuw nsw i64 %35, %29
- %37 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %36
- store float %34, ptr addrspace(3) %37, align 4
- %38 = add i32 %26, 1
- br label %25
-
-39: ; preds = %25
- %40 = add i32 %21, 1
- br label %20
-
-41: ; preds = %20
- fence syncscope("workgroup") release, !mmra !2
- call void @llvm.amdgcn.s.barrier.signal(i32 -1)
- call void @llvm.amdgcn.s.barrier.wait(i16 -1)
- fence syncscope("workgroup") acquire, !mmra !2
- %42 = load <8 x float>, ptr addrspace(3) @__shared_memory__, align 4
- %43 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 32), align 4
- %44 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 64), align 4
- %45 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 96), align 4
- %46 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 128), align 4
- %47 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 160), align 4
- %48 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 192), align 4
- %49 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 224), align 4
- %50 = extractelement <8 x float> %42, i64 0
- %51 = extractelement <8 x float> %42, i64 1
- %52 = extractelement <8 x float> %42, i64 2
- %53 = extractelement <8 x float> %42, i64 3
- %54 = extractelement <8 x float> %42, i64 4
- %55 = extractelement <8 x float> %42, i64 5
- %56 = extractelement <8 x float> %42, i64 6
- %57 = extractelement <8 x float> %42, i64 7
- %58 = extractelement <8 x float> %43, i64 0
- %59 = extractelement <8 x float> %43, i64 1
- %60 = extractelement <8 x float> %43, i64 2
- %61 = extractelement <8 x float> %43, i64 3
- %62 = extractelement <8 x float> %43, i64 4
- %63 = extractelement <8 x float> %43, i64 5
- %64 = extractelement <8 x float> %43, i64 6
- %65 = extractelement <8 x float> %43, i64 7
- %66 = extractelement <8 x float> %44, i64 0
- %67 = extractelement <8 x float> %44, i64 1
- %68 = extractelement <8 x float> %44, i64 2
- %69 = extractelement <8 x float> %44, i64 3
- %70 = extractelement <8 x float> %44, i64 4
- %71 = extractelement <8 x float> %44, i64 5
- %72 = extractelement <8 x float> %44, i64 6
- %73 = extractelement <8 x float> %44, i64 7
- %74 = extractelement <8 x float> %45, i64 0
- %75 = extractelement <8 x float> %45, i64 1
- %76 = extractelement <8 x float> %45, i64 2
- %77 = extractelement <8 x float> %45, i64 3
- %78 = extractelement <8 x float> %45, i64 4
- %79 = extractelement <8 x float> %45, i64 5
- %80 = extractelement <8 x float> %45, i64 6
- %81 = extractelement <8 x float> %45, i64 7
- %82 = extractelement <8 x float> %46, i64 0
- %83 = extractelement <8 x float> %46, i64 1
- %84 = extractelement <8 x float> %46, i64 2
- %85 = extractelement <8 x float> %46, i64 3
- %86 = extractelement <8 x float> %46, i64 4
- %87 = extractelement <8 x float> %46, i64 5
- %88 = extractelement <8 x float> %46, i64 6
- %89 = extractelement <8 x float> %46, i64 7
- %90 = extractelement <8 x float> %47, i64 0
- %91 = extractelement <8 x float> %47, i64 1
- %92 = extractelement <8 x float> %47, i64 2
- %93 = extractelement <8 x float> %47, i64 3
- %94 = extractelement <8 x float> %47, i64 4
- %95 = extractelement <8 x float> %47, i64 5
- %96 = extractelement <8 x float> %47, i64 6
- %97 = extractelement <8 x float> %47, i64 7
- %98 = extractelement <8 x float> %48, i64 0
- %99 = extractelement <8 x float> %48, i64 1
- %100 = extractelement <8 x float> %48, i64 2
- %101 = extractelement <8 x float> %48, i64 3
- %102 = extractelement <8 x float> %48, i64 4
- %103 = extractelement <8 x float> %48, i64 5
- %104 = extractelement <8 x float> %48, i64 6
- %105 = extractelement <8 x float> %48, i64 7
- %106 = extractelement <8 x float> %49, i64 0
- %107 = extractelement <8 x float> %49, i64 1
- %108 = extractelement <8 x float> %49, i64 2
- %109 = extractelement <8 x float> %49, i64 3
- %110 = extractelement <8 x float> %49, i64 4
- %111 = extractelement <8 x float> %49, i64 5
- %112 = extractelement <8 x float> %49, i64 6
- %113 = extractelement <8 x float> %49, i64 7
- %114 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
- %115 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
- %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
- %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
- %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
- %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
- %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
- %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
- %122 = insertelement <8 x float> poison, float %50, i32 0
- %123 = shufflevector <8 x float> %122, <8 x float> poison, <8 x i32> zeroinitializer
- %124 = shufflevector <8 x float> %123, <8 x float> %123, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %125 = shufflevector <64 x float> %124, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %126 = insertelement <8 x float> poison, float %58, i32 0
- %127 = shufflevector <8 x float> %126, <8 x float> poison, <8 x i32> zeroinitializer
- %128 = shufflevector <8 x float> %127, <8 x float> %127, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %129 = shufflevector <64 x float> %128, <64 x float> %125, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %130 = insertelement <8 x float> poison, float %66, i32 0
- %131 = shufflevector <8 x float> %130, <8 x float> poison, <8 x i32> zeroinitializer
- %132 = shufflevector <8 x float> %131, <8 x float> %131, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %133 = shufflevector <64 x float> %132, <64 x float> %129, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %134 = insertelement <8 x float> poison, float %74, i32 0
- %135 = shufflevector <8 x float> %134, <8 x float> poison, <8 x i32> zeroinitializer
- %136 = shufflevector <8 x float> %135, <8 x float> %135, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %137 = shufflevector <64 x float> %136, <64 x float> %133, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %138 = insertelement <8 x float> poison, float %82, i32 0
- %139 = shufflevector <8 x float> %138, <8 x float> poison, <8 x i32> zeroinitializer
- %140 = shufflevector <8 x float> %139, <8 x float> %139, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %141 = shufflevector <64 x float> %140, <64 x float> %137, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %142 = insertelement <8 x float> poison, float %90, i32 0
- %143 = shufflevector <8 x float> %142, <8 x float> poison, <8 x i32> zeroinitializer
- %144 = shufflevector <8 x float> %143, <8 x float> %143, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %145 = shufflevector <64 x float> %144, <64 x float> %141, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %146 = insertelement <8 x float> poison, float %98, i32 0
- %147 = shufflevector <8 x float> %146, <8 x float> poison, <8 x i32> zeroinitializer
- %148 = shufflevector <8 x float> %147, <8 x float> %147, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %149 = shufflevector <64 x float> %148, <64 x float> %145, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %150 = insertelement <8 x float> poison, float %106, i32 0
- %151 = shufflevector <8 x float> %150, <8 x float> poison, <8 x i32> zeroinitializer
- %152 = shufflevector <8 x float> %151, <8 x float> %151, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %153 = shufflevector <64 x float> %152, <64 x float> %149, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %154 = insertelement <8 x float> poison, float %51, i32 0
- %155 = shufflevector <8 x float> %154, <8 x float> poison, <8 x i32> zeroinitializer
- %156 = shufflevector <8 x float> %155, <8 x float> %155, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %157 = shufflevector <64 x float> %156, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %158 = insertelement <8 x float> poison, float %59, i32 0
- %159 = shufflevector <8 x float> %158, <8 x float> poison, <8 x i32> zeroinitializer
- %160 = shufflevector <8 x float> %159, <8 x float> %159, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %161 = shufflevector <64 x float> %160, <64 x float> %157, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %162 = insertelement <8 x float> poison, float %67, i32 0
- %163 = shufflevector <8 x float> %162, <8 x float> poison, <8 x i32> zeroinitializer
- %164 = shufflevector <8 x float> %163, <8 x float> %163, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %165 = shufflevector <64 x float> %164, <64 x float> %161, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %166 = insertelement <8 x float> poison, float %75, i32 0
- %167 = shufflevector <8 x float> %166, <8 x float> poison, <8 x i32> zeroinitializer
- %168 = shufflevector <8 x float> %167, <8 x float> %167, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %169 = shufflevector <64 x float> %168, <64 x float> %165, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %170 = insertelement <8 x float> poison, float %83, i32 0
- %171 = shufflevector <8 x float> %170, <8 x float> poison, <8 x i32> zeroinitializer
- %172 = shufflevector <8 x float> %171, <8 x float> %171, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %173 = shufflevector <64 x float> %172, <64 x float> %169, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %174 = insertelement <8 x float> poison, float %91, i32 0
- %175 = shufflevector <8 x float> %174, <8 x float> poison, <8 x i32> zeroinitializer
- %176 = shufflevector <8 x float> %175, <8 x float> %175, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %177 = shufflevector <64 x float> %176, <64 x float> %173, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %178 = insertelement <8 x float> poison, float %99, i32 0
- %179 = shufflevector <8 x float> %178, <8 x float> poison, <8 x i32> zeroinitializer
- %180 = shufflevector <8 x float> %179, <8 x float> %179, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %181 = shufflevector <64 x float> %180, <64 x float> %177, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %182 = insertelement <8 x float> poison, float %107, i32 0
- %183 = shufflevector <8 x float> %182, <8 x float> poison, <8 x i32> zeroinitializer
- %184 = shufflevector <8 x float> %183, <8 x float> %183, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %185 = shufflevector <64 x float> %184, <64 x float> %181, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %186 = insertelement <8 x float> poison, float %52, i32 0
- %187 = shufflevector <8 x float> %186, <8 x float> poison, <8 x i32> zeroinitializer
- %188 = shufflevector <8 x float> %187, <8 x float> %187, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %189 = shufflevector <64 x float> %188, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %190 = insertelement <8 x float> poison, float %60, i32 0
- %191 = shufflevector <8 x float> %190, <8 x float> poison, <8 x i32> zeroinitializer
- %192 = shufflevector <8 x float> %191, <8 x float> %191, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %193 = shufflevector <64 x float> %192, <64 x float> %189, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %194 = insertelement <8 x float> poison, float %68, i32 0
- %195 = shufflevector <8 x float> %194, <8 x float> poison, <8 x i32> zeroinitializer
- %196 = shufflevector <8 x float> %195, <8 x float> %195, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %197 = shufflevector <64 x float> %196, <64 x float> %193, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %198 = insertelement <8 x float> poison, float %76, i32 0
- %199 = shufflevector <8 x float> %198, <8 x float> poison, <8 x i32> zeroinitializer
- %200 = shufflevector <8 x float> %199, <8 x float> %199, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %201 = shufflevector <64 x float> %200, <64 x float> %197, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %202 = insertelement <8 x float> poison, float %84, i32 0
- %203 = shufflevector <8 x float> %202, <8 x float> poison, <8 x i32> zeroinitializer
- %204 = shufflevector <8 x float> %203, <8 x float> %203, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %205 = shufflevector <64 x float> %204, <64 x float> %201, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %206 = insertelement <8 x float> poison, float %92, i32 0
- %207 = shufflevector <8 x float> %206, <8 x float> poison, <8 x i32> zeroinitializer
- %208 = shufflevector <8 x float> %207, <8 x float> %207, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %209 = shufflevector <64 x float> %208, <64 x float> %205, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %210 = insertelement <8 x float> poison, float %100, i32 0
- %211 = shufflevector <8 x float> %210, <8 x float> poison, <8 x i32> zeroinitializer
- %212 = shufflevector <8 x float> %211, <8 x float> %211, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %213 = shufflevector <64 x float> %212, <64 x float> %209, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %214 = insertelement <8 x float> poison, float %108, i32 0
- %215 = shufflevector <8 x float> %214, <8 x float> poison, <8 x i32> zeroinitializer
- %216 = shufflevector <8 x float> %215, <8 x float> %215, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %217 = shufflevector <64 x float> %216, <64 x float> %213, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %218 = insertelement <8 x float> poison, float %53, i32 0
- %219 = shufflevector <8 x float> %218, <8 x float> poison, <8 x i32> zeroinitializer
- %220 = shufflevector <8 x float> %219, <8 x float> %219, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %221 = shufflevector <64 x float> %220, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %222 = insertelement <8 x float> poison, float %61, i32 0
- %223 = shufflevector <8 x float> %222, <8 x float> poison, <8 x i32> zeroinitializer
- %224 = shufflevector <8 x float> %223, <8 x float> %223, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %225 = shufflevector <64 x float> %224, <64 x float> %221, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %226 = insertelement <8 x float> poison, float %69, i32 0
- %227 = shufflevector <8 x float> %226, <8 x float> poison, <8 x i32> zeroinitializer
- %228 = shufflevector <8 x float> %227, <8 x float> %227, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %229 = shufflevector <64 x float> %228, <64 x float> %225, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %230 = insertelement <8 x float> poison, float %77, i32 0
- %231 = shufflevector <8 x float> %230, <8 x float> poison, <8 x i32> zeroinitializer
- %232 = shufflevector <8 x float> %231, <8 x float> %231, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %233 = shufflevector <64 x float> %232, <64 x float> %229, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %234 = insertelement <8 x float> poison, float %85, i32 0
- %235 = shufflevector <8 x float> %234, <8 x float> poison, <8 x i32> zeroinitializer
- %236 = shufflevector <8 x float> %235, <8 x float> %235, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %237 = shufflevector <64 x float> %236, <64 x float> %233, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %238 = insertelement <8 x float> poison, float %93, i32 0
- %239 = shufflevector <8 x float> %238, <8 x float> poison, <8 x i32> zeroinitializer
- %240 = shufflevector <8 x float> %239, <8 x float> %239, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %241 = shufflevector <64 x float> %240, <64 x float> %237, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %242 = insertelement <8 x float> poison, float %101, i32 0
- %243 = shufflevector <8 x float> %242, <8 x float> poison, <8 x i32> zeroinitializer
- %244 = shufflevector <8 x float> %243, <8 x float> %243, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %245 = shufflevector <64 x float> %244, <64 x float> %241, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %246 = insertelement <8 x float> poison, float %109, i32 0
- %247 = shufflevector <8 x float> %246, <8 x float> poison, <8 x i32> zeroinitializer
- %248 = shufflevector <8 x float> %247, <8 x float> %247, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %249 = shufflevector <64 x float> %248, <64 x float> %245, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %250 = insertelement <8 x float> poison, float %54, i32 0
- %251 = shufflevector <8 x float> %250, <8 x float> poison, <8 x i32> zeroinitializer
- %252 = shufflevector <8 x float> %251, <8 x float> %251, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %253 = shufflevector <64 x float> %252, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %254 = insertelement <8 x float> poison, float %62, i32 0
- %255 = shufflevector <8 x float> %254, <8 x float> poison, <8 x i32> zeroinitializer
- %256 = shufflevector <8 x float> %255, <8 x float> %255, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %257 = shufflevector <64 x float> %256, <64 x float> %253, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %258 = insertelement <8 x float> poison, float %70, i32 0
- %259 = shufflevector <8 x float> %258, <8 x float> poison, <8 x i32> zeroinitializer
- %260 = shufflevector <8 x float> %259, <8 x float> %259, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %261 = shufflevector <64 x float> %260, <64 x float> %257, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %262 = insertelement <8 x float> poison, float %78, i32 0
- %263 = shufflevector <8 x float> %262, <8 x float> poison, <8 x i32> zeroinitializer
- %264 = shufflevector <8 x float> %263, <8 x float> %263, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %265 = shufflevector <64 x float> %264, <64 x float> %261, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %266 = insertelement <8 x float> poison, float %86, i32 0
- %267 = shufflevector <8 x float> %266, <8 x float> poison, <8 x i32> zeroinitializer
- %268 = shufflevector <8 x float> %267, <8 x float> %267, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %269 = shufflevector <64 x float> %268, <64 x float> %265, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %270 = insertelement <8 x float> poison, float %94, i32 0
- %271 = shufflevector <8 x float> %270, <8 x float> poison, <8 x i32> zeroinitializer
- %272 = shufflevector <8 x float> %271, <8 x float> %271, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %273 = shufflevector <64 x float> %272, <64 x float> %269, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %274 = insertelement <8 x float> poison, float %102, i32 0
- %275 = shufflevector <8 x float> %274, <8 x float> poison, <8 x i32> zeroinitializer
- %276 = shufflevector <8 x float> %275, <8 x float> %275, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %277 = shufflevector <64 x float> %276, <64 x float> %273, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %278 = insertelement <8 x float> poison, float %110, i32 0
- %279 = shufflevector <8 x float> %278, <8 x float> poison, <8 x i32> zeroinitializer
- %280 = shufflevector <8 x float> %279, <8 x float> %279, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %281 = shufflevector <64 x float> %280, <64 x float> %277, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %282 = insertelement <8 x float> poison, float %55, i32 0
- %283 = shufflevector <8 x float> %282, <8 x float> poison, <8 x i32> zeroinitializer
- %284 = shufflevector <8 x float> %283, <8 x float> %283, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %285 = shufflevector <64 x float> %284, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %286 = insertelement <8 x float> poison, float %63, i32 0
- %287 = shufflevector <8 x float> %286, <8 x float> poison, <8 x i32> zeroinitializer
- %288 = shufflevector <8 x float> %287, <8 x float> %287, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %289 = shufflevector <64 x float> %288, <64 x float> %285, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %290 = insertelement <8 x float> poison, float %71, i32 0
- %291 = shufflevector <8 x float> %290, <8 x float> poison, <8 x i32> zeroinitializer
- %292 = shufflevector <8 x float> %291, <8 x float> %291, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %293 = shufflevector <64 x float> %292, <64 x float> %289, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %294 = insertelement <8 x float> poison, float %79, i32 0
- %295 = shufflevector <8 x float> %294, <8 x float> poison, <8 x i32> zeroinitializer
- %296 = shufflevector <8 x float> %295, <8 x float> %295, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %297 = shufflevector <64 x float> %296, <64 x float> %293, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %298 = insertelement <8 x float> poison, float %87, i32 0
- %299 = shufflevector <8 x float> %298, <8 x float> poison, <8 x i32> zeroinitializer
- %300 = shufflevector <8 x float> %299, <8 x float> %299, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %301 = shufflevector <64 x float> %300, <64 x float> %297, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %302 = insertelement <8 x float> poison, float %95, i32 0
- %303 = shufflevector <8 x float> %302, <8 x float> poison, <8 x i32> zeroinitializer
- %304 = shufflevector <8 x float> %303, <8 x float> %303, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %305 = shufflevector <64 x float> %304, <64 x float> %301, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %306 = insertelement <8 x float> poison, float %103, i32 0
- %307 = shufflevector <8 x float> %306, <8 x float> poison, <8 x i32> zeroinitializer
- %308 = shufflevector <8 x float> %307, <8 x float> %307, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %309 = shufflevector <64 x float> %308, <64 x float> %305, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %310 = insertelement <8 x float> poison, float %111, i32 0
- %311 = shufflevector <8 x float> %310, <8 x float> poison, <8 x i32> zeroinitializer
- %312 = shufflevector <8 x float> %311, <8 x float> %311, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %313 = shufflevector <64 x float> %312, <64 x float> %309, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %314 = insertelement <8 x float> poison, float %56, i32 0
- %315 = shufflevector <8 x float> %314, <8 x float> poison, <8 x i32> zeroinitializer
- %316 = shufflevector <8 x float> %315, <8 x float> %315, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %317 = shufflevector <64 x float> %316, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %318 = insertelement <8 x float> poison, float %64, i32 0
- %319 = shufflevector <8 x float> %318, <8 x float> poison, <8 x i32> zeroinitializer
- %320 = shufflevector <8 x float> %319, <8 x float> %319, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %321 = shufflevector <64 x float> %320, <64 x float> %317, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %322 = insertelement <8 x float> poison, float %72, i32 0
- %323 = shufflevector <8 x float> %322, <8 x float> poison, <8 x i32> zeroinitializer
- %324 = shufflevector <8 x float> %323, <8 x float> %323, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %325 = shufflevector <64 x float> %324, <64 x float> %321, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %326 = insertelement <8 x float> poison, float %80, i32 0
- %327 = shufflevector <8 x float> %326, <8 x float> poison, <8 x i32> zeroinitializer
- %328 = shufflevector <8 x float> %327, <8 x float> %327, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %329 = shufflevector <64 x float> %328, <64 x float> %325, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %330 = insertelement <8 x float> poison, float %88, i32 0
- %331 = shufflevector <8 x float> %330, <8 x float> poison, <8 x i32> zeroinitializer
- %332 = shufflevector <8 x float> %331, <8 x float> %331, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %333 = shufflevector <64 x float> %332, <64 x float> %329, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %334 = insertelement <8 x float> poison, float %96, i32 0
- %335 = shufflevector <8 x float> %334, <8 x float> poison, <8 x i32> zeroinitializer
- %336 = shufflevector <8 x float> %335, <8 x float> %335, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %337 = shufflevector <64 x float> %336, <64 x float> %333, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %338 = insertelement <8 x float> poison, float %104, i32 0
- %339 = shufflevector <8 x float> %338, <8 x float> poison, <8 x i32> zeroinitializer
- %340 = shufflevector <8 x float> %339, <8 x float> %339, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %341 = shufflevector <64 x float> %340, <64 x float> %337, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %342 = insertelement <8 x float> poison, float %112, i32 0
- %343 = shufflevector <8 x float> %342, <8 x float> poison, <8 x i32> zeroinitializer
- %344 = shufflevector <8 x float> %343, <8 x float> %343, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %345 = shufflevector <64 x float> %344, <64 x float> %341, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %346 = insertelement <8 x float> poison, float %57, i32 0
- %347 = shufflevector <8 x float> %346, <8 x float> poison, <8 x i32> zeroinitializer
- %348 = shufflevector <8 x float> %347, <8 x float> %347, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %349 = shufflevector <64 x float> %348, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %350 = insertelement <8 x float> poison, float %65, i32 0
- %351 = shufflevector <8 x float> %350, <8 x float> poison, <8 x i32> zeroinitializer
- %352 = shufflevector <8 x float> %351, <8 x float> %351, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %353 = shufflevector <64 x float> %352, <64 x float> %349, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %354 = insertelement <8 x float> poison, float %73, i32 0
- %355 = shufflevector <8 x float> %354, <8 x float> poison, <8 x i32> zeroinitializer
- %356 = shufflevector <8 x float> %355, <8 x float> %355, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %357 = shufflevector <64 x float> %356, <64 x float> %353, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %358 = insertelement <8 x float> poison, float %81, i32 0
- %359 = shufflevector <8 x float> %358, <8 x float> poison, <8 x i32> zeroinitializer
- %360 = shufflevector <8 x float> %359, <8 x float> %359, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %361 = shufflevector <64 x float> %360, <64 x float> %357, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %362 = insertelement <8 x float> poison, float %89, i32 0
- %363 = shufflevector <8 x float> %362, <8 x float> poison, <8 x i32> zeroinitializer
- %364 = shufflevector <8 x float> %363, <8 x float> %363, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %365 = shufflevector <64 x float> %364, <64 x float> %361, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %366 = insertelement <8 x float> poison, float %97, i32 0
- %367 = shufflevector <8 x float> %366, <8 x float> poison, <8 x i32> zeroinitializer
- %368 = shufflevector <8 x float> %367, <8 x float> %367, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %369 = shufflevector <64 x float> %368, <64 x float> %365, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %370 = insertelement <8 x float> poison, float %105, i32 0
- %371 = shufflevector <8 x float> %370, <8 x float> poison, <8 x i32> zeroinitializer
- %372 = shufflevector <8 x float> %371, <8 x float> %371, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %373 = shufflevector <64 x float> %372, <64 x float> %369, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %374 = insertelement <8 x float> poison, float %113, i32 0
- %375 = shufflevector <8 x float> %374, <8 x float> poison, <8 x i32> zeroinitializer
- %376 = shufflevector <8 x float> %375, <8 x float> %375, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %377 = shufflevector <64 x float> %376, <64 x float> %373, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %378 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %379 = shufflevector <64 x float> %378, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %380 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %381 = shufflevector <64 x float> %380, <64 x float> %379, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %382 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %383 = shufflevector <64 x float> %382, <64 x float> %381, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %384 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %385 = shufflevector <64 x float> %384, <64 x float> %383, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %386 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %387 = shufflevector <64 x float> %386, <64 x float> %385, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %388 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %389 = shufflevector <64 x float> %388, <64 x float> %387, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %390 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %391 = shufflevector <64 x float> %390, <64 x float> %389, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %392 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %393 = shufflevector <64 x float> %392, <64 x float> %391, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %394 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %395 = shufflevector <64 x float> %394, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %396 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %397 = shufflevector <64 x float> %396, <64 x float> %395, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %398 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %399 = shufflevector <64 x float> %398, <64 x float> %397, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %400 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %401 = shufflevector <64 x float> %400, <64 x float> %399, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %402 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %403 = shufflevector <64 x float> %402, <64 x float> %401, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %404 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %405 = shufflevector <64 x float> %404, <64 x float> %403, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %406 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %407 = shufflevector <64 x float> %406, <64 x float> %405, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %408 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %409 = shufflevector <64 x float> %408, <64 x float> %407, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %410 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %411 = shufflevector <64 x float> %410, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %412 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %413 = shufflevector <64 x float> %412, <64 x float> %411, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %414 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %415 = shufflevector <64 x float> %414, <64 x float> %413, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %416 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %417 = shufflevector <64 x float> %416, <64 x float> %415, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %418 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %419 = shufflevector <64 x float> %418, <64 x float> %417, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %420 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %421 = shufflevector <64 x float> %420, <64 x float> %419, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %422 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %423 = shufflevector <64 x float> %422, <64 x float> %421, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %424 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %425 = shufflevector <64 x float> %424, <64 x float> %423, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %426 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %427 = shufflevector <64 x float> %426, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %428 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %429 = shufflevector <64 x float> %428, <64 x float> %427, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %430 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %431 = shufflevector <64 x float> %430, <64 x float> %429, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %432 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %433 = shufflevector <64 x float> %432, <64 x float> %431, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %434 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %435 = shufflevector <64 x float> %434, <64 x float> %433, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %436 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %437 = shufflevector <64 x float> %436, <64 x float> %435, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %438 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %439 = shufflevector <64 x float> %438, <64 x float> %437, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %440 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %441 = shufflevector <64 x float> %440, <64 x float> %439, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %442 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %443 = shufflevector <64 x float> %442, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %444 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %445 = shufflevector <64 x float> %444, <64 x float> %443, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %446 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %447 = shufflevector <64 x float> %446, <64 x float> %445, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %448 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %449 = shufflevector <64 x float> %448, <64 x float> %447, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %450 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %451 = shufflevector <64 x float> %450, <64 x float> %449, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %452 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %453 = shufflevector <64 x float> %452, <64 x float> %451, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %454 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %455 = shufflevector <64 x float> %454, <64 x float> %453, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %456 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %457 = shufflevector <64 x float> %456, <64 x float> %455, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %458 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %459 = shufflevector <64 x float> %458, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %460 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %461 = shufflevector <64 x float> %460, <64 x float> %459, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %462 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %463 = shufflevector <64 x float> %462, <64 x float> %461, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %464 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %465 = shufflevector <64 x float> %464, <64 x float> %463, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %466 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %467 = shufflevector <64 x float> %466, <64 x float> %465, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %468 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %469 = shufflevector <64 x float> %468, <64 x float> %467, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %470 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %471 = shufflevector <64 x float> %470, <64 x float> %469, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %472 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %473 = shufflevector <64 x float> %472, <64 x float> %471, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %474 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %475 = shufflevector <64 x float> %474, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %476 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %477 = shufflevector <64 x float> %476, <64 x float> %475, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %478 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %479 = shufflevector <64 x float> %478, <64 x float> %477, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %480 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %481 = shufflevector <64 x float> %480, <64 x float> %479, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %482 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %483 = shufflevector <64 x float> %482, <64 x float> %481, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %484 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %485 = shufflevector <64 x float> %484, <64 x float> %483, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %486 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %487 = shufflevector <64 x float> %486, <64 x float> %485, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %488 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %489 = shufflevector <64 x float> %488, <64 x float> %487, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %490 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %491 = shufflevector <64 x float> %490, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %492 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %493 = shufflevector <64 x float> %492, <64 x float> %491, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %494 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %495 = shufflevector <64 x float> %494, <64 x float> %493, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %496 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %497 = shufflevector <64 x float> %496, <64 x float> %495, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %498 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %499 = shufflevector <64 x float> %498, <64 x float> %497, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %500 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %501 = shufflevector <64 x float> %500, <64 x float> %499, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %502 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %503 = shufflevector <64 x float> %502, <64 x float> %501, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %504 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %505 = shufflevector <64 x float> %504, <64 x float> %503, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %506 = call <64 x float> @llvm.fma.v64f32(<64 x float> %377, <64 x float> %505, <64 x float> zeroinitializer)
- %507 = call <64 x float> @llvm.fma.v64f32(<64 x float> %345, <64 x float> %489, <64 x float> %506)
- %508 = call <64 x float> @llvm.fma.v64f32(<64 x float> %313, <64 x float> %473, <64 x float> %507)
- %509 = call <64 x float> @llvm.fma.v64f32(<64 x float> %281, <64 x float> %457, <64 x float> %508)
- %510 = call <64 x float> @llvm.fma.v64f32(<64 x float> %249, <64 x float> %441, <64 x float> %509)
- %511 = call <64 x float> @llvm.fma.v64f32(<64 x float> %217, <64 x float> %425, <64 x float> %510)
- %512 = call <64 x float> @llvm.fma.v64f32(<64 x float> %185, <64 x float> %409, <64 x float> %511)
- %513 = call <64 x float> @llvm.fma.v64f32(<64 x float> %153, <64 x float> %393, <64 x float> %512)
- %514 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %515 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
- %516 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
- %517 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
- %518 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
- %519 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
- %520 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
- %521 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
- %522 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
- %523 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
- %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
- %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
- %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
- %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
- %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
- %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
- %530 = extractelement <8 x float> %522, i64 0
- %531 = extractelement <8 x float> %522, i64 1
- %532 = extractelement <8 x float> %522, i64 2
- %533 = extractelement <8 x float> %522, i64 3
- %534 = extractelement <8 x float> %522, i64 4
- %535 = extractelement <8 x float> %522, i64 5
- %536 = extractelement <8 x float> %522, i64 6
- %537 = extractelement <8 x float> %522, i64 7
- %538 = extractelement <8 x float> %523, i64 0
- %539 = extractelement <8 x float> %523, i64 1
- %540 = extractelement <8 x float> %523, i64 2
- %541 = extractelement <8 x float> %523, i64 3
- %542 = extractelement <8 x float> %523, i64 4
- %543 = extractelement <8 x float> %523, i64 5
- %544 = extractelement <8 x float> %523, i64 6
- %545 = extractelement <8 x float> %523, i64 7
- %546 = extractelement <8 x float> %524, i64 0
- %547 = extractelement <8 x float> %524, i64 1
- %548 = extractelement <8 x float> %524, i64 2
- %549 = extractelement <8 x float> %524, i64 3
- %550 = extractelement <8 x float> %524, i64 4
- %551 = extractelement <8 x float> %524, i64 5
- %552 = extractelement <8 x float> %524, i64 6
- %553 = extractelement <8 x float> %524, i64 7
- %554 = extractelement <8 x float> %525, i64 0
- %555 = extractelement <8 x float> %525, i64 1
- %556 = extractelement <8 x float> %525, i64 2
- %557 = extractelement <8 x float> %525, i64 3
- %558 = extractelement <8 x float> %525, i64 4
- %559 = extractelement <8 x float> %525, i64 5
- %560 = extractelement <8 x float> %525, i64 6
- %561 = extractelement <8 x float> %525, i64 7
- %562 = extractelement <8 x float> %526, i64 0
- %563 = extractelement <8 x float> %526, i64 1
- %564 = extractelement <8 x float> %526, i64 2
- %565 = extractelement <8 x float> %526, i64 3
- %566 = extractelement <8 x float> %526, i64 4
- %567 = extractelement <8 x float> %526, i64 5
- %568 = extractelement <8 x float> %526, i64 6
- %569 = extractelement <8 x float> %526, i64 7
- %570 = extractelement <8 x float> %527, i64 0
- %571 = extractelement <8 x float> %527, i64 1
- %572 = extractelement <8 x float> %527, i64 2
- %573 = extractelement <8 x float> %527, i64 3
- %574 = extractelement <8 x float> %527, i64 4
- %575 = extractelement <8 x float> %527, i64 5
- %576 = extractelement <8 x float> %527, i64 6
- %577 = extractelement <8 x float> %527, i64 7
- %578 = extractelement <8 x float> %528, i64 0
- %579 = extractelement <8 x float> %528, i64 1
- %580 = extractelement <8 x float> %528, i64 2
- %581 = extractelement <8 x float> %528, i64 3
- %582 = extractelement <8 x float> %528, i64 4
- %583 = extractelement <8 x float> %528, i64 5
- %584 = extractelement <8 x float> %528, i64 6
- %585 = extractelement <8 x float> %528, i64 7
- %586 = extractelement <8 x float> %529, i64 0
- %587 = extractelement <8 x float> %529, i64 1
- %588 = extractelement <8 x float> %529, i64 2
- %589 = extractelement <8 x float> %529, i64 3
- %590 = extractelement <8 x float> %529, i64 4
- %591 = extractelement <8 x float> %529, i64 5
- %592 = extractelement <8 x float> %529, i64 6
- %593 = extractelement <8 x float> %529, i64 7
- %594 = insertelement <8 x float> poison, float %530, i32 0
- %595 = shufflevector <8 x float> %594, <8 x float> poison, <8 x i32> zeroinitializer
- %596 = shufflevector <8 x float> %595, <8 x float> %595, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %597 = shufflevector <64 x float> %596, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %598 = insertelement <8 x float> poison, float %538, i32 0
- %599 = shufflevector <8 x float> %598, <8 x float> poison, <8 x i32> zeroinitializer
- %600 = shufflevector <8 x float> %599, <8 x float> %599, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %601 = shufflevector <64 x float> %600, <64 x float> %597, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %602 = insertelement <8 x float> poison, float %546, i32 0
- %603 = shufflevector <8 x float> %602, <8 x float> poison, <8 x i32> zeroinitializer
- %604 = shufflevector <8 x float> %603, <8 x float> %603, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %605 = shufflevector <64 x float> %604, <64 x float> %601, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %606 = insertelement <8 x float> poison, float %554, i32 0
- %607 = shufflevector <8 x float> %606, <8 x float> poison, <8 x i32> zeroinitializer
- %608 = shufflevector <8 x float> %607, <8 x float> %607, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %609 = shufflevector <64 x float> %608, <64 x float> %605, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %610 = insertelement <8 x float> poison, float %562, i32 0
- %611 = shufflevector <8 x float> %610, <8 x float> poison, <8 x i32> zeroinitializer
- %612 = shufflevector <8 x float> %611, <8 x float> %611, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %613 = shufflevector <64 x float> %612, <64 x float> %609, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %614 = insertelement <8 x float> poison, float %570, i32 0
- %615 = shufflevector <8 x float> %614, <8 x float> poison, <8 x i32> zeroinitializer
- %616 = shufflevector <8 x float> %615, <8 x float> %615, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %617 = shufflevector <64 x float> %616, <64 x float> %613, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %618 = insertelement <8 x float> poison, float %578, i32 0
- %619 = shufflevector <8 x float> %618, <8 x float> poison, <8 x i32> zeroinitializer
- %620 = shufflevector <8 x float> %619, <8 x float> %619, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %621 = shufflevector <64 x float> %620, <64 x float> %617, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %622 = insertelement <8 x float> poison, float %586, i32 0
- %623 = shufflevector <8 x float> %622, <8 x float> poison, <8 x i32> zeroinitializer
- %624 = shufflevector <8 x float> %623, <8 x float> %623, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %625 = shufflevector <64 x float> %624, <64 x float> %621, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %626 = insertelement <8 x float> poison, float %531, i32 0
- %627 = shufflevector <8 x float> %626, <8 x float> poison, <8 x i32> zeroinitializer
- %628 = shufflevector <8 x float> %627, <8 x float> %627, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %629 = shufflevector <64 x float> %628, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %630 = insertelement <8 x float> poison, float %539, i32 0
- %631 = shufflevector <8 x float> %630, <8 x float> poison, <8 x i32> zeroinitializer
- %632 = shufflevector <8 x float> %631, <8 x float> %631, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %633 = shufflevector <64 x float> %632, <64 x float> %629, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %634 = insertelement <8 x float> poison, float %547, i32 0
- %635 = shufflevector <8 x float> %634, <8 x float> poison, <8 x i32> zeroinitializer
- %636 = shufflevector <8 x float> %635, <8 x float> %635, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %637 = shufflevector <64 x float> %636, <64 x float> %633, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %638 = insertelement <8 x float> poison, float %555, i32 0
- %639 = shufflevector <8 x float> %638, <8 x float> poison, <8 x i32> zeroinitializer
- %640 = shufflevector <8 x float> %639, <8 x float> %639, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %641 = shufflevector <64 x float> %640, <64 x float> %637, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %642 = insertelement <8 x float> poison, float %563, i32 0
- %643 = shufflevector <8 x float> %642, <8 x float> poison, <8 x i32> zeroinitializer
- %644 = shufflevector <8 x float> %643, <8 x float> %643, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %645 = shufflevector <64 x float> %644, <64 x float> %641, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %646 = insertelement <8 x float> poison, float %571, i32 0
- %647 = shufflevector <8 x float> %646, <8 x float> poison, <8 x i32> zeroinitializer
- %648 = shufflevector <8 x float> %647, <8 x float> %647, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %649 = shufflevector <64 x float> %648, <64 x float> %645, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %650 = insertelement <8 x float> poison, float %579, i32 0
- %651 = shufflevector <8 x float> %650, <8 x float> poison, <8 x i32> zeroinitializer
- %652 = shufflevector <8 x float> %651, <8 x float> %651, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %653 = shufflevector <64 x float> %652, <64 x float> %649, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %654 = insertelement <8 x float> poison, float %587, i32 0
- %655 = shufflevector <8 x float> %654, <8 x float> poison, <8 x i32> zeroinitializer
- %656 = shufflevector <8 x float> %655, <8 x float> %655, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %657 = shufflevector <64 x float> %656, <64 x float> %653, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %658 = insertelement <8 x float> poison, float %532, i32 0
- %659 = shufflevector <8 x float> %658, <8 x float> poison, <8 x i32> zeroinitializer
- %660 = shufflevector <8 x float> %659, <8 x float> %659, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %661 = shufflevector <64 x float> %660, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %662 = insertelement <8 x float> poison, float %540, i32 0
- %663 = shufflevector <8 x float> %662, <8 x float> poison, <8 x i32> zeroinitializer
- %664 = shufflevector <8 x float> %663, <8 x float> %663, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %665 = shufflevector <64 x float> %664, <64 x float> %661, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %666 = insertelement <8 x float> poison, float %548, i32 0
- %667 = shufflevector <8 x float> %666, <8 x float> poison, <8 x i32> zeroinitializer
- %668 = shufflevector <8 x float> %667, <8 x float> %667, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %669 = shufflevector <64 x float> %668, <64 x float> %665, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %670 = insertelement <8 x float> poison, float %556, i32 0
- %671 = shufflevector <8 x float> %670, <8 x float> poison, <8 x i32> zeroinitializer
- %672 = shufflevector <8 x float> %671, <8 x float> %671, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %673 = shufflevector <64 x float> %672, <64 x float> %669, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %674 = insertelement <8 x float> poison, float %564, i32 0
- %675 = shufflevector <8 x float> %674, <8 x float> poison, <8 x i32> zeroinitializer
- %676 = shufflevector <8 x float> %675, <8 x float> %675, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %677 = shufflevector <64 x float> %676, <64 x float> %673, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %678 = insertelement <8 x float> poison, float %572, i32 0
- %679 = shufflevector <8 x float> %678, <8 x float> poison, <8 x i32> zeroinitializer
- %680 = shufflevector <8 x float> %679, <8 x float> %679, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %681 = shufflevector <64 x float> %680, <64 x float> %677, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %682 = insertelement <8 x float> poison, float %580, i32 0
- %683 = shufflevector <8 x float> %682, <8 x float> poison, <8 x i32> zeroinitializer
- %684 = shufflevector <8 x float> %683, <8 x float> %683, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %685 = shufflevector <64 x float> %684, <64 x float> %681, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %686 = insertelement <8 x float> poison, float %588, i32 0
- %687 = shufflevector <8 x float> %686, <8 x float> poison, <8 x i32> zeroinitializer
- %688 = shufflevector <8 x float> %687, <8 x float> %687, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %689 = shufflevector <64 x float> %688, <64 x float> %685, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %690 = insertelement <8 x float> poison, float %533, i32 0
- %691 = shufflevector <8 x float> %690, <8 x float> poison, <8 x i32> zeroinitializer
- %692 = shufflevector <8 x float> %691, <8 x float> %691, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %693 = shufflevector <64 x float> %692, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %694 = insertelement <8 x float> poison, float %541, i32 0
- %695 = shufflevector <8 x float> %694, <8 x float> poison, <8 x i32> zeroinitializer
- %696 = shufflevector <8 x float> %695, <8 x float> %695, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %697 = shufflevector <64 x float> %696, <64 x float> %693, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %698 = insertelement <8 x float> poison, float %549, i32 0
- %699 = shufflevector <8 x float> %698, <8 x float> poison, <8 x i32> zeroinitializer
- %700 = shufflevector <8 x float> %699, <8 x float> %699, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %701 = shufflevector <64 x float> %700, <64 x float> %697, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %702 = insertelement <8 x float> poison, float %557, i32 0
- %703 = shufflevector <8 x float> %702, <8 x float> poison, <8 x i32> zeroinitializer
- %704 = shufflevector <8 x float> %703, <8 x float> %703, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %705 = shufflevector <64 x float> %704, <64 x float> %701, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %706 = insertelement <8 x float> poison, float %565, i32 0
- %707 = shufflevector <8 x float> %706, <8 x float> poison, <8 x i32> zeroinitializer
- %708 = shufflevector <8 x float> %707, <8 x float> %707, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %709 = shufflevector <64 x float> %708, <64 x float> %705, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %710 = insertelement <8 x float> poison, float %573, i32 0
- %711 = shufflevector <8 x float> %710, <8 x float> poison, <8 x i32> zeroinitializer
- %712 = shufflevector <8 x float> %711, <8 x float> %711, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %713 = shufflevector <64 x float> %712, <64 x float> %709, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %714 = insertelement <8 x float> poison, float %581, i32 0
- %715 = shufflevector <8 x float> %714, <8 x float> poison, <8 x i32> zeroinitializer
- %716 = shufflevector <8 x float> %715, <8 x float> %715, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %717 = shufflevector <64 x float> %716, <64 x float> %713, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %718 = insertelement <8 x float> poison, float %589, i32 0
- %719 = shufflevector <8 x float> %718, <8 x float> poison, <8 x i32> zeroinitializer
- %720 = shufflevector <8 x float> %719, <8 x float> %719, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %721 = shufflevector <64 x float> %720, <64 x float> %717, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %722 = insertelement <8 x float> poison, float %534, i32 0
- %723 = shufflevector <8 x float> %722, <8 x float> poison, <8 x i32> zeroinitializer
- %724 = shufflevector <8 x float> %723, <8 x float> %723, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %725 = shufflevector <64 x float> %724, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %726 = insertelement <8 x float> poison, float %542, i32 0
- %727 = shufflevector <8 x float> %726, <8 x float> poison, <8 x i32> zeroinitializer
- %728 = shufflevector <8 x float> %727, <8 x float> %727, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %729 = shufflevector <64 x float> %728, <64 x float> %725, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %730 = insertelement <8 x float> poison, float %550, i32 0
- %731 = shufflevector <8 x float> %730, <8 x float> poison, <8 x i32> zeroinitializer
- %732 = shufflevector <8 x float> %731, <8 x float> %731, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %733 = shufflevector <64 x float> %732, <64 x float> %729, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %734 = insertelement <8 x float> poison, float %558, i32 0
- %735 = shufflevector <8 x float> %734, <8 x float> poison, <8 x i32> zeroinitializer
- %736 = shufflevector <8 x float> %735, <8 x float> %735, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %737 = shufflevector <64 x float> %736, <64 x float> %733, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %738 = insertelement <8 x float> poison, float %566, i32 0
- %739 = shufflevector <8 x float> %738, <8 x float> poison, <8 x i32> zeroinitializer
- %740 = shufflevector <8 x float> %739, <8 x float> %739, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %741 = shufflevector <64 x float> %740, <64 x float> %737, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %742 = insertelement <8 x float> poison, float %574, i32 0
- %743 = shufflevector <8 x float> %742, <8 x float> poison, <8 x i32> zeroinitializer
- %744 = shufflevector <8 x float> %743, <8 x float> %743, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %745 = shufflevector <64 x float> %744, <64 x float> %741, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %746 = insertelement <8 x float> poison, float %582, i32 0
- %747 = shufflevector <8 x float> %746, <8 x float> poison, <8 x i32> zeroinitializer
- %748 = shufflevector <8 x float> %747, <8 x float> %747, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %749 = shufflevector <64 x float> %748, <64 x float> %745, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %750 = insertelement <8 x float> poison, float %590, i32 0
- %751 = shufflevector <8 x float> %750, <8 x float> poison, <8 x i32> zeroinitializer
- %752 = shufflevector <8 x float> %751, <8 x float> %751, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %753 = shufflevector <64 x float> %752, <64 x float> %749, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %754 = insertelement <8 x float> poison, float %535, i32 0
- %755 = shufflevector <8 x float> %754, <8 x float> poison, <8 x i32> zeroinitializer
- %756 = shufflevector <8 x float> %755, <8 x float> %755, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %757 = shufflevector <64 x float> %756, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %758 = insertelement <8 x float> poison, float %543, i32 0
- %759 = shufflevector <8 x float> %758, <8 x float> poison, <8 x i32> zeroinitializer
- %760 = shufflevector <8 x float> %759, <8 x float> %759, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %761 = shufflevector <64 x float> %760, <64 x float> %757, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %762 = insertelement <8 x float> poison, float %551, i32 0
- %763 = shufflevector <8 x float> %762, <8 x float> poison, <8 x i32> zeroinitializer
- %764 = shufflevector <8 x float> %763, <8 x float> %763, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %765 = shufflevector <64 x float> %764, <64 x float> %761, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %766 = insertelement <8 x float> poison, float %559, i32 0
- %767 = shufflevector <8 x float> %766, <8 x float> poison, <8 x i32> zeroinitializer
- %768 = shufflevector <8 x float> %767, <8 x float> %767, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %769 = shufflevector <64 x float> %768, <64 x float> %765, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %770 = insertelement <8 x float> poison, float %567, i32 0
- %771 = shufflevector <8 x float> %770, <8 x float> poison, <8 x i32> zeroinitializer
- %772 = shufflevector <8 x float> %771, <8 x float> %771, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %773 = shufflevector <64 x float> %772, <64 x float> %769, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %774 = insertelement <8 x float> poison, float %575, i32 0
- %775 = shufflevector <8 x float> %774, <8 x float> poison, <8 x i32> zeroinitializer
- %776 = shufflevector <8 x float> %775, <8 x float> %775, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %777 = shufflevector <64 x float> %776, <64 x float> %773, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %778 = insertelement <8 x float> poison, float %583, i32 0
- %779 = shufflevector <8 x float> %778, <8 x float> poison, <8 x i32> zeroinitializer
- %780 = shufflevector <8 x float> %779, <8 x float> %779, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %781 = shufflevector <64 x float> %780, <64 x float> %777, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %782 = insertelement <8 x float> poison, float %591, i32 0
- %783 = shufflevector <8 x float> %782, <8 x float> poison, <8 x i32> zeroinitializer
- %784 = shufflevector <8 x float> %783, <8 x float> %783, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %785 = shufflevector <64 x float> %784, <64 x float> %781, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %786 = insertelement <8 x float> poison, float %536, i32 0
- %787 = shufflevector <8 x float> %786, <8 x float> poison, <8 x i32> zeroinitializer
- %788 = shufflevector <8 x float> %787, <8 x float> %787, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %789 = shufflevector <64 x float> %788, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %790 = insertelement <8 x float> poison, float %544, i32 0
- %791 = shufflevector <8 x float> %790, <8 x float> poison, <8 x i32> zeroinitializer
- %792 = shufflevector <8 x float> %791, <8 x float> %791, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %793 = shufflevector <64 x float> %792, <64 x float> %789, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %794 = insertelement <8 x float> poison, float %552, i32 0
- %795 = shufflevector <8 x float> %794, <8 x float> poison, <8 x i32> zeroinitializer
- %796 = shufflevector <8 x float> %795, <8 x float> %795, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %797 = shufflevector <64 x float> %796, <64 x float> %793, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %798 = insertelement <8 x float> poison, float %560, i32 0
- %799 = shufflevector <8 x float> %798, <8 x float> poison, <8 x i32> zeroinitializer
- %800 = shufflevector <8 x float> %799, <8 x float> %799, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %801 = shufflevector <64 x float> %800, <64 x float> %797, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %802 = insertelement <8 x float> poison, float %568, i32 0
- %803 = shufflevector <8 x float> %802, <8 x float> poison, <8 x i32> zeroinitializer
- %804 = shufflevector <8 x float> %803, <8 x float> %803, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %805 = shufflevector <64 x float> %804, <64 x float> %801, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %806 = insertelement <8 x float> poison, float %576, i32 0
- %807 = shufflevector <8 x float> %806, <8 x float> poison, <8 x i32> zeroinitializer
- %808 = shufflevector <8 x float> %807, <8 x float> %807, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %809 = shufflevector <64 x float> %808, <64 x float> %805, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %810 = insertelement <8 x float> poison, float %584, i32 0
- %811 = shufflevector <8 x float> %810, <8 x float> poison, <8 x i32> zeroinitializer
- %812 = shufflevector <8 x float> %811, <8 x float> %811, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %813 = shufflevector <64 x float> %812, <64 x float> %809, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %814 = insertelement <8 x float> poison, float %592, i32 0
- %815 = shufflevector <8 x float> %814, <8 x float> poison, <8 x i32> zeroinitializer
- %816 = shufflevector <8 x float> %815, <8 x float> %815, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %817 = shufflevector <64 x float> %816, <64 x float> %813, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %818 = insertelement <8 x float> poison, float %537, i32 0
- %819 = shufflevector <8 x float> %818, <8 x float> poison, <8 x i32> zeroinitializer
- %820 = shufflevector <8 x float> %819, <8 x float> %819, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %821 = shufflevector <64 x float> %820, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %822 = insertelement <8 x float> poison, float %545, i32 0
- %823 = shufflevector <8 x float> %822, <8 x float> poison, <8 x i32> zeroinitializer
- %824 = shufflevector <8 x float> %823, <8 x float> %823, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %825 = shufflevector <64 x float> %824, <64 x float> %821, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %826 = insertelement <8 x float> poison, float %553, i32 0
- %827 = shufflevector <8 x float> %826, <8 x float> poison, <8 x i32> zeroinitializer
- %828 = shufflevector <8 x float> %827, <8 x float> %827, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %829 = shufflevector <64 x float> %828, <64 x float> %825, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %830 = insertelement <8 x float> poison, float %561, i32 0
- %831 = shufflevector <8 x float> %830, <8 x float> poison, <8 x i32> zeroinitializer
- %832 = shufflevector <8 x float> %831, <8 x float> %831, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %833 = shufflevector <64 x float> %832, <64 x float> %829, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %834 = insertelement <8 x float> poison, float %569, i32 0
- %835 = shufflevector <8 x float> %834, <8 x float> poison, <8 x i32> zeroinitializer
- %836 = shufflevector <8 x float> %835, <8 x float> %835, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %837 = shufflevector <64 x float> %836, <64 x float> %833, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %838 = insertelement <8 x float> poison, float %577, i32 0
- %839 = shufflevector <8 x float> %838, <8 x float> poison, <8 x i32> zeroinitializer
- %840 = shufflevector <8 x float> %839, <8 x float> %839, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %841 = shufflevector <64 x float> %840, <64 x float> %837, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %842 = insertelement <8 x float> poison, float %585, i32 0
- %843 = shufflevector <8 x float> %842, <8 x float> poison, <8 x i32> zeroinitializer
- %844 = shufflevector <8 x float> %843, <8 x float> %843, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %845 = shufflevector <64 x float> %844, <64 x float> %841, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %846 = insertelement <8 x float> poison, float %593, i32 0
- %847 = shufflevector <8 x float> %846, <8 x float> poison, <8 x i32> zeroinitializer
- %848 = shufflevector <8 x float> %847, <8 x float> %847, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %849 = shufflevector <64 x float> %848, <64 x float> %845, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %850 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %851 = shufflevector <64 x float> %850, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %852 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %853 = shufflevector <64 x float> %852, <64 x float> %851, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %854 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %855 = shufflevector <64 x float> %854, <64 x float> %853, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %856 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %857 = shufflevector <64 x float> %856, <64 x float> %855, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %858 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %859 = shufflevector <64 x float> %858, <64 x float> %857, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %860 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %861 = shufflevector <64 x float> %860, <64 x float> %859, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %862 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %863 = shufflevector <64 x float> %862, <64 x float> %861, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %864 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %865 = shufflevector <64 x float> %864, <64 x float> %863, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %866 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %867 = shufflevector <64 x float> %866, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %868 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %869 = shufflevector <64 x float> %868, <64 x float> %867, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %870 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %871 = shufflevector <64 x float> %870, <64 x float> %869, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %872 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %873 = shufflevector <64 x float> %872, <64 x float> %871, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %874 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %875 = shufflevector <64 x float> %874, <64 x float> %873, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %876 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %877 = shufflevector <64 x float> %876, <64 x float> %875, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %878 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %879 = shufflevector <64 x float> %878, <64 x float> %877, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %880 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %881 = shufflevector <64 x float> %880, <64 x float> %879, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %882 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %883 = shufflevector <64 x float> %882, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %884 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %885 = shufflevector <64 x float> %884, <64 x float> %883, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %886 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %887 = shufflevector <64 x float> %886, <64 x float> %885, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %888 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %889 = shufflevector <64 x float> %888, <64 x float> %887, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %890 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %891 = shufflevector <64 x float> %890, <64 x float> %889, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %892 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %893 = shufflevector <64 x float> %892, <64 x float> %891, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %894 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %895 = shufflevector <64 x float> %894, <64 x float> %893, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %896 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %897 = shufflevector <64 x float> %896, <64 x float> %895, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %898 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %899 = shufflevector <64 x float> %898, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %900 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %901 = shufflevector <64 x float> %900, <64 x float> %899, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %902 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %903 = shufflevector <64 x float> %902, <64 x float> %901, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %904 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %905 = shufflevector <64 x float> %904, <64 x float> %903, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %906 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %907 = shufflevector <64 x float> %906, <64 x float> %905, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %908 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %909 = shufflevector <64 x float> %908, <64 x float> %907, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %910 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %911 = shufflevector <64 x float> %910, <64 x float> %909, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %912 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %913 = shufflevector <64 x float> %912, <64 x float> %911, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %914 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %915 = shufflevector <64 x float> %914, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %916 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %917 = shufflevector <64 x float> %916, <64 x float> %915, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %918 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %919 = shufflevector <64 x float> %918, <64 x float> %917, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %920 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %921 = shufflevector <64 x float> %920, <64 x float> %919, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %922 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %923 = shufflevector <64 x float> %922, <64 x float> %921, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %924 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %925 = shufflevector <64 x float> %924, <64 x float> %923, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %926 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %927 = shufflevector <64 x float> %926, <64 x float> %925, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %928 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %929 = shufflevector <64 x float> %928, <64 x float> %927, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %930 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %931 = shufflevector <64 x float> %930, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %932 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %933 = shufflevector <64 x float> %932, <64 x float> %931, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %934 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %935 = shufflevector <64 x float> %934, <64 x float> %933, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %936 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %937 = shufflevector <64 x float> %936, <64 x float> %935, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %938 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %939 = shufflevector <64 x float> %938, <64 x float> %937, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %940 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %941 = shufflevector <64 x float> %940, <64 x float> %939, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %942 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %943 = shufflevector <64 x float> %942, <64 x float> %941, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %944 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %945 = shufflevector <64 x float> %944, <64 x float> %943, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %946 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %947 = shufflevector <64 x float> %946, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %948 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %949 = shufflevector <64 x float> %948, <64 x float> %947, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %950 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %951 = shufflevector <64 x float> %950, <64 x float> %949, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %952 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %953 = shufflevector <64 x float> %952, <64 x float> %951, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %954 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %955 = shufflevector <64 x float> %954, <64 x float> %953, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %956 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %957 = shufflevector <64 x float> %956, <64 x float> %955, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %958 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %959 = shufflevector <64 x float> %958, <64 x float> %957, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %960 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %961 = shufflevector <64 x float> %960, <64 x float> %959, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %962 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %963 = shufflevector <64 x float> %962, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %964 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %965 = shufflevector <64 x float> %964, <64 x float> %963, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %966 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %967 = shufflevector <64 x float> %966, <64 x float> %965, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %968 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %969 = shufflevector <64 x float> %968, <64 x float> %967, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %970 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %971 = shufflevector <64 x float> %970, <64 x float> %969, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %972 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %973 = shufflevector <64 x float> %972, <64 x float> %971, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %974 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %975 = shufflevector <64 x float> %974, <64 x float> %973, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
- %976 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
- %977 = shufflevector <64 x float> %976, <64 x float> %975, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %978 = call <64 x float> @llvm.fma.v64f32(<64 x float> %849, <64 x float> %977, <64 x float> zeroinitializer)
- %979 = call <64 x float> @llvm.fma.v64f32(<64 x float> %817, <64 x float> %961, <64 x float> %978)
- %980 = call <64 x float> @llvm.fma.v64f32(<64 x float> %785, <64 x float> %945, <64 x float> %979)
- %981 = call <64 x float> @llvm.fma.v64f32(<64 x float> %753, <64 x float> %929, <64 x float> %980)
- %982 = call <64 x float> @llvm.fma.v64f32(<64 x float> %721, <64 x float> %913, <64 x float> %981)
- %983 = call <64 x float> @llvm.fma.v64f32(<64 x float> %689, <64 x float> %897, <64 x float> %982)
- %984 = call <64 x float> @llvm.fma.v64f32(<64 x float> %657, <64 x float> %881, <64 x float> %983)
- %985 = call <64 x float> @llvm.fma.v64f32(<64 x float> %625, <64 x float> %865, <64 x float> %984)
- %986 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
- %987 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
- %988 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
- %989 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
- %990 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
- %991 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
- %992 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
- %993 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
- br label %994
-
-994: ; preds = %997, %41
- %995 = phi i32 [ %1006, %997 ], [ 0, %41 ]
- %996 = icmp slt i32 %995, 8
- br i1 %996, label %997, label %1007
-
-997: ; preds = %994
- %998 = zext i32 %995 to i64
- %999 = extractelement <8 x float> %986, i64 %998
- %1000 = add nuw nsw i64 0, %998
- %1001 = add nuw nsw i64 %1000, 0
- %1002 = add nuw nsw i64 %1001, 0
- %1003 = add nuw nsw i64 %1002, 0
- %1004 = add nuw nsw i64 %1003, 0
- %1005 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1004
- store float %999, ptr addrspace(1) %1005, align 4
- %1006 = add i32 %995, 1
- br label %994
-
-1007: ; preds = %1010, %994
- %1008 = phi i32 [ %1019, %1010 ], [ 0, %994 ]
- %1009 = icmp slt i32 %1008, 8
- br i1 %1009, label %1010, label %1020
-
-1010: ; preds = %1007
- %1011 = zext i32 %1008 to i64
- %1012 = extractelement <8 x float> %987, i64 %1011
- %1013 = add nuw nsw i64 8, %1011
- %1014 = add nuw nsw i64 %1013, 0
- %1015 = add nuw nsw i64 %1014, 0
- %1016 = add nuw nsw i64 %1015, 0
- %1017 = add nuw nsw i64 %1016, 0
- %1018 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1017
- store float %1012, ptr addrspace(1) %1018, align 4
- %1019 = add i32 %1008, 1
- br label %1007
-
-1020: ; preds = %1023, %1007
- %1021 = phi i32 [ %1032, %1023 ], [ 0, %1007 ]
- %1022 = icmp slt i32 %1021, 8
- br i1 %1022, label %1023, label %1033
-
-1023: ; preds = %1020
- %1024 = zext i32 %1021 to i64
- %1025 = extractelement <8 x float> %988, i64 %1024
- %1026 = add nuw nsw i64 16, %1024
- %1027 = add nuw nsw i64 %1026, 0
- %1028 = add nuw nsw i64 %1027, 0
- %1029 = add nuw nsw i64 %1028, 0
- %1030 = add nuw nsw i64 %1029, 0
- %1031 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1030
- store float %1025, ptr addrspace(1) %1031, align 4
- %1032 = add i32 %1021, 1
- br label %1020
-
-1033: ; preds = %1036, %1020
- %1034 = phi i32 [ %1045, %1036 ], [ 0, %1020 ]
- %1035 = icmp slt i32 %1034, 8
- br i1 %1035, label %1036, label %1046
-
-1036: ; preds = %1033
- %1037 = zext i32 %1034 to i64
- %1038 = extractelement <8 x float> %989, i64 %1037
- %1039 = add nuw nsw i64 24, %1037
- %1040 = add nuw nsw i64 %1039, 0
- %1041 = add nuw nsw i64 %1040, 0
- %1042 = add nuw nsw i64 %1041, 0
- %1043 = add nuw nsw i64 %1042, 0
- %1044 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1043
- store float %1038, ptr addrspace(1) %1044, align 4
- %1045 = add i32 %1034, 1
- br label %1033
-
-1046: ; preds = %1049, %1033
- %1047 = phi i32 [ %1058, %1049 ], [ 0, %1033 ]
- %1048 = icmp slt i32 %1047, 8
- br i1 %1048, label %1049, label %1059
-
-1049: ; preds = %1046
- %1050 = zext i32 %1047 to i64
- %1051 = extractelement <8 x float> %990, i64 %1050
- %1052 = add nuw nsw i64 32, %1050
- %1053 = add nuw nsw i64 %1052, 0
- %1054 = add nuw nsw i64 %1053, 0
- %1055 = add nuw nsw i64 %1054, 0
- %1056 = add nuw nsw i64 %1055, 0
- %1057 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1056
- store float %1051, ptr addrspace(1) %1057, align 4
- %1058 = add i32 %1047, 1
- br label %1046
-
-1059: ; preds = %1062, %1046
- %1060 = phi i32 [ %1071, %1062 ], [ 0, %1046 ]
- %1061 = icmp slt i32 %1060, 8
- br i1 %1061, label %1062, label %1072
-
-1062: ; preds = %1059
- %1063 = zext i32 %1060 to i64
- %1064 = extractelement <8 x float> %991, i64 %1063
- %1065 = add nuw nsw i64 40, %1063
- %1066 = add nuw nsw i64 %1065, 0
- %1067 = add nuw nsw i64 %1066, 0
- %1068 = add nuw nsw i64 %1067, 0
- %1069 = add nuw nsw i64 %1068, 0
- %1070 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1069
- store float %1064, ptr addrspace(1) %1070, align 4
- %1071 = add i32 %1060, 1
- br label %1059
-
-1072: ; preds = %1075, %1059
- %1073 = phi i32 [ %1084, %1075 ], [ 0, %1059 ]
- %1074 = icmp slt i32 %1073, 8
- br i1 %1074, label %1075, label %1085
-
-1075: ; preds = %1072
- %1076 = zext i32 %1073 to i64
- %1077 = extractelement <8 x float> %992, i64 %1076
- %1078 = add nuw nsw i64 48, %1076
- %1079 = add nuw nsw i64 %1078, 0
- %1080 = add nuw nsw i64 %1079, 0
- %1081 = add nuw nsw i64 %1080, 0
- %1082 = add nuw nsw i64 %1081, 0
- %1083 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1082
- store float %1077, ptr addrspace(1) %1083, align 4
- %1084 = add i32 %1073, 1
- br label %1072
-
-1085: ; preds = %1088, %1072
- %1086 = phi i32 [ %1097, %1088 ], [ 0, %1072 ]
- %1087 = icmp slt i32 %1086, 8
- br i1 %1087, label %1088, label %1098
-
-1088: ; preds = %1085
- %1089 = zext i32 %1086 to i64
- %1090 = extractelement <8 x float> %993, i64 %1089
- %1091 = add nuw nsw i64 56, %1089
- %1092 = add nuw nsw i64 %1091, 0
- %1093 = add nuw nsw i64 %1092, 0
- %1094 = add nuw nsw i64 %1093, 0
- %1095 = add nuw nsw i64 %1094, 0
- %1096 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1095
- store float %1090, ptr addrspace(1) %1096, align 4
- %1097 = add i32 %1086, 1
- br label %1085
-
-1098: ; preds = %1085
- ret void
-}
-
; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
declare void @llvm.assume(i1 noundef) #1
@@ -3597,10 +2420,9 @@ attributes #2 = { alwaysinline convergent nocallback nofree nounwind willreturn
attributes #3 = { alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
!llvm.module.flags = !{!0, !1}
-!spirv.ExecutionMode = !{!3, !4}
+!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(4) @_winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
-!4 = !{ptr addrspace(4) @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
+!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
index 1e3004cc45445..b15c0d019391d 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
@@ -1,1229 +1,1229 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - -filetype=obj | spirv-val %}
+; 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.
@__shared_memory__ = private addrspace(3) global [8 x [8 x float]] poison, align 16
- at __constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
- at __constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+ 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(4) #0 {
+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: %106 = OpFunction %11 Inline %12 ; -- Begin function _winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
-; CHECK-NEXT: %104 = OpFunctionParameter %10
+; CHECK: %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: %1228 = OpLabel
-; CHECK-NEXT: %107 = OpBitcast %20 %92
-; CHECK-NEXT: %108 = OpInBoundsPtrAccessChain %20 %107 %52
-; CHECK-NEXT: %109 = OpInBoundsPtrAccessChain %20 %107 %51
-; CHECK-NEXT: %110 = OpInBoundsPtrAccessChain %20 %107 %50
-; CHECK-NEXT: %111 = OpInBoundsPtrAccessChain %20 %107 %49
-; CHECK-NEXT: %112 = OpInBoundsPtrAccessChain %20 %107 %48
-; CHECK-NEXT: %113 = OpInBoundsPtrAccessChain %20 %107 %47
-; CHECK-NEXT: %114 = OpInBoundsPtrAccessChain %20 %107 %46
-; CHECK-NEXT: %115 = OpBitcast %21 %81
-; CHECK-NEXT: %116 = OpInBoundsPtrAccessChain %21 %115 %52
-; CHECK-NEXT: %117 = OpInBoundsPtrAccessChain %21 %115 %51
-; CHECK-NEXT: %118 = OpInBoundsPtrAccessChain %21 %115 %50
-; CHECK-NEXT: %119 = OpInBoundsPtrAccessChain %21 %115 %49
-; CHECK-NEXT: %120 = OpInBoundsPtrAccessChain %21 %115 %48
-; CHECK-NEXT: %121 = OpInBoundsPtrAccessChain %21 %115 %47
-; CHECK-NEXT: %122 = OpInBoundsPtrAccessChain %21 %115 %46
-; CHECK-NEXT: %123 = OpBitcast %21 %91
-; CHECK-NEXT: %124 = OpInBoundsPtrAccessChain %21 %123 %52
-; CHECK-NEXT: %125 = OpInBoundsPtrAccessChain %21 %123 %51
-; CHECK-NEXT: %126 = OpInBoundsPtrAccessChain %21 %123 %50
-; CHECK-NEXT: %127 = OpInBoundsPtrAccessChain %21 %123 %49
-; CHECK-NEXT: %128 = OpInBoundsPtrAccessChain %21 %123 %48
-; CHECK-NEXT: %129 = OpInBoundsPtrAccessChain %21 %123 %47
-; CHECK-NEXT: %130 = OpInBoundsPtrAccessChain %21 %123 %46
-; CHECK-NEXT: OpBranch %1229
+; CHECK-NEXT: %106 = OpFunctionParameter %10
; CHECK-NEXT: %1229 = OpLabel
-; CHECK-NEXT: %131 = OpPhi %13 %132 %1230 %40 %1228
-; CHECK-NEXT: %133 = OpSLessThan %27 %131 %28
-; CHECK-NEXT: OpBranchConditional %133 %1231 %1232
-; CHECK-NEXT: %1232 = OpLabel
-; CHECK-NEXT: OpMemoryBarrier %71 %70
-; CHECK-NEXT: %134 = OpFunctionCall %11 %93 %45
-; CHECK-NEXT: %135 = OpFunctionCall %11 %95 %44
-; CHECK-NEXT: OpMemoryBarrier %71 %71
-; CHECK-NEXT: OpBranch %1233
+; CHECK-NEXT: %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: %136 = OpPhi %13 %137 %1234 %40 %1232
-; CHECK-NEXT: %138 = OpSLessThan %27 %136 %43
-; CHECK-NEXT: OpBranchConditional %138 %1235 %1236
-; CHECK-NEXT: %1236 = OpLabel
-; CHECK-NEXT: OpMemoryBarrier %71 %70
-; CHECK-NEXT: %139 = OpFunctionCall %11 %93 %45
-; CHECK-NEXT: %140 = OpFunctionCall %11 %95 %44
-; CHECK-NEXT: OpMemoryBarrier %71 %71
-; CHECK-NEXT: %141 = OpBitcast %23 %92
-; CHECK-NEXT: %142 = OpLoad %22 %141 Aligned 4
-; CHECK-NEXT: %143 = OpBitcast %23 %108
-; CHECK-NEXT: %144 = OpLoad %22 %143 Aligned 4
-; CHECK-NEXT: %145 = OpBitcast %23 %109
-; CHECK-NEXT: %146 = OpLoad %22 %145 Aligned 4
-; CHECK-NEXT: %147 = OpBitcast %23 %110
-; CHECK-NEXT: %148 = OpLoad %22 %147 Aligned 4
-; CHECK-NEXT: %149 = OpBitcast %23 %111
-; CHECK-NEXT: %150 = OpLoad %22 %149 Aligned 4
-; CHECK-NEXT: %151 = OpBitcast %23 %112
-; CHECK-NEXT: %152 = OpLoad %22 %151 Aligned 4
-; CHECK-NEXT: %153 = OpBitcast %23 %113
-; CHECK-NEXT: %154 = OpLoad %22 %153 Aligned 4
-; CHECK-NEXT: %155 = OpBitcast %23 %114
-; CHECK-NEXT: %156 = OpLoad %22 %155 Aligned 4
-; CHECK-NEXT: %157 = OpCompositeExtract %9 %142 0
-; CHECK-NEXT: %158 = OpCompositeExtract %9 %142 1
-; CHECK-NEXT: %159 = OpCompositeExtract %9 %142 2
-; CHECK-NEXT: %160 = OpCompositeExtract %9 %142 3
-; CHECK-NEXT: %161 = OpCompositeExtract %9 %142 4
-; CHECK-NEXT: %162 = OpCompositeExtract %9 %142 5
-; CHECK-NEXT: %163 = OpCompositeExtract %9 %142 6
-; CHECK-NEXT: %164 = OpCompositeExtract %9 %142 7
-; CHECK-NEXT: %165 = OpCompositeExtract %9 %144 0
-; CHECK-NEXT: %166 = OpCompositeExtract %9 %144 1
-; CHECK-NEXT: %167 = OpCompositeExtract %9 %144 2
-; CHECK-NEXT: %168 = OpCompositeExtract %9 %144 3
-; CHECK-NEXT: %169 = OpCompositeExtract %9 %144 4
-; CHECK-NEXT: %170 = OpCompositeExtract %9 %144 5
-; CHECK-NEXT: %171 = OpCompositeExtract %9 %144 6
-; CHECK-NEXT: %172 = OpCompositeExtract %9 %144 7
-; CHECK-NEXT: %173 = OpCompositeExtract %9 %146 0
-; CHECK-NEXT: %174 = OpCompositeExtract %9 %146 1
-; CHECK-NEXT: %175 = OpCompositeExtract %9 %146 2
-; CHECK-NEXT: %176 = OpCompositeExtract %9 %146 3
-; CHECK-NEXT: %177 = OpCompositeExtract %9 %146 4
-; CHECK-NEXT: %178 = OpCompositeExtract %9 %146 5
-; CHECK-NEXT: %179 = OpCompositeExtract %9 %146 6
-; CHECK-NEXT: %180 = OpCompositeExtract %9 %146 7
-; CHECK-NEXT: %181 = OpCompositeExtract %9 %148 0
-; CHECK-NEXT: %182 = OpCompositeExtract %9 %148 1
-; CHECK-NEXT: %183 = OpCompositeExtract %9 %148 2
-; CHECK-NEXT: %184 = OpCompositeExtract %9 %148 3
-; CHECK-NEXT: %185 = OpCompositeExtract %9 %148 4
-; CHECK-NEXT: %186 = OpCompositeExtract %9 %148 5
-; CHECK-NEXT: %187 = OpCompositeExtract %9 %148 6
-; CHECK-NEXT: %188 = OpCompositeExtract %9 %148 7
-; CHECK-NEXT: %189 = OpCompositeExtract %9 %150 0
-; CHECK-NEXT: %190 = OpCompositeExtract %9 %150 1
-; CHECK-NEXT: %191 = OpCompositeExtract %9 %150 2
-; CHECK-NEXT: %192 = OpCompositeExtract %9 %150 3
-; CHECK-NEXT: %193 = OpCompositeExtract %9 %150 4
-; CHECK-NEXT: %194 = OpCompositeExtract %9 %150 5
-; CHECK-NEXT: %195 = OpCompositeExtract %9 %150 6
-; CHECK-NEXT: %196 = OpCompositeExtract %9 %150 7
-; CHECK-NEXT: %197 = OpCompositeExtract %9 %152 0
-; CHECK-NEXT: %198 = OpCompositeExtract %9 %152 1
-; CHECK-NEXT: %199 = OpCompositeExtract %9 %152 2
-; CHECK-NEXT: %200 = OpCompositeExtract %9 %152 3
-; CHECK-NEXT: %201 = OpCompositeExtract %9 %152 4
-; CHECK-NEXT: %202 = OpCompositeExtract %9 %152 5
-; CHECK-NEXT: %203 = OpCompositeExtract %9 %152 6
-; CHECK-NEXT: %204 = OpCompositeExtract %9 %152 7
-; CHECK-NEXT: %205 = OpCompositeExtract %9 %154 0
-; CHECK-NEXT: %206 = OpCompositeExtract %9 %154 1
-; CHECK-NEXT: %207 = OpCompositeExtract %9 %154 2
-; CHECK-NEXT: %208 = OpCompositeExtract %9 %154 3
-; CHECK-NEXT: %209 = OpCompositeExtract %9 %154 4
-; CHECK-NEXT: %210 = OpCompositeExtract %9 %154 5
-; CHECK-NEXT: %211 = OpCompositeExtract %9 %154 6
-; CHECK-NEXT: %212 = OpCompositeExtract %9 %154 7
-; CHECK-NEXT: %213 = OpCompositeExtract %9 %156 0
-; CHECK-NEXT: %214 = OpCompositeExtract %9 %156 1
-; CHECK-NEXT: %215 = OpCompositeExtract %9 %156 2
-; CHECK-NEXT: %216 = OpCompositeExtract %9 %156 3
-; CHECK-NEXT: %217 = OpCompositeExtract %9 %156 4
-; CHECK-NEXT: %218 = OpCompositeExtract %9 %156 5
-; CHECK-NEXT: %219 = OpCompositeExtract %9 %156 6
-; CHECK-NEXT: %220 = OpCompositeExtract %9 %156 7
-; CHECK-NEXT: %221 = OpBitcast %24 %81
-; CHECK-NEXT: %222 = OpLoad %22 %221 Aligned 4
-; CHECK-NEXT: %223 = OpBitcast %24 %116
-; CHECK-NEXT: %224 = OpLoad %22 %223 Aligned 4
-; CHECK-NEXT: %225 = OpBitcast %24 %117
-; CHECK-NEXT: %226 = OpLoad %22 %225 Aligned 4
-; CHECK-NEXT: %227 = OpBitcast %24 %118
-; CHECK-NEXT: %228 = OpLoad %22 %227 Aligned 4
-; CHECK-NEXT: %229 = OpBitcast %24 %119
-; CHECK-NEXT: %230 = OpLoad %22 %229 Aligned 4
-; CHECK-NEXT: %231 = OpBitcast %24 %120
-; CHECK-NEXT: %232 = OpLoad %22 %231 Aligned 4
-; CHECK-NEXT: %233 = OpBitcast %24 %121
-; CHECK-NEXT: %234 = OpLoad %22 %233 Aligned 4
-; CHECK-NEXT: %235 = OpBitcast %24 %122
-; CHECK-NEXT: %236 = OpLoad %22 %235 Aligned 4
-; CHECK-NEXT: %237 = OpCompositeInsert %22 %157 %97 0
-; CHECK-NEXT: %238 = OpVectorShuffle %22 %237 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %239 = OpVectorShuffle %17 %238 %238 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %240 = OpVectorShuffle %17 %239 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %241 = OpCompositeInsert %22 %165 %97 0
-; CHECK-NEXT: %242 = OpVectorShuffle %22 %241 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %243 = OpVectorShuffle %17 %242 %242 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %244 = OpVectorShuffle %17 %243 %240 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %245 = OpCompositeInsert %22 %173 %97 0
-; CHECK-NEXT: %246 = OpVectorShuffle %22 %245 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %247 = OpVectorShuffle %17 %246 %246 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %248 = OpVectorShuffle %17 %247 %244 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %249 = OpCompositeInsert %22 %181 %97 0
-; CHECK-NEXT: %250 = OpVectorShuffle %22 %249 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %251 = OpVectorShuffle %17 %250 %250 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %252 = OpVectorShuffle %17 %251 %248 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %253 = OpCompositeInsert %22 %189 %97 0
-; CHECK-NEXT: %254 = OpVectorShuffle %22 %253 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %255 = OpVectorShuffle %17 %254 %254 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %256 = OpVectorShuffle %17 %255 %252 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %257 = OpCompositeInsert %22 %197 %97 0
-; CHECK-NEXT: %258 = OpVectorShuffle %22 %257 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %259 = OpVectorShuffle %17 %258 %258 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %260 = OpVectorShuffle %17 %259 %256 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %261 = OpCompositeInsert %22 %205 %97 0
-; CHECK-NEXT: %262 = OpVectorShuffle %22 %261 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %263 = OpVectorShuffle %17 %262 %262 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %264 = OpVectorShuffle %17 %263 %260 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %265 = OpCompositeInsert %22 %213 %97 0
-; CHECK-NEXT: %266 = OpVectorShuffle %22 %265 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %267 = OpVectorShuffle %17 %266 %266 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %268 = OpVectorShuffle %17 %267 %264 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %269 = OpCompositeInsert %22 %158 %97 0
-; CHECK-NEXT: %270 = OpVectorShuffle %22 %269 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %271 = OpVectorShuffle %17 %270 %270 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %272 = OpVectorShuffle %17 %271 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %273 = OpCompositeInsert %22 %166 %97 0
-; CHECK-NEXT: %274 = OpVectorShuffle %22 %273 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %275 = OpVectorShuffle %17 %274 %274 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %276 = OpVectorShuffle %17 %275 %272 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %277 = OpCompositeInsert %22 %174 %97 0
-; CHECK-NEXT: %278 = OpVectorShuffle %22 %277 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %279 = OpVectorShuffle %17 %278 %278 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %280 = OpVectorShuffle %17 %279 %276 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %281 = OpCompositeInsert %22 %182 %97 0
-; CHECK-NEXT: %282 = OpVectorShuffle %22 %281 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %283 = OpVectorShuffle %17 %282 %282 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %284 = OpVectorShuffle %17 %283 %280 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %285 = OpCompositeInsert %22 %190 %97 0
-; CHECK-NEXT: %286 = OpVectorShuffle %22 %285 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %287 = OpVectorShuffle %17 %286 %286 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %288 = OpVectorShuffle %17 %287 %284 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %289 = OpCompositeInsert %22 %198 %97 0
-; CHECK-NEXT: %290 = OpVectorShuffle %22 %289 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %291 = OpVectorShuffle %17 %290 %290 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %292 = OpVectorShuffle %17 %291 %288 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %293 = OpCompositeInsert %22 %206 %97 0
-; CHECK-NEXT: %294 = OpVectorShuffle %22 %293 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %295 = OpVectorShuffle %17 %294 %294 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %296 = OpVectorShuffle %17 %295 %292 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %297 = OpCompositeInsert %22 %214 %97 0
-; CHECK-NEXT: %298 = OpVectorShuffle %22 %297 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %299 = OpVectorShuffle %17 %298 %298 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %300 = OpVectorShuffle %17 %299 %296 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %301 = OpCompositeInsert %22 %159 %97 0
-; CHECK-NEXT: %302 = OpVectorShuffle %22 %301 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %303 = OpVectorShuffle %17 %302 %302 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %304 = OpVectorShuffle %17 %303 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %305 = OpCompositeInsert %22 %167 %97 0
-; CHECK-NEXT: %306 = OpVectorShuffle %22 %305 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %307 = OpVectorShuffle %17 %306 %306 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %308 = OpVectorShuffle %17 %307 %304 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %309 = OpCompositeInsert %22 %175 %97 0
-; CHECK-NEXT: %310 = OpVectorShuffle %22 %309 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %311 = OpVectorShuffle %17 %310 %310 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %312 = OpVectorShuffle %17 %311 %308 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %313 = OpCompositeInsert %22 %183 %97 0
-; CHECK-NEXT: %314 = OpVectorShuffle %22 %313 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %315 = OpVectorShuffle %17 %314 %314 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %316 = OpVectorShuffle %17 %315 %312 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %317 = OpCompositeInsert %22 %191 %97 0
-; CHECK-NEXT: %318 = OpVectorShuffle %22 %317 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %319 = OpVectorShuffle %17 %318 %318 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %320 = OpVectorShuffle %17 %319 %316 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %321 = OpCompositeInsert %22 %199 %97 0
-; CHECK-NEXT: %322 = OpVectorShuffle %22 %321 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %323 = OpVectorShuffle %17 %322 %322 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %324 = OpVectorShuffle %17 %323 %320 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %325 = OpCompositeInsert %22 %207 %97 0
-; CHECK-NEXT: %326 = OpVectorShuffle %22 %325 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %327 = OpVectorShuffle %17 %326 %326 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %328 = OpVectorShuffle %17 %327 %324 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %329 = OpCompositeInsert %22 %215 %97 0
-; CHECK-NEXT: %330 = OpVectorShuffle %22 %329 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %331 = OpVectorShuffle %17 %330 %330 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %332 = OpVectorShuffle %17 %331 %328 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %333 = OpCompositeInsert %22 %160 %97 0
-; CHECK-NEXT: %334 = OpVectorShuffle %22 %333 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %335 = OpVectorShuffle %17 %334 %334 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %336 = OpVectorShuffle %17 %335 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %337 = OpCompositeInsert %22 %168 %97 0
-; CHECK-NEXT: %338 = OpVectorShuffle %22 %337 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %339 = OpVectorShuffle %17 %338 %338 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %340 = OpVectorShuffle %17 %339 %336 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %341 = OpCompositeInsert %22 %176 %97 0
-; CHECK-NEXT: %342 = OpVectorShuffle %22 %341 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %343 = OpVectorShuffle %17 %342 %342 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %344 = OpVectorShuffle %17 %343 %340 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %345 = OpCompositeInsert %22 %184 %97 0
-; CHECK-NEXT: %346 = OpVectorShuffle %22 %345 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %347 = OpVectorShuffle %17 %346 %346 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %348 = OpVectorShuffle %17 %347 %344 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %349 = OpCompositeInsert %22 %192 %97 0
-; CHECK-NEXT: %350 = OpVectorShuffle %22 %349 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %351 = OpVectorShuffle %17 %350 %350 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %352 = OpVectorShuffle %17 %351 %348 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %353 = OpCompositeInsert %22 %200 %97 0
-; CHECK-NEXT: %354 = OpVectorShuffle %22 %353 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %355 = OpVectorShuffle %17 %354 %354 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %356 = OpVectorShuffle %17 %355 %352 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %357 = OpCompositeInsert %22 %208 %97 0
-; CHECK-NEXT: %358 = OpVectorShuffle %22 %357 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %359 = OpVectorShuffle %17 %358 %358 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %360 = OpVectorShuffle %17 %359 %356 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %361 = OpCompositeInsert %22 %216 %97 0
-; CHECK-NEXT: %362 = OpVectorShuffle %22 %361 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %363 = OpVectorShuffle %17 %362 %362 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %364 = OpVectorShuffle %17 %363 %360 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %365 = OpCompositeInsert %22 %161 %97 0
-; CHECK-NEXT: %366 = OpVectorShuffle %22 %365 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %367 = OpVectorShuffle %17 %366 %366 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %368 = OpVectorShuffle %17 %367 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %369 = OpCompositeInsert %22 %169 %97 0
-; CHECK-NEXT: %370 = OpVectorShuffle %22 %369 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %371 = OpVectorShuffle %17 %370 %370 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %372 = OpVectorShuffle %17 %371 %368 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %373 = OpCompositeInsert %22 %177 %97 0
-; CHECK-NEXT: %374 = OpVectorShuffle %22 %373 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %375 = OpVectorShuffle %17 %374 %374 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %376 = OpVectorShuffle %17 %375 %372 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %377 = OpCompositeInsert %22 %185 %97 0
-; CHECK-NEXT: %378 = OpVectorShuffle %22 %377 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %379 = OpVectorShuffle %17 %378 %378 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %380 = OpVectorShuffle %17 %379 %376 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %381 = OpCompositeInsert %22 %193 %97 0
-; CHECK-NEXT: %382 = OpVectorShuffle %22 %381 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %383 = OpVectorShuffle %17 %382 %382 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %384 = OpVectorShuffle %17 %383 %380 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %385 = OpCompositeInsert %22 %201 %97 0
-; CHECK-NEXT: %386 = OpVectorShuffle %22 %385 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %387 = OpVectorShuffle %17 %386 %386 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %388 = OpVectorShuffle %17 %387 %384 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %389 = OpCompositeInsert %22 %209 %97 0
-; CHECK-NEXT: %390 = OpVectorShuffle %22 %389 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %391 = OpVectorShuffle %17 %390 %390 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %392 = OpVectorShuffle %17 %391 %388 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %393 = OpCompositeInsert %22 %217 %97 0
-; CHECK-NEXT: %394 = OpVectorShuffle %22 %393 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %395 = OpVectorShuffle %17 %394 %394 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %396 = OpVectorShuffle %17 %395 %392 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %397 = OpCompositeInsert %22 %162 %97 0
-; CHECK-NEXT: %398 = OpVectorShuffle %22 %397 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %399 = OpVectorShuffle %17 %398 %398 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %400 = OpVectorShuffle %17 %399 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %401 = OpCompositeInsert %22 %170 %97 0
-; CHECK-NEXT: %402 = OpVectorShuffle %22 %401 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %403 = OpVectorShuffle %17 %402 %402 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %404 = OpVectorShuffle %17 %403 %400 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %405 = OpCompositeInsert %22 %178 %97 0
-; CHECK-NEXT: %406 = OpVectorShuffle %22 %405 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %407 = OpVectorShuffle %17 %406 %406 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %408 = OpVectorShuffle %17 %407 %404 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %409 = OpCompositeInsert %22 %186 %97 0
-; CHECK-NEXT: %410 = OpVectorShuffle %22 %409 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %411 = OpVectorShuffle %17 %410 %410 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %412 = OpVectorShuffle %17 %411 %408 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %413 = OpCompositeInsert %22 %194 %97 0
-; CHECK-NEXT: %414 = OpVectorShuffle %22 %413 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %415 = OpVectorShuffle %17 %414 %414 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %416 = OpVectorShuffle %17 %415 %412 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %417 = OpCompositeInsert %22 %202 %97 0
-; CHECK-NEXT: %418 = OpVectorShuffle %22 %417 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %419 = OpVectorShuffle %17 %418 %418 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %420 = OpVectorShuffle %17 %419 %416 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %421 = OpCompositeInsert %22 %210 %97 0
-; CHECK-NEXT: %422 = OpVectorShuffle %22 %421 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %423 = OpVectorShuffle %17 %422 %422 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %424 = OpVectorShuffle %17 %423 %420 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %425 = OpCompositeInsert %22 %218 %97 0
-; CHECK-NEXT: %426 = OpVectorShuffle %22 %425 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %427 = OpVectorShuffle %17 %426 %426 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %428 = OpVectorShuffle %17 %427 %424 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %429 = OpCompositeInsert %22 %163 %97 0
-; CHECK-NEXT: %430 = OpVectorShuffle %22 %429 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %431 = OpVectorShuffle %17 %430 %430 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %432 = OpVectorShuffle %17 %431 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %433 = OpCompositeInsert %22 %171 %97 0
-; CHECK-NEXT: %434 = OpVectorShuffle %22 %433 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %435 = OpVectorShuffle %17 %434 %434 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %436 = OpVectorShuffle %17 %435 %432 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %437 = OpCompositeInsert %22 %179 %97 0
-; CHECK-NEXT: %438 = OpVectorShuffle %22 %437 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %439 = OpVectorShuffle %17 %438 %438 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %440 = OpVectorShuffle %17 %439 %436 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %441 = OpCompositeInsert %22 %187 %97 0
-; CHECK-NEXT: %442 = OpVectorShuffle %22 %441 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %443 = OpVectorShuffle %17 %442 %442 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %444 = OpVectorShuffle %17 %443 %440 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %445 = OpCompositeInsert %22 %195 %97 0
-; CHECK-NEXT: %446 = OpVectorShuffle %22 %445 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %447 = OpVectorShuffle %17 %446 %446 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %448 = OpVectorShuffle %17 %447 %444 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %449 = OpCompositeInsert %22 %203 %97 0
-; CHECK-NEXT: %450 = OpVectorShuffle %22 %449 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %451 = OpVectorShuffle %17 %450 %450 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %452 = OpVectorShuffle %17 %451 %448 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %453 = OpCompositeInsert %22 %211 %97 0
-; CHECK-NEXT: %454 = OpVectorShuffle %22 %453 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %455 = OpVectorShuffle %17 %454 %454 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %456 = OpVectorShuffle %17 %455 %452 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %457 = OpCompositeInsert %22 %219 %97 0
-; CHECK-NEXT: %458 = OpVectorShuffle %22 %457 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %459 = OpVectorShuffle %17 %458 %458 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %460 = OpVectorShuffle %17 %459 %456 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %461 = OpCompositeInsert %22 %164 %97 0
-; CHECK-NEXT: %462 = OpVectorShuffle %22 %461 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %463 = OpVectorShuffle %17 %462 %462 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %464 = OpVectorShuffle %17 %463 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %465 = OpCompositeInsert %22 %172 %97 0
-; CHECK-NEXT: %466 = OpVectorShuffle %22 %465 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %467 = OpVectorShuffle %17 %466 %466 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %468 = OpVectorShuffle %17 %467 %464 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %469 = OpCompositeInsert %22 %180 %97 0
-; CHECK-NEXT: %470 = OpVectorShuffle %22 %469 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %471 = OpVectorShuffle %17 %470 %470 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %472 = OpVectorShuffle %17 %471 %468 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %473 = OpCompositeInsert %22 %188 %97 0
-; CHECK-NEXT: %474 = OpVectorShuffle %22 %473 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %475 = OpVectorShuffle %17 %474 %474 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %476 = OpVectorShuffle %17 %475 %472 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %477 = OpCompositeInsert %22 %196 %97 0
-; CHECK-NEXT: %478 = OpVectorShuffle %22 %477 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %479 = OpVectorShuffle %17 %478 %478 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %480 = OpVectorShuffle %17 %479 %476 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %481 = OpCompositeInsert %22 %204 %97 0
-; CHECK-NEXT: %482 = OpVectorShuffle %22 %481 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %483 = OpVectorShuffle %17 %482 %482 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %484 = OpVectorShuffle %17 %483 %480 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %485 = OpCompositeInsert %22 %212 %97 0
-; CHECK-NEXT: %486 = OpVectorShuffle %22 %485 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %487 = OpVectorShuffle %17 %486 %486 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %488 = OpVectorShuffle %17 %487 %484 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %489 = OpCompositeInsert %22 %220 %97 0
-; CHECK-NEXT: %490 = OpVectorShuffle %22 %489 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %491 = OpVectorShuffle %17 %490 %490 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %492 = OpVectorShuffle %17 %491 %488 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %493 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %494 = OpVectorShuffle %17 %493 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %495 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %496 = OpVectorShuffle %17 %495 %494 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %497 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %498 = OpVectorShuffle %17 %497 %496 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %499 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %500 = OpVectorShuffle %17 %499 %498 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %501 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %502 = OpVectorShuffle %17 %501 %500 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %503 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %504 = OpVectorShuffle %17 %503 %502 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %505 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %506 = OpVectorShuffle %17 %505 %504 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %507 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %508 = OpVectorShuffle %17 %507 %506 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %509 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %510 = OpVectorShuffle %17 %509 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %511 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %512 = OpVectorShuffle %17 %511 %510 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %513 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %514 = OpVectorShuffle %17 %513 %512 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %515 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %516 = OpVectorShuffle %17 %515 %514 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %517 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %518 = OpVectorShuffle %17 %517 %516 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %519 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %520 = OpVectorShuffle %17 %519 %518 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %521 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %522 = OpVectorShuffle %17 %521 %520 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %523 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %524 = OpVectorShuffle %17 %523 %522 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %525 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %526 = OpVectorShuffle %17 %525 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %527 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %528 = OpVectorShuffle %17 %527 %526 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %529 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %530 = OpVectorShuffle %17 %529 %528 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %531 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %532 = OpVectorShuffle %17 %531 %530 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %533 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %534 = OpVectorShuffle %17 %533 %532 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %535 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %536 = OpVectorShuffle %17 %535 %534 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %537 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %538 = OpVectorShuffle %17 %537 %536 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %539 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %540 = OpVectorShuffle %17 %539 %538 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %541 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %542 = OpVectorShuffle %17 %541 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %543 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %544 = OpVectorShuffle %17 %543 %542 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %545 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %546 = OpVectorShuffle %17 %545 %544 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %547 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %548 = OpVectorShuffle %17 %547 %546 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %549 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %550 = OpVectorShuffle %17 %549 %548 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %551 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %552 = OpVectorShuffle %17 %551 %550 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %553 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %554 = OpVectorShuffle %17 %553 %552 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %555 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %556 = OpVectorShuffle %17 %555 %554 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %557 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %558 = OpVectorShuffle %17 %557 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %559 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %560 = OpVectorShuffle %17 %559 %558 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %561 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %562 = OpVectorShuffle %17 %561 %560 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %563 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %564 = OpVectorShuffle %17 %563 %562 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %565 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %566 = OpVectorShuffle %17 %565 %564 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %567 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %568 = OpVectorShuffle %17 %567 %566 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %569 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %570 = OpVectorShuffle %17 %569 %568 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %571 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %572 = OpVectorShuffle %17 %571 %570 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %573 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %574 = OpVectorShuffle %17 %573 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %575 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %576 = OpVectorShuffle %17 %575 %574 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %577 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %578 = OpVectorShuffle %17 %577 %576 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %579 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %580 = OpVectorShuffle %17 %579 %578 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %581 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %582 = OpVectorShuffle %17 %581 %580 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %583 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %584 = OpVectorShuffle %17 %583 %582 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %585 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %586 = OpVectorShuffle %17 %585 %584 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %587 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %588 = OpVectorShuffle %17 %587 %586 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %589 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %590 = OpVectorShuffle %17 %589 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %591 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %592 = OpVectorShuffle %17 %591 %590 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %593 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %594 = OpVectorShuffle %17 %593 %592 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %595 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %596 = OpVectorShuffle %17 %595 %594 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %597 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %598 = OpVectorShuffle %17 %597 %596 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %599 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %600 = OpVectorShuffle %17 %599 %598 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %601 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %602 = OpVectorShuffle %17 %601 %600 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %603 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %604 = OpVectorShuffle %17 %603 %602 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %605 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %606 = OpVectorShuffle %17 %605 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %607 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %608 = OpVectorShuffle %17 %607 %606 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %609 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %610 = OpVectorShuffle %17 %609 %608 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %611 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %612 = OpVectorShuffle %17 %611 %610 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %613 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %614 = OpVectorShuffle %17 %613 %612 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %615 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %616 = OpVectorShuffle %17 %615 %614 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %617 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %618 = OpVectorShuffle %17 %617 %616 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %619 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %620 = OpVectorShuffle %17 %619 %618 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %621 = OpFunctionCall %17 %100 %492 %620 %99
-; CHECK-NEXT: %622 = OpFunctionCall %17 %100 %460 %604 %621
-; CHECK-NEXT: %623 = OpFunctionCall %17 %100 %428 %588 %622
-; CHECK-NEXT: %624 = OpFunctionCall %17 %100 %396 %572 %623
-; CHECK-NEXT: %625 = OpFunctionCall %17 %100 %364 %556 %624
-; CHECK-NEXT: %626 = OpFunctionCall %17 %100 %332 %540 %625
-; CHECK-NEXT: %627 = OpFunctionCall %17 %100 %300 %524 %626
-; CHECK-NEXT: %628 = OpFunctionCall %17 %100 %268 %508 %627
-; CHECK-NEXT: %629 = OpVectorShuffle %22 %628 %628 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %630 = OpVectorShuffle %22 %628 %628 8 9 10 11 12 13 14 15
-; CHECK-NEXT: %631 = OpVectorShuffle %22 %628 %628 16 17 18 19 20 21 22 23
-; CHECK-NEXT: %632 = OpVectorShuffle %22 %628 %628 24 25 26 27 28 29 30 31
-; CHECK-NEXT: %633 = OpVectorShuffle %22 %628 %628 32 33 34 35 36 37 38 39
-; CHECK-NEXT: %634 = OpVectorShuffle %22 %628 %628 40 41 42 43 44 45 46 47
-; CHECK-NEXT: %635 = OpVectorShuffle %22 %628 %628 48 49 50 51 52 53 54 55
-; CHECK-NEXT: %636 = OpVectorShuffle %22 %628 %628 56 57 58 59 60 61 62 63
-; CHECK-NEXT: %637 = OpBitcast %24 %91
-; CHECK-NEXT: %638 = OpLoad %22 %637 Aligned 4
-; CHECK-NEXT: %639 = OpBitcast %24 %124
-; CHECK-NEXT: %640 = OpLoad %22 %639 Aligned 4
-; CHECK-NEXT: %641 = OpBitcast %24 %125
-; CHECK-NEXT: %642 = OpLoad %22 %641 Aligned 4
-; CHECK-NEXT: %643 = OpBitcast %24 %126
-; CHECK-NEXT: %644 = OpLoad %22 %643 Aligned 4
-; CHECK-NEXT: %645 = OpBitcast %24 %127
-; CHECK-NEXT: %646 = OpLoad %22 %645 Aligned 4
-; CHECK-NEXT: %647 = OpBitcast %24 %128
-; CHECK-NEXT: %648 = OpLoad %22 %647 Aligned 4
-; CHECK-NEXT: %649 = OpBitcast %24 %129
-; CHECK-NEXT: %650 = OpLoad %22 %649 Aligned 4
-; CHECK-NEXT: %651 = OpBitcast %24 %130
-; CHECK-NEXT: %652 = OpLoad %22 %651 Aligned 4
-; CHECK-NEXT: %653 = OpCompositeExtract %9 %638 0
-; CHECK-NEXT: %654 = OpCompositeExtract %9 %638 1
-; CHECK-NEXT: %655 = OpCompositeExtract %9 %638 2
-; CHECK-NEXT: %656 = OpCompositeExtract %9 %638 3
-; CHECK-NEXT: %657 = OpCompositeExtract %9 %638 4
-; CHECK-NEXT: %658 = OpCompositeExtract %9 %638 5
-; CHECK-NEXT: %659 = OpCompositeExtract %9 %638 6
-; CHECK-NEXT: %660 = OpCompositeExtract %9 %638 7
-; CHECK-NEXT: %661 = OpCompositeExtract %9 %640 0
-; CHECK-NEXT: %662 = OpCompositeExtract %9 %640 1
-; CHECK-NEXT: %663 = OpCompositeExtract %9 %640 2
-; CHECK-NEXT: %664 = OpCompositeExtract %9 %640 3
-; CHECK-NEXT: %665 = OpCompositeExtract %9 %640 4
-; CHECK-NEXT: %666 = OpCompositeExtract %9 %640 5
-; CHECK-NEXT: %667 = OpCompositeExtract %9 %640 6
-; CHECK-NEXT: %668 = OpCompositeExtract %9 %640 7
-; CHECK-NEXT: %669 = OpCompositeExtract %9 %642 0
-; CHECK-NEXT: %670 = OpCompositeExtract %9 %642 1
-; CHECK-NEXT: %671 = OpCompositeExtract %9 %642 2
-; CHECK-NEXT: %672 = OpCompositeExtract %9 %642 3
-; CHECK-NEXT: %673 = OpCompositeExtract %9 %642 4
-; CHECK-NEXT: %674 = OpCompositeExtract %9 %642 5
-; CHECK-NEXT: %675 = OpCompositeExtract %9 %642 6
-; CHECK-NEXT: %676 = OpCompositeExtract %9 %642 7
-; CHECK-NEXT: %677 = OpCompositeExtract %9 %644 0
-; CHECK-NEXT: %678 = OpCompositeExtract %9 %644 1
-; CHECK-NEXT: %679 = OpCompositeExtract %9 %644 2
-; CHECK-NEXT: %680 = OpCompositeExtract %9 %644 3
-; CHECK-NEXT: %681 = OpCompositeExtract %9 %644 4
-; CHECK-NEXT: %682 = OpCompositeExtract %9 %644 5
-; CHECK-NEXT: %683 = OpCompositeExtract %9 %644 6
-; CHECK-NEXT: %684 = OpCompositeExtract %9 %644 7
-; CHECK-NEXT: %685 = OpCompositeExtract %9 %646 0
-; CHECK-NEXT: %686 = OpCompositeExtract %9 %646 1
-; CHECK-NEXT: %687 = OpCompositeExtract %9 %646 2
-; CHECK-NEXT: %688 = OpCompositeExtract %9 %646 3
-; CHECK-NEXT: %689 = OpCompositeExtract %9 %646 4
-; CHECK-NEXT: %690 = OpCompositeExtract %9 %646 5
-; CHECK-NEXT: %691 = OpCompositeExtract %9 %646 6
-; CHECK-NEXT: %692 = OpCompositeExtract %9 %646 7
-; CHECK-NEXT: %693 = OpCompositeExtract %9 %648 0
-; CHECK-NEXT: %694 = OpCompositeExtract %9 %648 1
-; CHECK-NEXT: %695 = OpCompositeExtract %9 %648 2
-; CHECK-NEXT: %696 = OpCompositeExtract %9 %648 3
-; CHECK-NEXT: %697 = OpCompositeExtract %9 %648 4
-; CHECK-NEXT: %698 = OpCompositeExtract %9 %648 5
-; CHECK-NEXT: %699 = OpCompositeExtract %9 %648 6
-; CHECK-NEXT: %700 = OpCompositeExtract %9 %648 7
-; CHECK-NEXT: %701 = OpCompositeExtract %9 %650 0
-; CHECK-NEXT: %702 = OpCompositeExtract %9 %650 1
-; CHECK-NEXT: %703 = OpCompositeExtract %9 %650 2
-; CHECK-NEXT: %704 = OpCompositeExtract %9 %650 3
-; CHECK-NEXT: %705 = OpCompositeExtract %9 %650 4
-; CHECK-NEXT: %706 = OpCompositeExtract %9 %650 5
-; CHECK-NEXT: %707 = OpCompositeExtract %9 %650 6
-; CHECK-NEXT: %708 = OpCompositeExtract %9 %650 7
-; CHECK-NEXT: %709 = OpCompositeExtract %9 %652 0
-; CHECK-NEXT: %710 = OpCompositeExtract %9 %652 1
-; CHECK-NEXT: %711 = OpCompositeExtract %9 %652 2
-; CHECK-NEXT: %712 = OpCompositeExtract %9 %652 3
-; CHECK-NEXT: %713 = OpCompositeExtract %9 %652 4
-; CHECK-NEXT: %714 = OpCompositeExtract %9 %652 5
-; CHECK-NEXT: %715 = OpCompositeExtract %9 %652 6
-; CHECK-NEXT: %716 = OpCompositeExtract %9 %652 7
-; CHECK-NEXT: %717 = OpCompositeInsert %22 %653 %97 0
-; CHECK-NEXT: %718 = OpVectorShuffle %22 %717 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %719 = OpVectorShuffle %17 %718 %718 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %720 = OpVectorShuffle %17 %719 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %721 = OpCompositeInsert %22 %661 %97 0
-; CHECK-NEXT: %722 = OpVectorShuffle %22 %721 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %723 = OpVectorShuffle %17 %722 %722 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %724 = OpVectorShuffle %17 %723 %720 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %725 = OpCompositeInsert %22 %669 %97 0
-; CHECK-NEXT: %726 = OpVectorShuffle %22 %725 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %727 = OpVectorShuffle %17 %726 %726 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %728 = OpVectorShuffle %17 %727 %724 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %729 = OpCompositeInsert %22 %677 %97 0
-; CHECK-NEXT: %730 = OpVectorShuffle %22 %729 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %731 = OpVectorShuffle %17 %730 %730 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %732 = OpVectorShuffle %17 %731 %728 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %733 = OpCompositeInsert %22 %685 %97 0
-; CHECK-NEXT: %734 = OpVectorShuffle %22 %733 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %735 = OpVectorShuffle %17 %734 %734 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %736 = OpVectorShuffle %17 %735 %732 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %737 = OpCompositeInsert %22 %693 %97 0
-; CHECK-NEXT: %738 = OpVectorShuffle %22 %737 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %739 = OpVectorShuffle %17 %738 %738 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %740 = OpVectorShuffle %17 %739 %736 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %741 = OpCompositeInsert %22 %701 %97 0
-; CHECK-NEXT: %742 = OpVectorShuffle %22 %741 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %743 = OpVectorShuffle %17 %742 %742 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %744 = OpVectorShuffle %17 %743 %740 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %745 = OpCompositeInsert %22 %709 %97 0
-; CHECK-NEXT: %746 = OpVectorShuffle %22 %745 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %747 = OpVectorShuffle %17 %746 %746 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %748 = OpVectorShuffle %17 %747 %744 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %749 = OpCompositeInsert %22 %654 %97 0
-; CHECK-NEXT: %750 = OpVectorShuffle %22 %749 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %751 = OpVectorShuffle %17 %750 %750 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %752 = OpVectorShuffle %17 %751 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %753 = OpCompositeInsert %22 %662 %97 0
-; CHECK-NEXT: %754 = OpVectorShuffle %22 %753 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %755 = OpVectorShuffle %17 %754 %754 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %756 = OpVectorShuffle %17 %755 %752 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %757 = OpCompositeInsert %22 %670 %97 0
-; CHECK-NEXT: %758 = OpVectorShuffle %22 %757 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %759 = OpVectorShuffle %17 %758 %758 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %760 = OpVectorShuffle %17 %759 %756 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %761 = OpCompositeInsert %22 %678 %97 0
-; CHECK-NEXT: %762 = OpVectorShuffle %22 %761 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %763 = OpVectorShuffle %17 %762 %762 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %764 = OpVectorShuffle %17 %763 %760 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %765 = OpCompositeInsert %22 %686 %97 0
-; CHECK-NEXT: %766 = OpVectorShuffle %22 %765 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %767 = OpVectorShuffle %17 %766 %766 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %768 = OpVectorShuffle %17 %767 %764 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %769 = OpCompositeInsert %22 %694 %97 0
-; CHECK-NEXT: %770 = OpVectorShuffle %22 %769 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %771 = OpVectorShuffle %17 %770 %770 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %772 = OpVectorShuffle %17 %771 %768 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %773 = OpCompositeInsert %22 %702 %97 0
-; CHECK-NEXT: %774 = OpVectorShuffle %22 %773 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %775 = OpVectorShuffle %17 %774 %774 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %776 = OpVectorShuffle %17 %775 %772 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %777 = OpCompositeInsert %22 %710 %97 0
-; CHECK-NEXT: %778 = OpVectorShuffle %22 %777 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %779 = OpVectorShuffle %17 %778 %778 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %780 = OpVectorShuffle %17 %779 %776 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %781 = OpCompositeInsert %22 %655 %97 0
-; CHECK-NEXT: %782 = OpVectorShuffle %22 %781 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %783 = OpVectorShuffle %17 %782 %782 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %784 = OpVectorShuffle %17 %783 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %785 = OpCompositeInsert %22 %663 %97 0
-; CHECK-NEXT: %786 = OpVectorShuffle %22 %785 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %787 = OpVectorShuffle %17 %786 %786 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %788 = OpVectorShuffle %17 %787 %784 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %789 = OpCompositeInsert %22 %671 %97 0
-; CHECK-NEXT: %790 = OpVectorShuffle %22 %789 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %791 = OpVectorShuffle %17 %790 %790 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %792 = OpVectorShuffle %17 %791 %788 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %793 = OpCompositeInsert %22 %679 %97 0
-; CHECK-NEXT: %794 = OpVectorShuffle %22 %793 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %795 = OpVectorShuffle %17 %794 %794 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %796 = OpVectorShuffle %17 %795 %792 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %797 = OpCompositeInsert %22 %687 %97 0
-; CHECK-NEXT: %798 = OpVectorShuffle %22 %797 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %799 = OpVectorShuffle %17 %798 %798 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %800 = OpVectorShuffle %17 %799 %796 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %801 = OpCompositeInsert %22 %695 %97 0
-; CHECK-NEXT: %802 = OpVectorShuffle %22 %801 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %803 = OpVectorShuffle %17 %802 %802 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %804 = OpVectorShuffle %17 %803 %800 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %805 = OpCompositeInsert %22 %703 %97 0
-; CHECK-NEXT: %806 = OpVectorShuffle %22 %805 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %807 = OpVectorShuffle %17 %806 %806 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %808 = OpVectorShuffle %17 %807 %804 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %809 = OpCompositeInsert %22 %711 %97 0
-; CHECK-NEXT: %810 = OpVectorShuffle %22 %809 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %811 = OpVectorShuffle %17 %810 %810 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %812 = OpVectorShuffle %17 %811 %808 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %813 = OpCompositeInsert %22 %656 %97 0
-; CHECK-NEXT: %814 = OpVectorShuffle %22 %813 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %815 = OpVectorShuffle %17 %814 %814 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %816 = OpVectorShuffle %17 %815 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %817 = OpCompositeInsert %22 %664 %97 0
-; CHECK-NEXT: %818 = OpVectorShuffle %22 %817 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %819 = OpVectorShuffle %17 %818 %818 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %820 = OpVectorShuffle %17 %819 %816 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %821 = OpCompositeInsert %22 %672 %97 0
-; CHECK-NEXT: %822 = OpVectorShuffle %22 %821 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %823 = OpVectorShuffle %17 %822 %822 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %824 = OpVectorShuffle %17 %823 %820 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %825 = OpCompositeInsert %22 %680 %97 0
-; CHECK-NEXT: %826 = OpVectorShuffle %22 %825 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %827 = OpVectorShuffle %17 %826 %826 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %828 = OpVectorShuffle %17 %827 %824 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %829 = OpCompositeInsert %22 %688 %97 0
-; CHECK-NEXT: %830 = OpVectorShuffle %22 %829 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %831 = OpVectorShuffle %17 %830 %830 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %832 = OpVectorShuffle %17 %831 %828 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %833 = OpCompositeInsert %22 %696 %97 0
-; CHECK-NEXT: %834 = OpVectorShuffle %22 %833 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %835 = OpVectorShuffle %17 %834 %834 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %836 = OpVectorShuffle %17 %835 %832 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %837 = OpCompositeInsert %22 %704 %97 0
-; CHECK-NEXT: %838 = OpVectorShuffle %22 %837 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %839 = OpVectorShuffle %17 %838 %838 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %840 = OpVectorShuffle %17 %839 %836 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %841 = OpCompositeInsert %22 %712 %97 0
-; CHECK-NEXT: %842 = OpVectorShuffle %22 %841 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %843 = OpVectorShuffle %17 %842 %842 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %844 = OpVectorShuffle %17 %843 %840 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %845 = OpCompositeInsert %22 %657 %97 0
-; CHECK-NEXT: %846 = OpVectorShuffle %22 %845 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %847 = OpVectorShuffle %17 %846 %846 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %848 = OpVectorShuffle %17 %847 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %849 = OpCompositeInsert %22 %665 %97 0
-; CHECK-NEXT: %850 = OpVectorShuffle %22 %849 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %851 = OpVectorShuffle %17 %850 %850 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %852 = OpVectorShuffle %17 %851 %848 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %853 = OpCompositeInsert %22 %673 %97 0
-; CHECK-NEXT: %854 = OpVectorShuffle %22 %853 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %855 = OpVectorShuffle %17 %854 %854 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %856 = OpVectorShuffle %17 %855 %852 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %857 = OpCompositeInsert %22 %681 %97 0
-; CHECK-NEXT: %858 = OpVectorShuffle %22 %857 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %859 = OpVectorShuffle %17 %858 %858 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %860 = OpVectorShuffle %17 %859 %856 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %861 = OpCompositeInsert %22 %689 %97 0
-; CHECK-NEXT: %862 = OpVectorShuffle %22 %861 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %863 = OpVectorShuffle %17 %862 %862 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %864 = OpVectorShuffle %17 %863 %860 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %865 = OpCompositeInsert %22 %697 %97 0
-; CHECK-NEXT: %866 = OpVectorShuffle %22 %865 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %867 = OpVectorShuffle %17 %866 %866 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %868 = OpVectorShuffle %17 %867 %864 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %869 = OpCompositeInsert %22 %705 %97 0
-; CHECK-NEXT: %870 = OpVectorShuffle %22 %869 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %871 = OpVectorShuffle %17 %870 %870 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %872 = OpVectorShuffle %17 %871 %868 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %873 = OpCompositeInsert %22 %713 %97 0
-; CHECK-NEXT: %874 = OpVectorShuffle %22 %873 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %875 = OpVectorShuffle %17 %874 %874 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %876 = OpVectorShuffle %17 %875 %872 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %877 = OpCompositeInsert %22 %658 %97 0
-; CHECK-NEXT: %878 = OpVectorShuffle %22 %877 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %879 = OpVectorShuffle %17 %878 %878 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %880 = OpVectorShuffle %17 %879 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %881 = OpCompositeInsert %22 %666 %97 0
-; CHECK-NEXT: %882 = OpVectorShuffle %22 %881 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %883 = OpVectorShuffle %17 %882 %882 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %884 = OpVectorShuffle %17 %883 %880 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %885 = OpCompositeInsert %22 %674 %97 0
-; CHECK-NEXT: %886 = OpVectorShuffle %22 %885 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %887 = OpVectorShuffle %17 %886 %886 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %888 = OpVectorShuffle %17 %887 %884 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %889 = OpCompositeInsert %22 %682 %97 0
-; CHECK-NEXT: %890 = OpVectorShuffle %22 %889 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %891 = OpVectorShuffle %17 %890 %890 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %892 = OpVectorShuffle %17 %891 %888 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %893 = OpCompositeInsert %22 %690 %97 0
-; CHECK-NEXT: %894 = OpVectorShuffle %22 %893 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %895 = OpVectorShuffle %17 %894 %894 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %896 = OpVectorShuffle %17 %895 %892 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %897 = OpCompositeInsert %22 %698 %97 0
-; CHECK-NEXT: %898 = OpVectorShuffle %22 %897 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %899 = OpVectorShuffle %17 %898 %898 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %900 = OpVectorShuffle %17 %899 %896 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %901 = OpCompositeInsert %22 %706 %97 0
-; CHECK-NEXT: %902 = OpVectorShuffle %22 %901 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %903 = OpVectorShuffle %17 %902 %902 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %904 = OpVectorShuffle %17 %903 %900 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %905 = OpCompositeInsert %22 %714 %97 0
-; CHECK-NEXT: %906 = OpVectorShuffle %22 %905 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %907 = OpVectorShuffle %17 %906 %906 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %908 = OpVectorShuffle %17 %907 %904 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %909 = OpCompositeInsert %22 %659 %97 0
-; CHECK-NEXT: %910 = OpVectorShuffle %22 %909 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %911 = OpVectorShuffle %17 %910 %910 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %912 = OpVectorShuffle %17 %911 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %913 = OpCompositeInsert %22 %667 %97 0
-; CHECK-NEXT: %914 = OpVectorShuffle %22 %913 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %915 = OpVectorShuffle %17 %914 %914 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %916 = OpVectorShuffle %17 %915 %912 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %917 = OpCompositeInsert %22 %675 %97 0
-; CHECK-NEXT: %918 = OpVectorShuffle %22 %917 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %919 = OpVectorShuffle %17 %918 %918 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %920 = OpVectorShuffle %17 %919 %916 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %921 = OpCompositeInsert %22 %683 %97 0
-; CHECK-NEXT: %922 = OpVectorShuffle %22 %921 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %923 = OpVectorShuffle %17 %922 %922 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %924 = OpVectorShuffle %17 %923 %920 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %925 = OpCompositeInsert %22 %691 %97 0
-; CHECK-NEXT: %926 = OpVectorShuffle %22 %925 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %927 = OpVectorShuffle %17 %926 %926 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %928 = OpVectorShuffle %17 %927 %924 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %929 = OpCompositeInsert %22 %699 %97 0
-; CHECK-NEXT: %930 = OpVectorShuffle %22 %929 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %931 = OpVectorShuffle %17 %930 %930 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %932 = OpVectorShuffle %17 %931 %928 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %933 = OpCompositeInsert %22 %707 %97 0
-; CHECK-NEXT: %934 = OpVectorShuffle %22 %933 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %935 = OpVectorShuffle %17 %934 %934 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %936 = OpVectorShuffle %17 %935 %932 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %937 = OpCompositeInsert %22 %715 %97 0
-; CHECK-NEXT: %938 = OpVectorShuffle %22 %937 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %939 = OpVectorShuffle %17 %938 %938 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %940 = OpVectorShuffle %17 %939 %936 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %941 = OpCompositeInsert %22 %660 %97 0
-; CHECK-NEXT: %942 = OpVectorShuffle %22 %941 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %943 = OpVectorShuffle %17 %942 %942 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %944 = OpVectorShuffle %17 %943 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %945 = OpCompositeInsert %22 %668 %97 0
-; CHECK-NEXT: %946 = OpVectorShuffle %22 %945 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %947 = OpVectorShuffle %17 %946 %946 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %948 = OpVectorShuffle %17 %947 %944 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %949 = OpCompositeInsert %22 %676 %97 0
-; CHECK-NEXT: %950 = OpVectorShuffle %22 %949 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %951 = OpVectorShuffle %17 %950 %950 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %952 = OpVectorShuffle %17 %951 %948 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %953 = OpCompositeInsert %22 %684 %97 0
-; CHECK-NEXT: %954 = OpVectorShuffle %22 %953 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %955 = OpVectorShuffle %17 %954 %954 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %956 = OpVectorShuffle %17 %955 %952 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %957 = OpCompositeInsert %22 %692 %97 0
-; CHECK-NEXT: %958 = OpVectorShuffle %22 %957 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %959 = OpVectorShuffle %17 %958 %958 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %960 = OpVectorShuffle %17 %959 %956 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %961 = OpCompositeInsert %22 %700 %97 0
-; CHECK-NEXT: %962 = OpVectorShuffle %22 %961 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %963 = OpVectorShuffle %17 %962 %962 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %964 = OpVectorShuffle %17 %963 %960 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %965 = OpCompositeInsert %22 %708 %97 0
-; CHECK-NEXT: %966 = OpVectorShuffle %22 %965 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %967 = OpVectorShuffle %17 %966 %966 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %968 = OpVectorShuffle %17 %967 %964 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %969 = OpCompositeInsert %22 %716 %97 0
-; CHECK-NEXT: %970 = OpVectorShuffle %22 %969 %97 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %971 = OpVectorShuffle %17 %970 %970 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %972 = OpVectorShuffle %17 %971 %968 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %973 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %974 = OpVectorShuffle %17 %973 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %975 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %976 = OpVectorShuffle %17 %975 %974 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %977 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %978 = OpVectorShuffle %17 %977 %976 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %979 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %980 = OpVectorShuffle %17 %979 %978 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %981 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %982 = OpVectorShuffle %17 %981 %980 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %983 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %984 = OpVectorShuffle %17 %983 %982 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %985 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %986 = OpVectorShuffle %17 %985 %984 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %987 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %988 = OpVectorShuffle %17 %987 %986 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %989 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %990 = OpVectorShuffle %17 %989 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %991 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %992 = OpVectorShuffle %17 %991 %990 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %993 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %994 = OpVectorShuffle %17 %993 %992 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %995 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %996 = OpVectorShuffle %17 %995 %994 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %997 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %998 = OpVectorShuffle %17 %997 %996 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %999 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1000 = OpVectorShuffle %17 %999 %998 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1001 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1002 = OpVectorShuffle %17 %1001 %1000 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1003 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1004 = OpVectorShuffle %17 %1003 %1002 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1005 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1006 = OpVectorShuffle %17 %1005 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1007 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1008 = OpVectorShuffle %17 %1007 %1006 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1009 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1010 = OpVectorShuffle %17 %1009 %1008 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1011 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1012 = OpVectorShuffle %17 %1011 %1010 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1013 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1014 = OpVectorShuffle %17 %1013 %1012 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1015 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1016 = OpVectorShuffle %17 %1015 %1014 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1017 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1018 = OpVectorShuffle %17 %1017 %1016 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1019 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1020 = OpVectorShuffle %17 %1019 %1018 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1021 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1022 = OpVectorShuffle %17 %1021 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1023 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1024 = OpVectorShuffle %17 %1023 %1022 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1025 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1026 = OpVectorShuffle %17 %1025 %1024 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1027 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1028 = OpVectorShuffle %17 %1027 %1026 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1029 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1030 = OpVectorShuffle %17 %1029 %1028 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1031 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1032 = OpVectorShuffle %17 %1031 %1030 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1033 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1034 = OpVectorShuffle %17 %1033 %1032 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1035 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1036 = OpVectorShuffle %17 %1035 %1034 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1037 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1038 = OpVectorShuffle %17 %1037 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1039 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1040 = OpVectorShuffle %17 %1039 %1038 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1041 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1042 = OpVectorShuffle %17 %1041 %1040 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1043 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1044 = OpVectorShuffle %17 %1043 %1042 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1045 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1046 = OpVectorShuffle %17 %1045 %1044 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1047 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1048 = OpVectorShuffle %17 %1047 %1046 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1049 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1050 = OpVectorShuffle %17 %1049 %1048 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1051 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1052 = OpVectorShuffle %17 %1051 %1050 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1053 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1054 = OpVectorShuffle %17 %1053 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1055 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1056 = OpVectorShuffle %17 %1055 %1054 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1057 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1058 = OpVectorShuffle %17 %1057 %1056 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1059 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1060 = OpVectorShuffle %17 %1059 %1058 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1061 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1062 = OpVectorShuffle %17 %1061 %1060 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1063 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1064 = OpVectorShuffle %17 %1063 %1062 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1065 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1066 = OpVectorShuffle %17 %1065 %1064 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1067 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1068 = OpVectorShuffle %17 %1067 %1066 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1069 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1070 = OpVectorShuffle %17 %1069 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1071 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1072 = OpVectorShuffle %17 %1071 %1070 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1073 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1074 = OpVectorShuffle %17 %1073 %1072 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1075 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1076 = OpVectorShuffle %17 %1075 %1074 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1077 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1078 = OpVectorShuffle %17 %1077 %1076 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1079 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1080 = OpVectorShuffle %17 %1079 %1078 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1081 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1082 = OpVectorShuffle %17 %1081 %1080 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1083 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1084 = OpVectorShuffle %17 %1083 %1082 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1085 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1086 = OpVectorShuffle %17 %1085 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1087 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1088 = OpVectorShuffle %17 %1087 %1086 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1089 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1090 = OpVectorShuffle %17 %1089 %1088 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1091 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1092 = OpVectorShuffle %17 %1091 %1090 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1093 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1094 = OpVectorShuffle %17 %1093 %1092 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1095 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1096 = OpVectorShuffle %17 %1095 %1094 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1097 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1098 = OpVectorShuffle %17 %1097 %1096 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
-; CHECK-NEXT: %1099 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-; CHECK-NEXT: %1100 = OpVectorShuffle %17 %1099 %1098 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1101 = OpFunctionCall %17 %100 %972 %1100 %99
-; CHECK-NEXT: %1102 = OpFunctionCall %17 %100 %940 %1084 %1101
-; CHECK-NEXT: %1103 = OpFunctionCall %17 %100 %908 %1068 %1102
-; CHECK-NEXT: %1104 = OpFunctionCall %17 %100 %876 %1052 %1103
-; CHECK-NEXT: %1105 = OpFunctionCall %17 %100 %844 %1036 %1104
-; CHECK-NEXT: %1106 = OpFunctionCall %17 %100 %812 %1020 %1105
-; CHECK-NEXT: %1107 = OpFunctionCall %17 %100 %780 %1004 %1106
-; CHECK-NEXT: %1108 = OpFunctionCall %17 %100 %748 %988 %1107
-; CHECK-NEXT: %1109 = OpVectorShuffle %22 %1108 %1108 0 1 2 3 4 5 6 7
-; CHECK-NEXT: %1110 = OpVectorShuffle %22 %1108 %1108 8 9 10 11 12 13 14 15
-; CHECK-NEXT: %1111 = OpVectorShuffle %22 %1108 %1108 16 17 18 19 20 21 22 23
-; CHECK-NEXT: %1112 = OpVectorShuffle %22 %1108 %1108 24 25 26 27 28 29 30 31
-; CHECK-NEXT: %1113 = OpVectorShuffle %22 %1108 %1108 32 33 34 35 36 37 38 39
-; CHECK-NEXT: %1114 = OpVectorShuffle %22 %1108 %1108 40 41 42 43 44 45 46 47
-; CHECK-NEXT: %1115 = OpVectorShuffle %22 %1108 %1108 48 49 50 51 52 53 54 55
-; CHECK-NEXT: %1116 = OpVectorShuffle %22 %1108 %1108 56 57 58 59 60 61 62 63
-; CHECK-NEXT: OpBranch %1237
+; CHECK-NEXT: 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: %1117 = OpPhi %13 %1118 %1238 %40 %1236
-; CHECK-NEXT: %1119 = OpSLessThan %27 %1117 %28
-; CHECK-NEXT: OpBranchConditional %1119 %1238 %2
+; 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 %1239
-; CHECK-NEXT: %1239 = OpLabel
-; CHECK-NEXT: %1120 = OpPhi %13 %1121 %1240 %40 %2
-; CHECK-NEXT: %1122 = OpSLessThan %27 %1120 %28
-; CHECK-NEXT: OpBranchConditional %1122 %1240 %3
+; CHECK-NEXT: 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 %1241
-; CHECK-NEXT: %1241 = OpLabel
-; CHECK-NEXT: %1123 = OpPhi %13 %1124 %1242 %40 %3
-; CHECK-NEXT: %1125 = OpSLessThan %27 %1123 %28
-; CHECK-NEXT: OpBranchConditional %1125 %1242 %4
+; CHECK-NEXT: 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 %1243
-; CHECK-NEXT: %1243 = OpLabel
-; CHECK-NEXT: %1126 = OpPhi %13 %1127 %1244 %40 %4
-; CHECK-NEXT: %1128 = OpSLessThan %27 %1126 %28
-; CHECK-NEXT: OpBranchConditional %1128 %1244 %5
+; CHECK-NEXT: 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 %1245
-; CHECK-NEXT: %1245 = OpLabel
-; CHECK-NEXT: %1129 = OpPhi %13 %1130 %1246 %40 %5
-; CHECK-NEXT: %1131 = OpSLessThan %27 %1129 %28
-; CHECK-NEXT: OpBranchConditional %1131 %1246 %6
+; CHECK-NEXT: 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 %1247
-; CHECK-NEXT: %1247 = OpLabel
-; CHECK-NEXT: %1132 = OpPhi %13 %1133 %1248 %40 %6
-; CHECK-NEXT: %1134 = OpSLessThan %27 %1132 %28
-; CHECK-NEXT: OpBranchConditional %1134 %1248 %7
+; CHECK-NEXT: 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 %1249
-; CHECK-NEXT: %1249 = OpLabel
-; CHECK-NEXT: %1135 = OpPhi %13 %1136 %1250 %40 %7
-; CHECK-NEXT: %1137 = OpSLessThan %27 %1135 %28
-; CHECK-NEXT: OpBranchConditional %1137 %1250 %8
+; CHECK-NEXT: 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 %1251
-; CHECK-NEXT: %1251 = OpLabel
-; CHECK-NEXT: %1138 = OpPhi %13 %1139 %1252 %40 %8
-; CHECK-NEXT: %1140 = OpSLessThan %27 %1138 %28
-; CHECK-NEXT: OpBranchConditional %1140 %1252 %1253
-; CHECK-NEXT: %1253 = OpLabel
-; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpBranch %1252
; CHECK-NEXT: %1252 = OpLabel
-; CHECK-NEXT: %1141 = OpUConvert %26 %1138
-; CHECK-NEXT: %1142 = OpVectorExtractDynamic %9 %1116 %1141
-; CHECK-NEXT: %1143 = OpIAdd %26 %39 %1141
-; CHECK-NEXT: %1144 = OpIAdd %26 %1143 %42
-; CHECK-NEXT: %1145 = OpIAdd %26 %1144 %42
-; CHECK-NEXT: %1146 = OpIAdd %26 %1145 %42
-; CHECK-NEXT: %1147 = OpIAdd %26 %1146 %42
-; CHECK-NEXT: %1148 = OpInBoundsPtrAccessChain %10 %105 %1147
-; CHECK-NEXT: OpStore %1148 %1142 Aligned 4
-; CHECK-NEXT: %1139 = OpIAdd %13 %1138 %38
-; CHECK-NEXT: OpBranch %1251
-; CHECK-NEXT: %1250 = OpLabel
-; CHECK-NEXT: %1149 = OpUConvert %26 %1135
-; CHECK-NEXT: %1150 = OpVectorExtractDynamic %9 %1115 %1149
-; CHECK-NEXT: %1151 = OpIAdd %26 %37 %1149
-; CHECK-NEXT: %1152 = OpIAdd %26 %1151 %42
-; CHECK-NEXT: %1153 = OpIAdd %26 %1152 %42
-; CHECK-NEXT: %1154 = OpIAdd %26 %1153 %42
-; CHECK-NEXT: %1155 = OpIAdd %26 %1154 %42
-; CHECK-NEXT: %1156 = OpInBoundsPtrAccessChain %10 %105 %1155
-; CHECK-NEXT: OpStore %1156 %1150 Aligned 4
-; CHECK-NEXT: %1136 = OpIAdd %13 %1135 %38
-; CHECK-NEXT: OpBranch %1249
-; CHECK-NEXT: %1248 = OpLabel
-; CHECK-NEXT: %1157 = OpUConvert %26 %1132
-; CHECK-NEXT: %1158 = OpVectorExtractDynamic %9 %1114 %1157
-; CHECK-NEXT: %1159 = OpIAdd %26 %36 %1157
-; CHECK-NEXT: %1160 = OpIAdd %26 %1159 %42
-; CHECK-NEXT: %1161 = OpIAdd %26 %1160 %42
-; CHECK-NEXT: %1162 = OpIAdd %26 %1161 %42
-; CHECK-NEXT: %1163 = OpIAdd %26 %1162 %42
-; CHECK-NEXT: %1164 = OpInBoundsPtrAccessChain %10 %105 %1163
-; CHECK-NEXT: OpStore %1164 %1158 Aligned 4
-; CHECK-NEXT: %1133 = OpIAdd %13 %1132 %38
-; CHECK-NEXT: OpBranch %1247
-; CHECK-NEXT: %1246 = OpLabel
-; CHECK-NEXT: %1165 = OpUConvert %26 %1129
-; CHECK-NEXT: %1166 = OpVectorExtractDynamic %9 %1113 %1165
-; CHECK-NEXT: %1167 = OpIAdd %26 %52 %1165
-; CHECK-NEXT: %1168 = OpIAdd %26 %1167 %42
-; CHECK-NEXT: %1169 = OpIAdd %26 %1168 %42
-; CHECK-NEXT: %1170 = OpIAdd %26 %1169 %42
-; CHECK-NEXT: %1171 = OpIAdd %26 %1170 %42
-; CHECK-NEXT: %1172 = OpInBoundsPtrAccessChain %10 %105 %1171
-; CHECK-NEXT: OpStore %1172 %1166 Aligned 4
-; CHECK-NEXT: %1130 = OpIAdd %13 %1129 %38
-; CHECK-NEXT: OpBranch %1245
-; CHECK-NEXT: %1244 = OpLabel
-; CHECK-NEXT: %1173 = OpUConvert %26 %1126
-; CHECK-NEXT: %1174 = OpVectorExtractDynamic %9 %1112 %1173
-; CHECK-NEXT: %1175 = OpIAdd %26 %35 %1173
-; CHECK-NEXT: %1176 = OpIAdd %26 %1175 %42
-; CHECK-NEXT: %1177 = OpIAdd %26 %1176 %42
-; CHECK-NEXT: %1178 = OpIAdd %26 %1177 %42
-; CHECK-NEXT: %1179 = OpIAdd %26 %1178 %42
-; CHECK-NEXT: %1180 = OpInBoundsPtrAccessChain %10 %105 %1179
-; CHECK-NEXT: OpStore %1180 %1174 Aligned 4
-; CHECK-NEXT: %1127 = OpIAdd %13 %1126 %38
-; CHECK-NEXT: OpBranch %1243
-; CHECK-NEXT: %1242 = OpLabel
-; CHECK-NEXT: %1181 = OpUConvert %26 %1123
-; CHECK-NEXT: %1182 = OpVectorExtractDynamic %9 %1111 %1181
-; CHECK-NEXT: %1183 = OpIAdd %26 %34 %1181
-; CHECK-NEXT: %1184 = OpIAdd %26 %1183 %42
-; CHECK-NEXT: %1185 = OpIAdd %26 %1184 %42
-; CHECK-NEXT: %1186 = OpIAdd %26 %1185 %42
-; CHECK-NEXT: %1187 = OpIAdd %26 %1186 %42
-; CHECK-NEXT: %1188 = OpInBoundsPtrAccessChain %10 %105 %1187
-; CHECK-NEXT: OpStore %1188 %1182 Aligned 4
-; CHECK-NEXT: %1124 = OpIAdd %13 %1123 %38
-; CHECK-NEXT: OpBranch %1241
-; CHECK-NEXT: %1240 = OpLabel
-; CHECK-NEXT: %1189 = OpUConvert %26 %1120
-; CHECK-NEXT: %1190 = OpVectorExtractDynamic %9 %1110 %1189
-; CHECK-NEXT: %1191 = OpIAdd %26 %33 %1189
-; CHECK-NEXT: %1192 = OpIAdd %26 %1191 %42
-; CHECK-NEXT: %1193 = OpIAdd %26 %1192 %42
-; CHECK-NEXT: %1194 = OpIAdd %26 %1193 %42
-; CHECK-NEXT: %1195 = OpIAdd %26 %1194 %42
-; CHECK-NEXT: %1196 = OpInBoundsPtrAccessChain %10 %105 %1195
-; CHECK-NEXT: OpStore %1196 %1190 Aligned 4
-; CHECK-NEXT: %1121 = OpIAdd %13 %1120 %38
-; CHECK-NEXT: OpBranch %1239
-; CHECK-NEXT: %1238 = OpLabel
-; CHECK-NEXT: %1197 = OpUConvert %26 %1117
-; CHECK-NEXT: %1198 = OpVectorExtractDynamic %9 %1109 %1197
-; CHECK-NEXT: %1199 = OpIAdd %26 %42 %1197
-; CHECK-NEXT: %1200 = OpIAdd %26 %1199 %42
-; CHECK-NEXT: %1201 = OpIAdd %26 %1200 %42
-; CHECK-NEXT: %1202 = OpIAdd %26 %1201 %42
-; CHECK-NEXT: %1203 = OpIAdd %26 %1202 %42
-; CHECK-NEXT: %1204 = OpInBoundsPtrAccessChain %10 %105 %1203
-; CHECK-NEXT: OpStore %1204 %1198 Aligned 4
-; CHECK-NEXT: %1118 = OpIAdd %13 %1117 %38
-; CHECK-NEXT: OpBranch %1237
-; CHECK-NEXT: %1235 = OpLabel
-; CHECK-NEXT: %1205 = OpUConvert %26 %136
-; CHECK-NEXT: OpBranch %1254
+; CHECK-NEXT: %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: %1206 = OpPhi %13 %1207 %1255 %40 %1235
-; CHECK-NEXT: %1208 = OpSLessThan %27 %1206 %43
-; CHECK-NEXT: OpBranchConditional %1208 %1255 %1234
-; CHECK-NEXT: %1234 = OpLabel
-; CHECK-NEXT: %137 = OpIAdd %13 %136 %38
-; CHECK-NEXT: OpBranch %1233
+; CHECK-NEXT: 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: %1209 = OpUConvert %26 %1206
-; CHECK-NEXT: %1210 = OpIMul %26 %1205 %41
-; CHECK-NEXT: %1211 = OpIAdd %26 %42 %1210
-; CHECK-NEXT: %1212 = OpIAdd %26 %1211 %1209
-; CHECK-NEXT: %1213 = OpInBoundsPtrAccessChain %10 %104 %1212
-; CHECK-NEXT: %1214 = OpLoad %9 %1213 Aligned 4
-; CHECK-NEXT: %1215 = OpIMul %26 %1205 %33
-; CHECK-NEXT: %1216 = OpIAdd %26 %1215 %1209
-; CHECK-NEXT: %1217 = OpBitcast %25 %92
-; CHECK-NEXT: %1218 = OpInBoundsPtrAccessChain %25 %1217 %1216
-; CHECK-NEXT: OpStore %1218 %1214 Aligned 4
-; CHECK-NEXT: %1207 = OpIAdd %13 %1206 %38
-; CHECK-NEXT: OpBranch %1254
-; CHECK-NEXT: %1231 = OpLabel
-; CHECK-NEXT: %1219 = OpUConvert %26 %131
-; CHECK-NEXT: OpBranch %1256
+; CHECK-NEXT: %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: %1220 = OpPhi %13 %1221 %1257 %40 %1231
-; CHECK-NEXT: %1222 = OpSLessThan %27 %1220 %28
-; CHECK-NEXT: OpBranchConditional %1222 %1257 %1230
-; CHECK-NEXT: %1230 = OpLabel
-; CHECK-NEXT: %132 = OpIAdd %13 %131 %38
-; CHECK-NEXT: OpBranch %1229
+; CHECK-NEXT: %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: %1223 = OpUConvert %26 %1220
-; CHECK-NEXT: %1224 = OpIMul %26 %1219 %33
-; CHECK-NEXT: %1225 = OpIAdd %26 %1224 %1223
-; CHECK-NEXT: %1226 = OpBitcast %25 %92
-; CHECK-NEXT: %1227 = OpInBoundsPtrAccessChain %25 %1226 %1225
-; CHECK-NEXT: OpStore %1227 %68 Aligned 4
-; CHECK-NEXT: %1221 = OpIAdd %13 %1220 %38
-; CHECK-NEXT: OpBranch %1256
+; CHECK-NEXT: %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
@@ -1370,14 +1370,14 @@ define spir_kernel void @_winograd_input_nchw_dispatch_0_winograd_input_transfor
%111 = extractelement <8 x float> %49, i64 5
%112 = extractelement <8 x float> %49, i64 6
%113 = extractelement <8 x float> %49, i64 7
- %114 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
- %115 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
- %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
- %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
- %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
- %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
- %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
- %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+ %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>
@@ -1778,14 +1778,14 @@ define spir_kernel void @_winograd_input_nchw_dispatch_0_winograd_input_transfor
%519 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
%520 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
%521 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
- %522 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
- %523 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
- %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
- %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
- %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
- %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
- %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
- %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+ %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
@@ -2423,4 +2423,4 @@ attributes #3 = { alwaysinline nocallback nocreateundeforpoison nofree nosync no
!0 = !{i32 2, !"Debug Info Version", i32 3}
!1 = !{i32 1, !"amdhsa_code_object_version", i32 500}
!2 = !{!"amdgpu-synchronize-as", !"local"}
-!4 = !{ptr addrspace(4) @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
+!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
index 6c7fb882d4c65..4c3b08bc69a21 100644
--- 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
@@ -1,13 +1,13 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; 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: %[[#v17f32:]] = OpTypeVectorIdEXT %[[#float]] 17
; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
; CHECK-DAG: %[[#c17:]] = OpConstant %[[#int]] 17
-; CHECK-DAG: %[[#v17i32:]] = OpTypeVectorIdEXT %[[#int]] 17
+; CHECK-DAG: %[[#v17f32:]] = OpTypeVectorIdEXT %[[#float]] %[[#c17]]
+; CHECK-DAG: %[[#v17i32:]] = OpTypeVectorIdEXT %[[#int]] %[[#c17]]
; CHECK-DAG: %[[#ptr_v17i32:]] = OpTypePointer CrossWorkgroup %[[#v17i32]]
@f1 = internal addrspace(1) global [4 x [17 x float] ] zeroinitializer
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
index 84fa75fbc0875..b68241404d498 100644
--- 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
@@ -1,6 +1,5 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
-; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+; 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"
@@ -8,7 +7,8 @@
; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
; CHECK-DAG: %[[#long:]] = OpTypeInt 64 0
-; CHECK-DAG: %[[#vec17:]] = OpTypeVectorIdEXT %[[#int]] 17
+; 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]]
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
index 20695d7469df0..f6cb7938d4e33 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
@@ -1,11 +1,13 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; 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: %[[#v18i32:]] = OpTypeVectorIdEXT %[[#int]] 18
-; CHECK-DAG: %[[#v9i32:]] = OpTypeVectorIdEXT %[[#int]] 9
+; 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) {
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
index e9dd67c0b40cc..8d1c539432792 100644
--- 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
@@ -1,5 +1,5 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_INTEL_masked_gather_scatter %s -o - | FileCheck %s
-; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; 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
@@ -22,18 +22,25 @@
; CHECK-DAG: %[[#FOURTEEN:]] = OpConstant %[[#I64]] 14
; CHECK-DAG: %[[#FIFTEEN:]] = OpConstant %[[#I64]] 15
; CHECK-DAG: %[[#SIXTEEN:]] = OpConstant %[[#I64]] 16
-; CHECK-DAG: %[[#VPTR17:]] = OpTypeVectorIdEXT %[[#PTR]] 17
-; CHECK-DAG: %[[#VPTR1:]] = OpTypeVectorIdEXT %[[#PTR]] 1
-; CHECK-DAG: %[[#VI64_17:]] = OpTypeVectorIdEXT %[[#I64]] 17
+; CHECK-DAG: %[[#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: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#FIVE]]
+; 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]]
@@ -121,7 +128,8 @@ define spir_kernel void @test_vector_gep_v17(ptr addrspace(1) %p, ptr addrspace(
; 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]] %[[#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]]
@@ -141,115 +149,78 @@ define spir_kernel void @test_vector_gep_vec1_ptr(<1 x ptr addrspace(1)> %ptrs,
; CHECK-NEXT: %[[#OUTV:]] = OpFunctionParameter %[[#PTR]]
; CHECK-NEXT: OpLabel
; CHECK-NEXT: %[[#P0:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 0
-; CHECK-NEXT: %[[#GEP0:]] = OpPtrAccessChain %[[#PTR]] %[[#P0]] %[[#ZERO]]
+; 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: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#ONE]]
+; 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: %[[#GEP2:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#TWO]]
+; 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: %[[#GEP3:]] = OpPtrAccessChain %[[#PTR]] %[[#P3]] %[[#THREE]]
+; 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: %[[#GEP4:]] = OpPtrAccessChain %[[#PTR]] %[[#P4]] %[[#FOUR]]
+; 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: %[[#GEP5:]] = OpPtrAccessChain %[[#PTR]] %[[#P5]] %[[#FIVE]]
+; 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: %[[#GEP6:]] = OpPtrAccessChain %[[#PTR]] %[[#P6]] %[[#SIX]]
+; 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: %[[#GEP7:]] = OpPtrAccessChain %[[#PTR]] %[[#P7]] %[[#SEVEN]]
+; 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: %[[#GEP8:]] = OpPtrAccessChain %[[#PTR]] %[[#P8]] %[[#EIGHT]]
+; 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: %[[#GEP9:]] = OpPtrAccessChain %[[#PTR]] %[[#P9]] %[[#NINE]]
+; 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: %[[#GEP10:]] = OpPtrAccessChain %[[#PTR]] %[[#P10]] %[[#TEN]]
+; 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: %[[#GEP11:]] = OpPtrAccessChain %[[#PTR]] %[[#P11]] %[[#ELEVEN]]
+; 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: %[[#GEP12:]] = OpPtrAccessChain %[[#PTR]] %[[#P12]] %[[#TWELVE]]
+; 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: %[[#GEP13:]] = OpPtrAccessChain %[[#PTR]] %[[#P13]] %[[#THIRTEEN]]
+; 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: %[[#GEP14:]] = OpPtrAccessChain %[[#PTR]] %[[#P14]] %[[#FOURTEEN]]
+; 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: %[[#GEP15:]] = OpPtrAccessChain %[[#PTR]] %[[#P15]] %[[#FIFTEEN]]
+; 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: %[[#GEP16:]] = OpPtrAccessChain %[[#PTR]] %[[#P16]] %[[#SIXTEEN]]
+; 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
- ; %105 = OpCompositeExtract %3 %102 0
- ; %106 = OpPtrAccessChain %3 %105 %14
- ; %107 = OpCompositeInsert %9 %106 %11 0
- ; %108 = OpCompositeExtract %3 %102 1
- ; %109 = OpPtrAccessChain %3 %108 %30
- ; %110 = OpCompositeInsert %9 %109 %107 1
- ; %111 = OpCompositeExtract %3 %102 2
- ; %112 = OpPtrAccessChain %3 %111 %29
- ; %113 = OpCompositeInsert %9 %112 %110 2
- ; %114 = OpCompositeExtract %3 %102 3
- ; %115 = OpPtrAccessChain %3 %114 %28
- ; %116 = OpCompositeInsert %9 %115 %113 3
- ; %117 = OpCompositeExtract %3 %102 4
- ; %118 = OpPtrAccessChain %3 %117 %8
- ; %119 = OpCompositeInsert %9 %118 %116 4
- ; %120 = OpCompositeExtract %3 %102 5
- ; %121 = OpPtrAccessChain %3 %120 %27
- ; %122 = OpCompositeInsert %9 %121 %119 5
- ; %123 = OpCompositeExtract %3 %102 6
- ; %124 = OpPtrAccessChain %3 %123 %26
- ; %125 = OpCompositeInsert %9 %124 %122 6
- ; %126 = OpCompositeExtract %3 %102 7
- ; %127 = OpPtrAccessChain %3 %126 %25
- ; %128 = OpCompositeInsert %9 %127 %125 7
- ; %129 = OpCompositeExtract %3 %102 8
- ; %130 = OpPtrAccessChain %3 %129 %24
- ; %131 = OpCompositeInsert %9 %130 %128 8
- ; %132 = OpCompositeExtract %3 %102 9
- ; %133 = OpPtrAccessChain %3 %132 %23
- ; %134 = OpCompositeInsert %9 %133 %131 9
- ; %135 = OpCompositeExtract %3 %102 10
- ; %136 = OpPtrAccessChain %3 %135 %22
- ; %137 = OpCompositeInsert %9 %136 %134 10
- ; %138 = OpCompositeExtract %3 %102 11
- ; %139 = OpPtrAccessChain %3 %138 %21
- ; %140 = OpCompositeInsert %9 %139 %137 11
- ; %141 = OpCompositeExtract %3 %102 12
- ; %142 = OpPtrAccessChain %3 %141 %20
- ; %143 = OpCompositeInsert %9 %142 %140 12
- ; %144 = OpCompositeExtract %3 %102 13
- ; %145 = OpPtrAccessChain %3 %144 %19
- ; %146 = OpCompositeInsert %9 %145 %143 13
- ; %147 = OpCompositeExtract %3 %102 14
- ; %148 = OpPtrAccessChain %3 %147 %18
- ; %149 = OpCompositeInsert %9 %148 %146 14
- ; %150 = OpCompositeExtract %3 %102 15
- ; %151 = OpPtrAccessChain %3 %150 %17
- ; %152 = OpCompositeInsert %9 %151 %149 15
- ; %153 = OpCompositeExtract %3 %102 16
- ; %154 = OpPtrAccessChain %3 %153 %16
- ; %155 = OpCompositeInsert %9 %154 %152 16
- ; %156 = OpCompositeExtract %3 %155 0
- ; %157 = OpLoad %2 %156 Aligned 4
- ; OpStore %103 %157 Aligned 4
define spir_kernel void @test_vector_gep_vec_ptr(<17 x ptr addrspace(1)> %ptrs, ptr addrspace(1) %out) {
%gep = getelementptr i32, <17 x ptr addrspace(1)> %ptrs, <17 x i64> <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15, i64 16>
%elem = extractelement <17 x ptr addrspace(1)> %gep, i32 0
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]]
>From 6d2710c71c25042b7194bdddc669cd09c6747ac4 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Sun, 9 Aug 2026 19:49:47 +0100
Subject: [PATCH 24/31] Fix formatting.
---
llvm/lib/IR/Type.cpp | 6 +++---
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 4 ++--
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 16 ++++++++--------
3 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/llvm/lib/IR/Type.cpp b/llvm/lib/IR/Type.cpp
index ead9be18a3b5f..869409e6979f3 100644
--- a/llvm/lib/IR/Type.cpp
+++ b/llvm/lib/IR/Type.cpp
@@ -1073,9 +1073,9 @@ static TargetTypeInfo getTargetTypeInfo(const TargetExtType *Ty) {
if (Name.starts_with("spirv.")) {
if (Name.ends_with("TypedPointerType"))
return TargetTypeInfo(PointerType::get(C, 0), TargetExtType::HasZeroInit,
- TargetExtType::CanBeGlobal,
- TargetExtType::CanBeLocal,
- TargetExtType::CanBeVectorElement);
+ TargetExtType::CanBeGlobal,
+ TargetExtType::CanBeLocal,
+ TargetExtType::CanBeVectorElement);
return TargetTypeInfo(PointerType::get(C, 0), TargetExtType::HasZeroInit,
TargetExtType::CanBeGlobal,
TargetExtType::CanBeLocal);
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 60f4d012cdff6..b671e50b3b6bc 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2039,8 +2039,8 @@ SPIRVEmitIntrinsicsImpl::visitGetElementPtrInst(GetElementPtrInst &I) {
// 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());
+ auto *EI =
+ ExtractElementInst::Create(Idx, LaneIdx, "", B.GetInsertPoint());
if (isVector1(Idx->getType())) // IRTranslator clobbers <1 x T>.
Args.push_back(visitExtractElementInst(*EI));
else
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 5b822f27d25ed..ae22e26ba9219 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -637,9 +637,9 @@ Register SPIRVGlobalRegistry::getOrCreateConstVector(const APInt &Val,
Type *LLVMBaseTy = LLVMVecTy->getElementType();
const auto &ST = I.getMF()->getSubtarget<SPIRVSubtarget>();
assert((LLVMBaseTy->isIntegerTy() ||
- (LLVMBaseTy->isPointerTy() &&
- ST.canUseExtension(
- SPIRV::Extension::SPV_INTEL_masked_gather_scatter))) &&
+ (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!");
@@ -1477,8 +1477,8 @@ SPIRVGlobalRegistry::getScalarOrVectorComponentCount(SPIRVTypeInst Type) const {
return 0;
if (isVectorType(Type))
return (Type->getOpcode() == SPIRV::OpTypeVector)
- ? static_cast<unsigned>(Type->getOperand(2).getImm())
- : foldImm(Type->getOperand(2), &CurMF->getRegInfo());
+ ? static_cast<unsigned>(Type->getOperand(2).getImm())
+ : foldImm(Type->getOperand(2), &CurMF->getRegInfo());
return 1;
}
@@ -2044,9 +2044,9 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
// 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))));
+ return const_cast<MachineInstr *>(
+ static_cast<const MachineInstr *>(getOpTypeVectorImpl(
+ NumElements, BaseType, MIRBuilder, isLongVectorEXT(Ty))));
});
add(Ty, false, NewMI);
return finishCreatingSPIRVType(Ty, NewMI);
>From 5d6a8dcaa11222f97b557ee47c46983cb69cbcc2 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 18 Aug 2026 12:20:38 +0100
Subject: [PATCH 25/31] Fix merge artifact.
---
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
index 6ba33607d0039..37911c1bffd88 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
@@ -477,8 +477,6 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
SPIRVTypeInst getOpTypeFloat(uint32_t Width, MachineIRBuilder &MIRBuilder,
SPIRV::FPEncoding::FPEncoding FPEncode);
- SPIRVTypeInst getOpTypeVoid(MachineIRBuilder &MIRBuilder);
-
SPIRVTypeInst getOpTypeVectorImpl(uint32_t NumElems, SPIRVTypeInst ElemType,
MachineIRBuilder &MIRBuilder,
bool IsLongVectorEXT = false);
>From f56e48627cf5e73f02cbc370cf99b0992a1b0b44 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 25 Aug 2026 13:22:04 +0100
Subject: [PATCH 26/31] Fix noise.
---
llvm/lib/Target/SPIRV/SPIRVInstrInfo.td | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
index 2c34cc32ee0bd..04dea3ead579f 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
+++ b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
@@ -813,7 +813,7 @@ def OpWritePipe: Op<275, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$Pointer,
"$res = OpWritePipe $type $Pipe $Pointer $PcktSize $PcktAlign">;
def OpReservedReadPipe : Op<276, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
"$res = OpReservedReadPipe $type $Pipe $ReserveId $Index $Pointer $PcktSize $PcktAlign">;
-def OpReservedWritePipe : Op<277, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
+def OpReservedWritePipe : Op<277, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
"$res = OpReservedWritePipe $type $Pipe $ReserveId $Index $Pointer $PcktSize $PcktAlign">;
def OpReserveReadPipePackets : Op<278, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$NumPckts, ID:$PcktSize, ID:$PcktAlign),
"$res = OpReserveReadPipePackets $type $Pipe $NumPckts $PcktSize $PcktAlign">;
@@ -1015,15 +1015,15 @@ def OpBitwiseFunctionINTEL: Op<6242, (outs ID:$res), (ins TYPE:$type, ID:$a, ID:
"$res = OpBitwiseFunctionINTEL $type $a $b $c $lut_index">;
// SPV_ALTERA_arbitrary_precision_floating_point
-def OpArbitraryFloatGTALTERA: Op<5850, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatGTALTERA: Op<5850, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatGTALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatGEALTERA: Op<5851, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatGEALTERA: Op<5851, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatGEALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatLTALTERA: Op<5852, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatLTALTERA: Op<5852, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatLTALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatLEALTERA: Op<5853, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatLEALTERA: Op<5853, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatLEALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatEQALTERA: Op<5854, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
+def OpArbitraryFloatEQALTERA: Op<5854, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
"$res = OpArbitraryFloatEQALTERA $type $A $Ma $B $Mb">;
def OpArbitraryFloatRecipALTERA: Op<5855, (outs ID:$res),
(ins TYPE:$type, ID:$A, i32imm:$Ma, i32imm:$Mresult, i32imm:$subnormalMode, i32imm:$RoundingMode, i32imm:$RoundingAccuracy),
>From 8facf880f1a66896f9020b4bd61c7897aca2edcf Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 25 Aug 2026 13:53:14 +0100
Subject: [PATCH 27/31] Clean up naming.
---
llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index 2aed6db9ec828..b1be6633efc52 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -6743,10 +6743,10 @@ bool SPIRVInstructionSelector::extractSubvector(
[[maybe_unused]] uint64_t InputSize =
GR.getScalarOrVectorComponentCount(InputType);
uint64_t ResultSize = GR.getScalarOrVectorComponentCount(ResType);
- bool IsLongVector =
+ bool IsLongVectorEXT =
STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
- assert((InputSize > 1 || IsLongVector) && "The input must be a vector.");
- assert((ResultSize > 1 || IsLongVector) && "The result must be a vector.");
+ assert((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;
>From 53cc8ab57c6f59a5ed40ad0590652266b5e661b2 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 25 Aug 2026 14:02:41 +0100
Subject: [PATCH 28/31] Clarify assert.
---
.../Target/SPIRV/SPIRVInstructionSelector.cpp | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index b1be6633efc52..ab82ea21bab02 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -3354,10 +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) ||
- VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- "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);
@@ -3415,10 +3416,11 @@ bool SPIRVInstructionSelector::selectIntegerDotExpansion(
.addUse(Vec1)
.constrainAllUses(TII, TRI, RBI);
- assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
- GR.getScalarOrVectorComponentCount(VecType) > 1) ||
- VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
- "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))
>From 0882e8556eb97e45d1ee34f007597380efa7ce25 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 25 Aug 2026 16:30:55 +0100
Subject: [PATCH 29/31] Fix formatting.
---
llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index ab82ea21bab02..e64c5ad38ba2a 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -3357,8 +3357,8 @@ bool SPIRVInstructionSelector::selectFloatDot(Register ResVReg,
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.");
+ "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);
@@ -3419,8 +3419,8 @@ bool SPIRVInstructionSelector::selectIntegerDotExpansion(
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.");
+ "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))
>From 7c7d535f87b006b8d71db5e74460dae76ccb086c Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Wed, 26 Aug 2026 18:32:59 +0100
Subject: [PATCH 30/31] Add test for huge(-ish) vectors.
---
.../SPV_EXT_long_vector/huge-vector.ll | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/huge-vector.ll
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
>From a02b342c1318da04b6800335463fad03f3f018e2 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 27 Aug 2026 11:28:21 +0100
Subject: [PATCH 31/31] Fix `-werror` errors.
---
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 2 +-
llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 433edbfb12a9f..29d21fb9447ca 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -635,7 +635,7 @@ Register SPIRVGlobalRegistry::getOrCreateConstVector(const APInt &Val,
"Expected vector type for constant vector creation");
const FixedVectorType *LLVMVecTy = cast<FixedVectorType>(LLVMTy);
Type *LLVMBaseTy = LLVMVecTy->getElementType();
- const auto &ST = I.getMF()->getSubtarget<SPIRVSubtarget>();
+ [[maybe_unused]] const auto &ST = I.getMF()->getSubtarget<SPIRVSubtarget>();
assert((LLVMBaseTy->isIntegerTy() ||
(LLVMBaseTy->isPointerTy() &&
ST.canUseExtension(
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index e64c5ad38ba2a..2ec4ede8dd8f5 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -6745,7 +6745,7 @@ bool SPIRVInstructionSelector::extractSubvector(
[[maybe_unused]] uint64_t InputSize =
GR.getScalarOrVectorComponentCount(InputType);
uint64_t ResultSize = GR.getScalarOrVectorComponentCount(ResType);
- bool IsLongVectorEXT =
+ [[maybe_unused]] 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.");
More information about the llvm-commits
mailing list