; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s

define void @bzero_4_heap(i8* nocapture %c) {
; CHECK-LABEL: bzero_4_heap:
; CHECK:       str wzr, [x0]
; CHECK-NEXT:  ret
  call void @llvm.memset.p0i8.i64(i8* align 4 %c, i8 0, i64 4, i1 false)
  ret void
}

define void @bzero_8_heap(i8* nocapture %c) {
; CHECK-LABEL: bzero_8_heap:
; CHECK:       str xzr, [x0]
; CHECK-NEXT:  ret
  call void @llvm.memset.p0i8.i64(i8* align 8 %c, i8 0, i64 8, i1 false)
  ret void
}

define void @bzero_12_heap(i8* nocapture %c) {
; CHECK-LABEL: bzero_12_heap:
; CHECK:       str wzr, [x0, #8]
; CHECK-NEXT:  str xzr, [x0]
; CHECK-NEXT:  ret
  call void @llvm.memset.p0i8.i64(i8* align 8 %c, i8 0, i64 12, i1 false)
  ret void
}

define void @bzero_16_heap(i8* nocapture %c) {
; CHECK-LABEL: bzero_16_heap:
; CHECK:       stp xzr, xzr, [x0]
; CHECK-NEXT:  ret
  call void @llvm.memset.p0i8.i64(i8* align 8 %c, i8 0, i64 16, i1 false)
  ret void
}

define void @bzero_32_heap(i8* nocapture %c) {
; CHECK-LABEL: bzero_32_heap:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  stp q0, q0, [x0]
; CHECK-NEXT:  ret
  call void @llvm.memset.p0i8.i64(i8* align 8 %c, i8 0, i64 32, i1 false)
  ret void
}

define void @bzero_64_heap(i8* nocapture %c) {
; CHECK-LABEL: bzero_64_heap:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  stp q0, q0, [x0, #32]
; CHECK-NEXT:  stp q0, q0, [x0]
; CHECK-NEXT:  ret
  call void @llvm.memset.p0i8.i64(i8* align 8 %c, i8 0, i64 64, i1 false)
  ret void
}

define void @bzero_4_stack() {
; CHECK-LABEL: bzero_4_stack:
; CHECK:       str wzr, [sp, #12]
; CHECK-NEXT:  bl something
  %buf = alloca [4 x i8], align 1
  %cast = bitcast [4 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 4, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_8_stack() {
; CHECK-LABEL: bzero_8_stack:
; CHECK:       str xzr, [sp, #8]
; CHECK-NEXT:  bl something
  %buf = alloca [8 x i8], align 1
  %cast = bitcast [8 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 8, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_12_stack() {
; CHECK-LABEL: bzero_12_stack:
; CHECK:       str wzr, [sp, #8]
; CHECK-NEXT:  str xzr, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [12 x i8], align 1
  %cast = bitcast [12 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 12, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_16_stack() {
; CHECK-LABEL: bzero_16_stack:
; CHECK:       stp xzr, x30, [sp, #8]
; CHECK:       mov x0, sp
; CHECK:       str xzr, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [16 x i8], align 1
  %cast = bitcast [16 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 16, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_20_stack() {
; CHECK-LABEL: bzero_20_stack:
; CHECK:       stp xzr, xzr, [sp, #8]
; CHECK-NEXT:  str wzr, [sp, #24]
; CHECK-NEXT:  bl something
  %buf = alloca [20 x i8], align 1
  %cast = bitcast [20 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 20, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_26_stack() {
; CHECK-LABEL: bzero_26_stack:
; CHECK:       stp xzr, xzr, [sp]
; CHECK-NEXT:  strh wzr, [sp, #24]
; CHECK-NEXT:  str xzr, [sp, #16]
; CHECK-NEXT:  bl something
  %buf = alloca [26 x i8], align 1
  %cast = bitcast [26 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 26, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_32_stack() {
; CHECK-LABEL: bzero_32_stack:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [32 x i8], align 1
  %cast = bitcast [32 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 32, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_40_stack() {
; CHECK-LABEL: bzero_40_stack:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  str xzr, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT: bl something
  %buf = alloca [40 x i8], align 1
  %cast = bitcast [40 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 40, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_64_stack() {
; CHECK-LABEL: bzero_64_stack:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp q0, q0, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [64 x i8], align 1
  %cast = bitcast [64 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 64, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_72_stack() {
; CHECK-LABEL: bzero_72_stack:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  str xzr, [sp, #64]
; CHECK-NEXT:  stp q0, q0, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [72 x i8], align 1
  %cast = bitcast [72 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 72, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_128_stack() {
; CHECK-LABEL: bzero_128_stack:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp q0, q0, [sp, #96]
; CHECK-NEXT:  stp q0, q0, [sp, #64]
; CHECK-NEXT:  stp q0, q0, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [128 x i8], align 1
  %cast = bitcast [128 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 128, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @bzero_256_stack() {
; CHECK-LABEL: bzero_256_stack:
; CHECK:       movi v0.2d, #0000000000000000
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp q0, q0, [sp, #224]
; CHECK-NEXT:  stp q0, q0, [sp, #192]
; CHECK-NEXT:  stp q0, q0, [sp, #160]
; CHECK-NEXT:  stp q0, q0, [sp, #128]
; CHECK-NEXT:  stp q0, q0, [sp, #96]
; CHECK-NEXT:  stp q0, q0, [sp, #64]
; CHECK-NEXT:  stp q0, q0, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [256 x i8], align 1
  %cast = bitcast [256 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 0, i32 256, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_4_stack() {
; CHECK-LABEL: memset_4_stack:
; CHECK:       mov w8, #-1431655766
; CHECK-NEXT:  add x0, sp, #12
; CHECK-NEXT:  str w8, [sp, #12]
; CHECK-NEXT:  bl something
  %buf = alloca [4 x i8], align 1
  %cast = bitcast [4 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 4, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_8_stack() {
; CHECK-LABEL: memset_8_stack:
; CHECK:       mov x8, #-6148914691236517206
; CHECK-NEXT:  add x0, sp, #8
; CHECK-NEXT:  str x8, [sp, #8]
; CHECK-NEXT:  bl something
  %buf = alloca [8 x i8], align 1
  %cast = bitcast [8 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 8, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_12_stack() {
; CHECK-LABEL: memset_12_stack:
; CHECK:       mov x8, #-6148914691236517206
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  str x8, [sp]
; CHECK-NEXT:  str w8, [sp, #8]
; CHECK-NEXT:  bl something
  %buf = alloca [12 x i8], align 1
  %cast = bitcast [12 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 12, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_16_stack() {
; CHECK-LABEL: memset_16_stack:
; CHECK:       mov x8, #-6148914691236517206
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp x8, x30, [sp, #8]
; CHECK-NEXT:  str x8, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [16 x i8], align 1
  %cast = bitcast [16 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 16, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_20_stack() {
; CHECK-LABEL: memset_20_stack:
; CHECK:       mov x8, #-6148914691236517206
; CHECK-NEXT:  add x0, sp, #8
; CHECK-NEXT:  stp x8, x8, [sp, #8]
; CHECK-NEXT:  str w8, [sp, #24]
; CHECK-NEXT:  bl something
  %buf = alloca [20 x i8], align 1
  %cast = bitcast [20 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 20, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_26_stack() {
; CHECK-LABEL: memset_26_stack:
; CHECK:       mov x8, #-6148914691236517206
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp x8, x8, [sp, #8]
; CHECK-NEXT:  str x8, [sp]
; CHECK-NEXT:  strh w8, [sp, #24]
; CHECK-NEXT:  bl something
  %buf = alloca [26 x i8], align 1
  %cast = bitcast [26 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 26, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_32_stack() {
; CHECK-LABEL: memset_32_stack:
; CHECK:       movi v0.16b, #170
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [32 x i8], align 1
  %cast = bitcast [32 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 32, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_40_stack() {
; CHECK-LABEL: memset_40_stack:
; CHECK:       mov x8, #-6148914691236517206
; CHECK-NEXT:  movi v0.16b, #170
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  str x8, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT: bl something
  %buf = alloca [40 x i8], align 1
  %cast = bitcast [40 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 40, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_64_stack() {
; CHECK-LABEL: memset_64_stack:
; CHECK:       movi v0.16b, #170
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp q0, q0, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [64 x i8], align 1
  %cast = bitcast [64 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 64, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_72_stack() {
; CHECK-LABEL: memset_72_stack:
; CHECK:       mov x8, #-6148914691236517206
; CHECK-NEXT:  movi v0.16b, #170
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  str x8, [sp, #64]
; CHECK-NEXT:  stp q0, q0, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [72 x i8], align 1
  %cast = bitcast [72 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 72, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_128_stack() {
; CHECK-LABEL: memset_128_stack:
; CHECK:       movi v0.16b, #170
; CHECK-NEXT:  mov x0, sp
; CHECK-NEXT:  stp q0, q0, [sp, #96]
; CHECK-NEXT:  stp q0, q0, [sp, #64]
; CHECK-NEXT:  stp q0, q0, [sp, #32]
; CHECK-NEXT:  stp q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [128 x i8], align 1
  %cast = bitcast [128 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 128, i1 false)
  call void @something(i8* %cast)
  ret void
}

define void @memset_256_stack() {
; CHECK-LABEL: memset_256_stack:
; CHECK:       movi	v0.16b, #170
; CHECK-NEXT:  mov	x0, sp
; CHECK-NEXT:  stp	q0, q0, [sp, #224]
; CHECK-NEXT:  stp	q0, q0, [sp, #192]
; CHECK-NEXT:  stp	q0, q0, [sp, #160]
; CHECK-NEXT:  stp	q0, q0, [sp, #128]
; CHECK-NEXT:  stp	q0, q0, [sp, #96]
; CHECK-NEXT:  stp	q0, q0, [sp, #64]
; CHECK-NEXT:  stp	q0, q0, [sp, #32]
; CHECK-NEXT:  stp	q0, q0, [sp]
; CHECK-NEXT:  bl something
  %buf = alloca [256 x i8], align 1
  %cast = bitcast [256 x i8]* %buf to i8*
  call void @llvm.memset.p0i8.i32(i8* %cast, i8 -86, i32 256, i1 false)
  call void @something(i8* %cast)
  ret void
}

declare void @something(i8*)
declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i1) nounwind
declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) nounwind
