; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -mtriple=arm-unknown-linux-eabi < %s | FileCheck -check-prefix=LINUX %s
; RUN: llc -mtriple=arm-unknown-linux-gnueabi < %s | FileCheck -check-prefix=LINUX %s
; RUN: llc -mtriple=arm-unknown-openbsd < %s | FileCheck -check-prefix=OPENBSD %s

define void @func() sspreq nounwind {
; LINUX-LABEL: func:
; LINUX:       @ %bb.0:
; LINUX-NEXT:    .save {r11, lr}
; LINUX-NEXT:    push {r11, lr}
; LINUX-NEXT:    .pad #8
; LINUX-NEXT:    sub sp, sp, #8
; LINUX-NEXT:    ldr r0, .LCPI0_0
; LINUX-NEXT:    ldr r0, [r0]
; LINUX-NEXT:    str r0, [sp, #4]
; LINUX-NEXT:    mov r0, sp
; LINUX-NEXT:    bl capture
; LINUX-NEXT:    ldr r0, [sp, #4]
; LINUX-NEXT:    ldr r1, .LCPI0_0
; LINUX-NEXT:    ldr r1, [r1]
; LINUX-NEXT:    cmp r1, r0
; LINUX-NEXT:    addeq sp, sp, #8
; LINUX-NEXT:    popeq {r11, lr}
; LINUX-NEXT:    moveq pc, lr
; LINUX-NEXT:  .LBB0_1:
; LINUX-NEXT:    bl __stack_chk_fail
; LINUX-NEXT:    .p2align 2
; LINUX-NEXT:  @ %bb.2:
; LINUX-NEXT:  .LCPI0_0:
; LINUX-NEXT:    .long __stack_chk_guard
;
; OPENBSD-LABEL: func:
; OPENBSD:       @ %bb.0:
; OPENBSD-NEXT:    push {r4, lr}
; OPENBSD-NEXT:    sub sp, sp, #8
; OPENBSD-NEXT:    ldr r4, .LCPI0_0
; OPENBSD-NEXT:    ldr r0, [r4]
; OPENBSD-NEXT:    ldr r0, .LCPI0_2
; OPENBSD-NEXT:    ldr r0, [r0]
; OPENBSD-NEXT:    str r0, [sp, #4]
; OPENBSD-NEXT:    mov r0, sp
; OPENBSD-NEXT:    bl capture
; OPENBSD-NEXT:    ldr r0, [r4]
; OPENBSD-NEXT:    ldr r1, [sp, #4]
; OPENBSD-NEXT:    cmp r0, r1
; OPENBSD-NEXT:    addeq sp, sp, #8
; OPENBSD-NEXT:    popeq {r4, lr}
; OPENBSD-NEXT:    moveq pc, lr
; OPENBSD-NEXT:  .LBB0_1: @ %CallStackCheckFailBlk
; OPENBSD-NEXT:    ldr r0, .LCPI0_1
; OPENBSD-NEXT:    bl __stack_smash_handler
; OPENBSD-NEXT:    .p2align 2
; OPENBSD-NEXT:  @ %bb.2:
; OPENBSD-NEXT:  .LCPI0_0:
; OPENBSD-NEXT:    .long __guard_local
; OPENBSD-NEXT:  .LCPI0_1:
; OPENBSD-NEXT:    .long .LSSH
; OPENBSD-NEXT:  .LCPI0_2:
; OPENBSD-NEXT:    .long __guard_local
  %alloca = alloca i32, align 4
  call void @capture(ptr %alloca)
  ret void
}

declare void @capture(ptr)
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
; EABI: {{.*}}
; GNUEABI: {{.*}}
