comparison test/CodeGen/AArch64/arm64-fast-isel-call.ll @ 95:afa8332a0e37

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 54457678186b
children 1172e4bd9c6f
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
1 ; RUN: llc -O0 -fast-isel-abort -fast-isel-abort-args -code-model=small -verify-machineinstrs -mtriple=arm64-apple-darwin < %s | FileCheck %s 1 ; RUN: llc -O0 -fast-isel-abort=2 -code-model=small -verify-machineinstrs -mtriple=arm64-apple-darwin < %s | FileCheck %s
2 ; RUN: llc -O0 -fast-isel-abort -fast-isel-abort-args -code-model=large -verify-machineinstrs -mtriple=arm64-apple-darwin < %s | FileCheck %s --check-prefix=LARGE 2 ; RUN: llc -O0 -fast-isel-abort=2 -code-model=large -verify-machineinstrs -mtriple=arm64-apple-darwin < %s | FileCheck %s --check-prefix=LARGE
3 ; RUN: llc -O0 -fast-isel-abort -fast-isel-abort-args -code-model=small -verify-machineinstrs -mtriple=aarch64_be-linux-gnu < %s | FileCheck %s --check-prefix=CHECK-BE 3 ; RUN: llc -O0 -fast-isel-abort=2 -code-model=small -verify-machineinstrs -mtriple=aarch64_be-linux-gnu < %s | FileCheck %s --check-prefix=CHECK-BE
4 4
5 define void @call0() nounwind { 5 define void @call0() nounwind {
6 entry: 6 entry:
7 ret void 7 ret void
8 } 8 }
21 21
22 define i32 @call1(i32 %a) nounwind { 22 define i32 @call1(i32 %a) nounwind {
23 entry: 23 entry:
24 %a.addr = alloca i32, align 4 24 %a.addr = alloca i32, align 4
25 store i32 %a, i32* %a.addr, align 4 25 store i32 %a, i32* %a.addr, align 4
26 %tmp = load i32* %a.addr, align 4 26 %tmp = load i32, i32* %a.addr, align 4
27 ret i32 %tmp 27 ret i32 %tmp
28 } 28 }
29 29
30 define i32 @foo1(i32 %a) nounwind { 30 define i32 @foo1(i32 %a) nounwind {
31 entry: 31 entry:
33 ; CHECK: stur w0, [x29, #-4] 33 ; CHECK: stur w0, [x29, #-4]
34 ; CHECK-NEXT: ldur w0, [x29, #-4] 34 ; CHECK-NEXT: ldur w0, [x29, #-4]
35 ; CHECK-NEXT: bl _call1 35 ; CHECK-NEXT: bl _call1
36 %a.addr = alloca i32, align 4 36 %a.addr = alloca i32, align 4
37 store i32 %a, i32* %a.addr, align 4 37 store i32 %a, i32* %a.addr, align 4
38 %tmp = load i32* %a.addr, align 4 38 %tmp = load i32, i32* %a.addr, align 4
39 %call = call i32 @call1(i32 %tmp) 39 %call = call i32 @call1(i32 %tmp)
40 ret i32 %call 40 ret i32 %call
41 } 41 }
42 42
43 define i32 @sext_(i8 %a, i16 %b) nounwind { 43 define i32 @sext_(i8 %a, i16 %b) nounwind {