69 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=arm-unknown-linux-eabi < %s | FileCheck -check-prefix=LINUX %s3; RUN: llc -mtriple=arm-unknown-linux-gnueabi < %s | FileCheck -check-prefix=LINUX %s4; RUN: llc -mtriple=arm-unknown-openbsd < %s | FileCheck -check-prefix=OPENBSD %s5 6define void @func() sspreq nounwind {7; LINUX-LABEL: func:8; LINUX: @ %bb.0:9; LINUX-NEXT: .save {r11, lr}10; LINUX-NEXT: push {r11, lr}11; LINUX-NEXT: .pad #812; LINUX-NEXT: sub sp, sp, #813; LINUX-NEXT: ldr r0, .LCPI0_014; LINUX-NEXT: ldr r0, [r0]15; LINUX-NEXT: str r0, [sp, #4]16; LINUX-NEXT: mov r0, sp17; LINUX-NEXT: bl capture18; LINUX-NEXT: ldr r0, [sp, #4]19; LINUX-NEXT: ldr r1, .LCPI0_020; LINUX-NEXT: ldr r1, [r1]21; LINUX-NEXT: cmp r1, r022; LINUX-NEXT: addeq sp, sp, #823; LINUX-NEXT: popeq {r11, lr}24; LINUX-NEXT: moveq pc, lr25; LINUX-NEXT: .LBB0_1:26; LINUX-NEXT: bl __stack_chk_fail27; LINUX-NEXT: .p2align 228; LINUX-NEXT: @ %bb.2:29; LINUX-NEXT: .LCPI0_0:30; LINUX-NEXT: .long __stack_chk_guard31;32; OPENBSD-LABEL: func:33; OPENBSD: @ %bb.0:34; OPENBSD-NEXT: push {r4, lr}35; OPENBSD-NEXT: sub sp, sp, #836; OPENBSD-NEXT: ldr r4, .LCPI0_037; OPENBSD-NEXT: ldr r0, [r4]38; OPENBSD-NEXT: ldr r0, .LCPI0_239; OPENBSD-NEXT: ldr r0, [r0]40; OPENBSD-NEXT: str r0, [sp, #4]41; OPENBSD-NEXT: mov r0, sp42; OPENBSD-NEXT: bl capture43; OPENBSD-NEXT: ldr r0, [r4]44; OPENBSD-NEXT: ldr r1, [sp, #4]45; OPENBSD-NEXT: cmp r0, r146; OPENBSD-NEXT: addeq sp, sp, #847; OPENBSD-NEXT: popeq {r4, lr}48; OPENBSD-NEXT: moveq pc, lr49; OPENBSD-NEXT: .LBB0_1: @ %CallStackCheckFailBlk50; OPENBSD-NEXT: ldr r0, .LCPI0_151; OPENBSD-NEXT: bl __stack_smash_handler52; OPENBSD-NEXT: .p2align 253; OPENBSD-NEXT: @ %bb.2:54; OPENBSD-NEXT: .LCPI0_0:55; OPENBSD-NEXT: .long __guard_local56; OPENBSD-NEXT: .LCPI0_1:57; OPENBSD-NEXT: .long .LSSH58; OPENBSD-NEXT: .LCPI0_2:59; OPENBSD-NEXT: .long __guard_local60 %alloca = alloca i32, align 461 call void @capture(ptr %alloca)62 ret void63}64 65declare void @capture(ptr)66;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:67; EABI: {{.*}}68; GNUEABI: {{.*}}69