diff options
Diffstat (limited to 'test/CodeGen/ARM/iabs.ll')
| -rw-r--r-- | test/CodeGen/ARM/iabs.ll | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/test/CodeGen/ARM/iabs.ll b/test/CodeGen/ARM/iabs.ll deleted file mode 100644 index c52caf605dd1..000000000000 --- a/test/CodeGen/ARM/iabs.ll +++ /dev/null @@ -1,34 +0,0 @@ -; RUN: llc -mtriple=arm-eabi -mattr=+v4t %s -o - | FileCheck %s - -;; Integer absolute value, should produce something as good as: ARM: -;; movs r0, r0 -;; rsbmi r0, r0, #0 -;; 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 -; CHECK: cmp -; CHECK: rsbmi r0, r0, #0 -; CHECK: bx lr -} - -; rdar://11633193 -;; 3 instructions will be generated for abs(a-b): -;; subs -;; rsbmi -;; bx -define i32 @test2(i32 %a, i32 %b) nounwind readnone ssp { -entry: -; CHECK: test2 -; CHECK: subs -; CHECK-NEXT: rsbmi -; CHECK-NEXT: bx - %sub = sub nsw i32 %a, %b - %cmp = icmp sgt i32 %sub, -1 - %sub1 = sub nsw i32 0, %sub - %cond = select i1 %cmp, i32 %sub, i32 %sub1 - ret i32 %cond -} |
