; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -passes=early-cse -earlycse-debug-hash -S < %s | FileCheck %s

target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64"

; This test checks that SimplifyInstruction does not blow up in the face of
; a scalable shufflevector. vscale is a constant value known only at runtime.
; Therefore, it is not possible to know the concrete value of, or the length
; of the mask at compile time. Simplifications that depend on the value
; of the mask cannot be performed.

; Given the fact that the value of the mask is unknown at compile time for
; scalable vectors, very few simplifications will be done. Here, we want to
; see that the instruction can be passed to SimplifyInstruction and not crash
; the compiler. It happens to be the case that this will be the result.


define <vscale x 8 x i1> @vscale_version() {
; CHECK-LABEL: define <vscale x 8 x i1> @vscale_version() {
; CHECK-NEXT:    ret <vscale x 8 x i1> splat (i1 true)
;
  %splatter = insertelement <vscale x 8 x i1> undef, i1 true, i32 0
  %foo = shufflevector <vscale x 8 x i1> %splatter, <vscale x 8 x i1> undef, <vscale x 8 x i32> zeroinitializer
  ret <vscale x 8 x i1> %foo
}

; The non-scalable version should be optimized as normal.

define <8 x i1> @fixed_length_version() {
; CHECK-LABEL: define <8 x i1> @fixed_length_version() {
; CHECK-NEXT:    ret <8 x i1> splat (i1 true)
;
  %splatter = insertelement <8 x i1> undef, i1 true, i32 0
  %foo = shufflevector <8 x i1> %splatter, <8 x i1> undef, <8 x i32> zeroinitializer
  ret <8 x i1> %foo
}

