• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -mtriple=thumb-linux-androideabi -march=thumb -mcpu=arm1156t2-s -mattr=+thumb2 -verify-machineinstrs | FileCheck %s -check-prefix=Thumb-android
2; RUN: llc < %s -mtriple=thumb-linux-androideabi -march=thumb -mcpu=arm1156t2-s -mattr=+thumb2 -filetype=obj
3
4
5; Just to prevent the alloca from being optimized away
6declare void @dummy_use(i32*, i32)
7
8define void @test_basic() #0 {
9        %mem = alloca i32, i32 10
10        call void @dummy_use (i32* %mem, i32 10)
11	ret void
12
13; Thumb-android:      test_basic:
14
15; Thumb-android:      push    {r4, r5}
16; Thumb-android-NEXT: mrc     p15, #0, r4, c13, c0, #3
17; Thumb-android-NEXT: mov     r5, sp
18; Thumb-android-NEXT: ldr     r4, [r4, #252]
19; Thumb-android-NEXT: cmp     r4, r5
20; Thumb-android-NEXT: blo     .LBB0_2
21
22; Thumb-android:      mov     r4, #48
23; Thumb-android-NEXT: mov     r5, #0
24; Thumb-android-NEXT: push    {lr}
25; Thumb-android-NEXT: bl      __morestack
26; Thumb-android-NEXT: ldr     lr, [sp], #4
27; Thumb-android-NEXT: pop     {r4, r5}
28; Thumb-android-NEXT: bx      lr
29
30; Thumb-android:      pop     {r4, r5}
31
32}
33
34attributes #0 = { "split-stack" }
35