summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Thumb
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2018-10-31 21:45:48 +0000
committerEli Friedman <efriedma@codeaurora.org>2018-10-31 21:45:48 +0000
commit063fd98bcc06e49009df8cbd18484a81a612aeb6 (patch)
treec47b4a57cf874087af9d78caa3af67ccb3e9202e /llvm/test/CodeGen/Thumb
parente5f13519d4a6e196d5b714b6233b9fc875cbee9b (diff)
downloadbcm5719-llvm-063fd98bcc06e49009df8cbd18484a81a612aeb6.tar.gz
bcm5719-llvm-063fd98bcc06e49009df8cbd18484a81a612aeb6.zip
[ARM] Add missing pseudo-instruction for Thumb1 RSBS.
Shows up rarely for 64-bit arithmetic, more frequently for the compare patterns added in r325323. Differential Revision: https://reviews.llvm.org/D53848 llvm-svn: 345782
Diffstat (limited to 'llvm/test/CodeGen/Thumb')
-rw-r--r--llvm/test/CodeGen/Thumb/branchless-cmp.ll9
-rw-r--r--llvm/test/CodeGen/Thumb/long-setcc.ll3
2 files changed, 4 insertions, 8 deletions
diff --git a/llvm/test/CodeGen/Thumb/branchless-cmp.ll b/llvm/test/CodeGen/Thumb/branchless-cmp.ll
index 8435529d681..ed34d630733 100644
--- a/llvm/test/CodeGen/Thumb/branchless-cmp.ll
+++ b/llvm/test/CodeGen/Thumb/branchless-cmp.ll
@@ -20,8 +20,7 @@ entry:
; CHECK-LABEL: test1b:
; CHECK-NOT: b{{(ne)|(eq)}}
; CHECK: subs r1, r0, r1
-; CHECK-NEXT: movs r0, #0
-; CHECK-NEXT: subs r0, r0, r1
+; CHECK-NEXT: rsbs r0, r1, #0
; CHECK-NEXT: adcs r0, r1
}
@@ -33,8 +32,7 @@ entry:
; CHECK-LABEL: test2a:
; CHECK-NOT: b{{(ne)|(eq)}}
; CHECK: subs r1, r0, r1
-; CHECK-NEXT: movs r0, #0
-; CHECK-NEXT: subs r0, r0, r1
+; CHECK-NEXT: rsbs r0, r1, #0
; CHECK-NEXT: adcs r0, r1
}
@@ -71,8 +69,7 @@ entry:
; CHECK-LABEL: test3b:
; CHECK-NOT: b{{(ne)|(eq)}}
; CHECK: subs r0, r0, r1
-; CHECK-NEXT: movs r1, #0
-; CHECK-NEXT: subs r1, r1, r0
+; CHECK-NEXT: rsbs r1, r0, #0
; CHECK-NEXT: adcs r1, r0
; CHECK-NEXT: lsls r0, r1, #2
}
diff --git a/llvm/test/CodeGen/Thumb/long-setcc.ll b/llvm/test/CodeGen/Thumb/long-setcc.ll
index f077d0e4cf4..b8b9cff7b36 100644
--- a/llvm/test/CodeGen/Thumb/long-setcc.ll
+++ b/llvm/test/CodeGen/Thumb/long-setcc.ll
@@ -9,8 +9,7 @@ define i1 @t1(i64 %x) {
define i1 @t2(i64 %x) {
; CHECK-LABEL: t2:
-; CHECK: movs r0, #0
-; CHECK: subs r0, r0, r1
+; CHECK: rsbs r0, r1, #0
; CHECK: adcs r0, r1
%tmp = icmp ult i64 %x, 4294967296
ret i1 %tmp
OpenPOWER on IntegriCloud