blob: a278e4321d030855c83f2b6f4cc46c1a6f274b04 [file] [log] [blame]
James Molloy0f412272016-09-09 09:51:06 +00001; RUN: llc -mtriple=thumbv6m-eabi -verify-machineinstrs < %s | FileCheck %s
2
3; CHECK-LABEL: subs:
4; CHECK: subs
5; CHECK-NEXT: b{{eq|ne}}
6define i32 @subs(i32 %a, i32 %b) {
7 %c = sub i32 %a, %b
8 %d = icmp eq i32 %c, 0
9 br i1 %d, label %true, label %false
10
11true:
12 ret i32 4
13false:
14 ret i32 5
15}
16
17; CHECK-LABEL: addsrr:
18; CHECK: adds
19; CHECK-NEXT: b{{eq|ne}}
20define i32 @addsrr(i32 %a, i32 %b) {
21 %c = add i32 %a, %b
22 %d = icmp eq i32 %c, 0
23 br i1 %d, label %true, label %false
24
25true:
26 ret i32 4
27false:
28 ret i32 5
29}
30
31; CHECK-LABEL: lslri:
32; CHECK: lsls
33; CHECK-NEXT: b{{eq|ne}}
34define i32 @lslri(i32 %a, i32 %b) {
35 %c = shl i32 %a, 3
36 %d = icmp eq i32 %c, 0
37 br i1 %d, label %true, label %false
38
39true:
40 ret i32 4
41false:
42 ret i32 5
43}
44
45; CHECK-LABEL: lslrr:
46; CHECK: lsls
47; CHECK-NEXT: b{{eq|ne}}
48define i32 @lslrr(i32 %a, i32 %b) {
49 %c = shl i32 %a, %b
50 %d = icmp eq i32 %c, 0
51 br i1 %d, label %true, label %false
52
53true:
54 ret i32 4
55false:
56 ret i32 5
57}