aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/Thumb
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2013-03-02 00:53:20 +0000
committerMichael Gottesman <mgottesman@apple.com>2013-03-02 00:53:20 +0000
commitaa1fa29423c8932a3f9d8e7beb496f28eeaa9bb0 (patch)
tree26f9c0d83af22a13c2fdba710fe4758c6d03577a /test/CodeGen/Thumb
parentb804a1b1783e99ec12a093767027269a373189d3 (diff)
downloadexternal_llvm-aa1fa29423c8932a3f9d8e7beb496f28eeaa9bb0.zip
external_llvm-aa1fa29423c8932a3f9d8e7beb496f28eeaa9bb0.tar.gz
external_llvm-aa1fa29423c8932a3f9d8e7beb496f28eeaa9bb0.tar.bz2
Revert "Rewrite a test to count emitted instructions without using -stats"
This reverts commit aac7922b8fe7ae733d3fe6697e6789fd730315dc. I am reverting the commit since it broke the phase 1 public buildbot for a few hours. http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RA/builds/2137 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176394 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Thumb')
-rw-r--r--test/CodeGen/Thumb/iabs.ll26
1 files changed, 14 insertions, 12 deletions
diff --git a/test/CodeGen/Thumb/iabs.ll b/test/CodeGen/Thumb/iabs.ll
index bce5bb2..2e77660 100644
--- a/test/CodeGen/Thumb/iabs.ll
+++ b/test/CodeGen/Thumb/iabs.ll
@@ -1,20 +1,22 @@
-; RUN: llc < %s -march=thumb -filetype=obj -o %t.o
-; RUN: llvm-objdump -disassemble -arch=thumb %t.o | FileCheck %s
+; RUN: llc < %s -march=thumb -stats 2>&1 | \
+; RUN: grep "4 .*Number of machine instrs printed"
+
+;; Integer absolute value, should produce something as good as:
+;; Thumb:
+;; movs r0, r0
+;; bpl
+;; rsb r0, r0, #0 (with opitmization, bpl + rsb is if-converted into rsbmi)
+;; bx lr
define i32 @test(i32 %a) {
%tmp1neg = sub i32 0, %a
%b = icmp sgt i32 %a, -1
%abs = select i1 %b, i32 %a, i32 %tmp1neg
ret i32 %abs
-
-; This test just checks that 4 instructions were emitted
-
-; CHECK: {{^.text:}}
-; CHECK-NEXT: 0:
-; CHECK-NEXT: 2:
-; CHECK-NEXT: 4:
-; CHECK-NEXT: 6:
-
-; CHECK-NOT: 8:
+; CHECK: movs r0, r0
+; CHECK: bpl
+; CHECK: rsb r0, r0, #0
+; CHECK: bx lr
}
+