• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; 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}
58