diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2011-04-29 22:48:03 +0000 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2011-04-29 22:48:03 +0000 |
| commit | c573e2c7ea646d29162a96a0707f4eb0f77f83bc (patch) | |
| tree | bd8ca3ac1df3c49bfa5b6e0426e27e56d8333d17 /test/CodeGen/ARM | |
| parent | 40348e8d1ff564a23101d4fd37fe4dd03d9018ab (diff) | |
Switch to ImmLeaf (which can be used by FastISel) for a few more common ARM/Thumb2 patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130552 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
| -rw-r--r-- | test/CodeGen/ARM/fast-isel.ll | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/test/CodeGen/ARM/fast-isel.ll b/test/CodeGen/ARM/fast-isel.ll index c8637d1fe5..81be597859 100644 --- a/test/CodeGen/ARM/fast-isel.ll +++ b/test/CodeGen/ARM/fast-isel.ll @@ -1,8 +1,7 @@ -; RUN: llc < %s -O0 -fast-isel-abort -mtriple=armv7-apple-darwin -; RUN: llc < %s -O0 -fast-isel-abort -mtriple=thumbv7-apple-darwin +; RUN: llc < %s -O0 -fast-isel-abort -mtriple=armv7-apple-darwin | FileCheck %s --check-prefix=ARM +; RUN: llc < %s -O0 -fast-isel-abort -mtriple=thumbv7-apple-darwin | FileCheck %s --check-prefix=THUMB ; Very basic fast-isel functionality. - define i32 @add(i32 %a, i32 %b) nounwind { entry: %a.addr = alloca i32, align 4 @@ -15,6 +14,7 @@ entry: ret i32 %add } +; Check truncate to bool define void @test1(i32 %tmp) nounwind { entry: %tobool = trunc i32 %tmp to i1 @@ -26,6 +26,30 @@ br label %if.end if.end: ; preds = %if.then, %entry ret void -; CHECK: test1: -; CHECK: tst r0, #1 +; ARM: test1: +; ARM: tst r0, #1 +; THUMB: test1: +; THUMB: tst.w r0, #1 +} + +; Check some simple operations with immediates +define void @test2(i32 %tmp, i32* %ptr) nounwind { +; THUMB: test2: +; ARM: test2: + +b1: + %b = add i32 %tmp, 4096 + store i32 %b, i32* %ptr + br label %b2 + +; THUMB: add.w {{.*}} #4096 +; ARM: add {{.*}} #1, #20 + +b2: + %c = or i32 %tmp, 4 + store i32 %c, i32* %ptr + ret void + +; THUMB: orr {{.*}} #4 +; ARM: orr {{.*}} #4 } |
