; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5

; RUN: opt -mtriple=riscv64 -mattr=+m,+v,+unaligned-vector-mem -passes=slp-vectorizer -S < %s | FileCheck %s

define void @const_stride_1_no_reordering(ptr %pl, ptr %ps) {
; CHECK-LABEL: define void @const_stride_1_no_reordering(
; CHECK-SAME: ptr [[PL:%.*]], ptr [[PS:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 0
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = load <16 x i8>, ptr [[GEP_L0]], align 1
; CHECK-NEXT:    store <16 x i8> [[TMP1]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 1
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 2
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 3
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 4
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 5
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 6
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 7
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 8
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 9
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 10
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 11
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 12
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 13
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 14
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 15

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load0, ptr %gep_s0, align 1
  store i8 %load1, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}

define void @const_stride_1_with_reordering(ptr %pl, ptr %ps) {
; CHECK-LABEL: define void @const_stride_1_with_reordering(
; CHECK-SAME: ptr [[PL:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 0
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = load <16 x i8>, ptr [[GEP_L0]], align 1
; CHECK-NEXT:    [[TMP2:%.*]] = shufflevector <16 x i8> [[TMP1]], <16 x i8> poison, <16 x i32> <i32 1, i32 0, 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>
; CHECK-NEXT:    store <16 x i8> [[TMP2]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 1
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 2
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 3
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 4
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 5
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 6
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 7
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 8
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 9
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 10
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 11
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 12
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 13
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 14
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 15

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  ; NOTE: value from %load1 in stored in  %gep_s0
  store i8 %load1, ptr %gep_s0, align 1
  store i8 %load0, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}


define void @const_stride_2_no_reordering(ptr %pl, ptr %ps) {
; CHECK-LABEL: define void @const_stride_2_no_reordering(
; CHECK-SAME: ptr [[PL:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 0
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP2:%.*]] = call <31 x i8> @llvm.masked.load.v31i8.p0(ptr align 1 [[GEP_L0]], <31 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true>, <31 x i8> poison)
; CHECK-NEXT:    [[TMP1:%.*]] = shufflevector <31 x i8> [[TMP2]], <31 x i8> poison, <16 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16, i32 18, i32 20, i32 22, i32 24, i32 26, i32 28, i32 30>
; CHECK-NEXT:    store <16 x i8> [[TMP1]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 2
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 4
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 6
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 8
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 10
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 12
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 14
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 16
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 18
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 20
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 22
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 24
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 26
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 28
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 30

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load0, ptr %gep_s0, align 1
  store i8 %load1, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}

define void @const_stride_2_with_reordering(ptr %pl, ptr %ps) {
; CHECK-LABEL: define void @const_stride_2_with_reordering(
; CHECK-SAME: ptr [[PL:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 0
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = call <31 x i8> @llvm.masked.load.v31i8.p0(ptr align 1 [[GEP_L0]], <31 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true>, <31 x i8> poison)
; CHECK-NEXT:    [[TMP3:%.*]] = shufflevector <31 x i8> [[TMP1]], <31 x i8> poison, <16 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16, i32 18, i32 20, i32 22, i32 24, i32 26, i32 28, i32 30>
; CHECK-NEXT:    [[TMP2:%.*]] = shufflevector <31 x i8> [[TMP1]], <31 x i8> poison, <16 x i32> <i32 2, i32 0, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16, i32 18, i32 20, i32 22, i32 24, i32 26, i32 28, i32 30>
; CHECK-NEXT:    store <16 x i8> [[TMP2]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 2
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 4
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 6
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 8
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 10
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 12
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 14
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 16
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 18
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 20
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 22
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 24
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 26
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 28
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 30

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load1, ptr %gep_s0, align 1
  store i8 %load0, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}

define void @rt_stride_1_no_reordering(ptr %pl, i64 %stride, ptr %ps) {
; CHECK-LABEL: define void @rt_stride_1_no_reordering(
; CHECK-SAME: ptr [[PL:%.*]], i64 [[STRIDE:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[STRIDE0:%.*]] = mul nsw i64 [[STRIDE]], 0
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 [[STRIDE0]]
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = mul i64 [[STRIDE]], 1
; CHECK-NEXT:    [[TMP2:%.*]] = call <16 x i8> @llvm.experimental.vp.strided.load.v16i8.p0.i64(ptr align 1 [[GEP_L0]], i64 [[TMP1]], <16 x i1> splat (i1 true), i32 16)
; CHECK-NEXT:    store <16 x i8> [[TMP2]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %stride0  = mul nsw i64 %stride, 0
  %stride1  = mul nsw i64 %stride, 1
  %stride2  = mul nsw i64 %stride, 2
  %stride3  = mul nsw i64 %stride, 3
  %stride4  = mul nsw i64 %stride, 4
  %stride5  = mul nsw i64 %stride, 5
  %stride6  = mul nsw i64 %stride, 6
  %stride7  = mul nsw i64 %stride, 7
  %stride8  = mul nsw i64 %stride, 8
  %stride9  = mul nsw i64 %stride, 9
  %stride10 = mul nsw i64 %stride, 10
  %stride11 = mul nsw i64 %stride, 11
  %stride12 = mul nsw i64 %stride, 12
  %stride13 = mul nsw i64 %stride, 13
  %stride14 = mul nsw i64 %stride, 14
  %stride15 = mul nsw i64 %stride, 15

  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 %stride0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 %stride1
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 %stride2
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 %stride3
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 %stride4
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 %stride5
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 %stride6
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 %stride7
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 %stride8
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 %stride9
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 %stride10
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 %stride11
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 %stride12
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 %stride13
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 %stride14
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 %stride15

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load0, ptr %gep_s0, align 1
  store i8 %load1, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}

define void @rt_stride_1_with_reordering(ptr %pl, i64 %stride, ptr %ps) {
; CHECK-LABEL: define void @rt_stride_1_with_reordering(
; CHECK-SAME: ptr [[PL:%.*]], i64 [[STRIDE:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[STRIDE0:%.*]] = mul nsw i64 [[STRIDE]], 0
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 [[STRIDE0]]
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = mul i64 [[STRIDE]], 1
; CHECK-NEXT:    [[TMP2:%.*]] = call <16 x i8> @llvm.experimental.vp.strided.load.v16i8.p0.i64(ptr align 1 [[GEP_L0]], i64 [[TMP1]], <16 x i1> splat (i1 true), i32 16)
; CHECK-NEXT:    [[TMP3:%.*]] = shufflevector <16 x i8> [[TMP2]], <16 x i8> poison, <16 x i32> <i32 1, i32 0, 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>
; CHECK-NEXT:    store <16 x i8> [[TMP3]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %stride0  = mul nsw i64 %stride, 0
  %stride1  = mul nsw i64 %stride, 1
  %stride2  = mul nsw i64 %stride, 2
  %stride3  = mul nsw i64 %stride, 3
  %stride4  = mul nsw i64 %stride, 4
  %stride5  = mul nsw i64 %stride, 5
  %stride6  = mul nsw i64 %stride, 6
  %stride7  = mul nsw i64 %stride, 7
  %stride8  = mul nsw i64 %stride, 8
  %stride9  = mul nsw i64 %stride, 9
  %stride10 = mul nsw i64 %stride, 10
  %stride11 = mul nsw i64 %stride, 11
  %stride12 = mul nsw i64 %stride, 12
  %stride13 = mul nsw i64 %stride, 13
  %stride14 = mul nsw i64 %stride, 14
  %stride15 = mul nsw i64 %stride, 15

  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 %stride0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 %stride1
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 %stride2
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 %stride3
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 %stride4
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 %stride5
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 %stride6
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 %stride7
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 %stride8
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 %stride9
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 %stride10
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 %stride11
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 %stride12
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 %stride13
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 %stride14
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 %stride15

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load1, ptr %gep_s0, align 1
  store i8 %load0, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}

define void @constant_stride_masked_no_reordering(ptr %pl, i64 %stride, ptr %ps) {
; CHECK-LABEL: define void @constant_stride_masked_no_reordering(
; CHECK-SAME: ptr [[PL:%.*]], i64 [[STRIDE:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 0
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = call <28 x i8> @llvm.masked.load.v28i8.p0(ptr align 1 [[GEP_L0]], <28 x i1> <i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true>, <28 x i8> poison)
; CHECK-NEXT:    [[TMP2:%.*]] = shufflevector <28 x i8> [[TMP1]], <28 x i8> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11, i32 16, i32 17, i32 18, i32 19, i32 24, i32 25, i32 26, i32 27>
; CHECK-NEXT:    store <16 x i8> [[TMP2]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 1
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 2
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 3
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 8
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 9
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 10
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 11
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 16
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 17
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 18
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 19
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 24
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 25
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 26
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 27

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load0, ptr %gep_s0, align 1
  store i8 %load1, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}

; TODO: We want to generate this code:
; define void @constant_stride_widen_no_reordering(ptr %pl, i64 %stride, ptr %ps) #0 {
;   %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 0
;   %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
;   %1 = call <4 x i32> @llvm.experimental.vp.strided.load.v4i32.p0.i64(ptr align 1 %gep_l0, i64 100, <4 x i1> splat (i1 true), i32 4)
;   %2 = bitcast <4 x i32> %1 to <16 x i8>
;   store <16 x i8> %2, ptr %gep_s0, align 1
;   ret void
; }
define void @constant_stride_widen_no_reordering(ptr %pl, i64 %stride, ptr %ps) {
; CHECK-LABEL: define void @constant_stride_widen_no_reordering(
; CHECK-SAME: ptr [[PL:%.*]], i64 [[STRIDE:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 0
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = call <4 x i32> @llvm.experimental.vp.strided.load.v4i32.p0.i64(ptr align 1 [[GEP_L0]], i64 100, <4 x i1> splat (i1 true), i32 4)
; CHECK-NEXT:    [[TMP8:%.*]] = bitcast <4 x i32> [[TMP1]] to <16 x i8>
; CHECK-NEXT:    store <16 x i8> [[TMP8]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 1
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 2
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 3
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 100
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 101
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 102
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 103
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 200
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 201
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 202
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 203
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 300
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 301
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 302
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 303

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load0, ptr %gep_s0, align 1
  store i8 %load1, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}
; TODO: We want to generate this code:
; define void @rt_stride_widen_no_reordering(ptr %pl, i64 %stride, ptr %ps) {
; %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 %offset0
; %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
; %strided_load = call <4 x i32> @llvm.experimental.vp.strided.load.v4i32.p0.i64(ptr align 1 %gep_l0, i64 %stride, <4 x i1> splat (i1 true), i32 4)
; %bitcast_ = bitcast <4 x i32> %strided_load to <16 x i8>
; store <16 x i8> %bitcast_, ptr %gep_s0, align 1
; ret void
; }
define void @rt_stride_widen_no_reordering(ptr %pl, i64 %stride, ptr %ps) {
; CHECK-LABEL: define void @rt_stride_widen_no_reordering(
; CHECK-SAME: ptr [[PL:%.*]], i64 [[STRIDE:%.*]], ptr [[PS:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[OFFSET0:%.*]] = mul nsw i64 [[STRIDE]], 0
; CHECK-NEXT:    [[GEP_L0:%.*]] = getelementptr inbounds i8, ptr [[PL]], i64 [[OFFSET0]]
; CHECK-NEXT:    [[GEP_S0:%.*]] = getelementptr inbounds i8, ptr [[PS]], i64 0
; CHECK-NEXT:    [[TMP1:%.*]] = mul i64 [[STRIDE]], 1
; CHECK-NEXT:    [[TMP2:%.*]] = call <4 x i32> @llvm.experimental.vp.strided.load.v4i32.p0.i64(ptr align 1 [[GEP_L0]], i64 [[TMP1]], <4 x i1> splat (i1 true), i32 4)
; CHECK-NEXT:    [[TMP8:%.*]] = bitcast <4 x i32> [[TMP2]] to <16 x i8>
; CHECK-NEXT:    store <16 x i8> [[TMP8]], ptr [[GEP_S0]], align 1
; CHECK-NEXT:    ret void
;
  %offset0  = mul nsw i64 %stride, 0
  %offset1  = add nsw i64 %offset0, 1
  %offset2  = add nsw i64 %offset0, 2
  %offset3  = add nsw i64 %offset0, 3
  %offset4  = mul nsw i64 %stride, 1
  %offset5  = add nsw i64 %offset4, 1
  %offset6  = add nsw i64 %offset4, 2
  %offset7  = add nsw i64 %offset4, 3
  %offset8  = mul nsw i64 %stride, 2
  %offset9  = add nsw i64 %offset8, 1
  %offset10  = add nsw i64 %offset8, 2
  %offset11  = add nsw i64 %offset8, 3
  %offset12 = mul nsw i64 %stride, 3
  %offset13 = add nsw i64 %offset12, 1
  %offset14 = add nsw i64 %offset12, 2
  %offset15 = add nsw i64 %offset12, 3

  %gep_l0 = getelementptr inbounds i8, ptr %pl, i64 %offset0
  %gep_l1 = getelementptr inbounds i8, ptr %pl, i64 %offset1
  %gep_l2 = getelementptr inbounds i8, ptr %pl, i64 %offset2
  %gep_l3 = getelementptr inbounds i8, ptr %pl, i64 %offset3
  %gep_l4 = getelementptr inbounds i8, ptr %pl, i64 %offset4
  %gep_l5 = getelementptr inbounds i8, ptr %pl, i64 %offset5
  %gep_l6 = getelementptr inbounds i8, ptr %pl, i64 %offset6
  %gep_l7 = getelementptr inbounds i8, ptr %pl, i64 %offset7
  %gep_l8 = getelementptr inbounds i8, ptr %pl, i64 %offset8
  %gep_l9 = getelementptr inbounds i8, ptr %pl, i64 %offset9
  %gep_l10 = getelementptr inbounds i8, ptr %pl, i64 %offset10
  %gep_l11 = getelementptr inbounds i8, ptr %pl, i64 %offset11
  %gep_l12 = getelementptr inbounds i8, ptr %pl, i64 %offset12
  %gep_l13 = getelementptr inbounds i8, ptr %pl, i64 %offset13
  %gep_l14 = getelementptr inbounds i8, ptr %pl, i64 %offset14
  %gep_l15 = getelementptr inbounds i8, ptr %pl, i64 %offset15

  %load0  = load i8, ptr %gep_l0 , align 1
  %load1  = load i8, ptr %gep_l1 , align 1
  %load2  = load i8, ptr %gep_l2 , align 1
  %load3  = load i8, ptr %gep_l3 , align 1
  %load4  = load i8, ptr %gep_l4 , align 1
  %load5  = load i8, ptr %gep_l5 , align 1
  %load6  = load i8, ptr %gep_l6 , align 1
  %load7  = load i8, ptr %gep_l7 , align 1
  %load8  = load i8, ptr %gep_l8 , align 1
  %load9  = load i8, ptr %gep_l9 , align 1
  %load10 = load i8, ptr %gep_l10, align 1
  %load11 = load i8, ptr %gep_l11, align 1
  %load12 = load i8, ptr %gep_l12, align 1
  %load13 = load i8, ptr %gep_l13, align 1
  %load14 = load i8, ptr %gep_l14, align 1
  %load15 = load i8, ptr %gep_l15, align 1

  %gep_s0 = getelementptr inbounds i8, ptr %ps, i64 0
  %gep_s1 = getelementptr inbounds i8, ptr %ps, i64 1
  %gep_s2 = getelementptr inbounds i8, ptr %ps, i64 2
  %gep_s3 = getelementptr inbounds i8, ptr %ps, i64 3
  %gep_s4 = getelementptr inbounds i8, ptr %ps, i64 4
  %gep_s5 = getelementptr inbounds i8, ptr %ps, i64 5
  %gep_s6 = getelementptr inbounds i8, ptr %ps, i64 6
  %gep_s7 = getelementptr inbounds i8, ptr %ps, i64 7
  %gep_s8 = getelementptr inbounds i8, ptr %ps, i64 8
  %gep_s9 = getelementptr inbounds i8, ptr %ps, i64 9
  %gep_s10 = getelementptr inbounds i8, ptr %ps, i64 10
  %gep_s11 = getelementptr inbounds i8, ptr %ps, i64 11
  %gep_s12 = getelementptr inbounds i8, ptr %ps, i64 12
  %gep_s13 = getelementptr inbounds i8, ptr %ps, i64 13
  %gep_s14 = getelementptr inbounds i8, ptr %ps, i64 14
  %gep_s15 = getelementptr inbounds i8, ptr %ps, i64 15

  store i8 %load0, ptr %gep_s0, align 1
  store i8 %load1, ptr %gep_s1, align 1
  store i8 %load2, ptr %gep_s2, align 1
  store i8 %load3, ptr %gep_s3, align 1
  store i8 %load4, ptr %gep_s4, align 1
  store i8 %load5, ptr %gep_s5, align 1
  store i8 %load6, ptr %gep_s6, align 1
  store i8 %load7, ptr %gep_s7, align 1
  store i8 %load8, ptr %gep_s8, align 1
  store i8 %load9, ptr %gep_s9, align 1
  store i8 %load10, ptr %gep_s10, align 1
  store i8 %load11, ptr %gep_s11, align 1
  store i8 %load12, ptr %gep_s12, align 1
  store i8 %load13, ptr %gep_s13, align 1
  store i8 %load14, ptr %gep_s14, align 1
  store i8 %load15, ptr %gep_s15, align 1

  ret void
}
