Mercurial > hg > Members > tobaru > cbc > CbC_llvm
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 { |