annotate test/CodeGen/AVR/cmp.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 1172e4bd9c6f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
1 ; RUN: llc < %s -march=avr | FileCheck %s
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
3 declare void @f1(i8)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
4 declare void @f2(i8)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
5 define void @cmp8(i8 %a, i8 %b) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 ; CHECK-LABEL: cmp8:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7 ; CHECK: cp
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8 ; CHECK-NOT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9 %cmp = icmp eq i8 %a, %b
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
10 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12 tail call void @f1(i8 %a)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 tail call void @f2(i8 %b)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21 declare void @f3(i16)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 declare void @f4(i16)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
23 define void @cmp16(i16 %a, i16 %b) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
24 ; CHECK-LABEL: cmp16:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
25 ; CHECK: cp
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
26 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
27 %cmp = icmp eq i16 %a, %b
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
28 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
29 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
30 tail call void @f3(i16 %a)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
31 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
32 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
33 tail call void @f4(i16 %b)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
34 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
35 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
36 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
37 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
38
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
39 declare void @f5(i32)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
40 declare void @f6(i32)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
41 define void @cmp32(i32 %a, i32 %b) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
42 ; CHECK-LABEL: cmp32:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
43 ; CHECK: cp
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
44 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
45 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
46 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
47 %cmp = icmp eq i32 %a, %b
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
48 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
49 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
50 tail call void @f5(i32 %a)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
51 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
52 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
53 tail call void @f6(i32 %b)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
54 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
55 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
56 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
57 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
58
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
59 declare void @f7(i64)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
60 declare void @f8(i64)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
61 define void @cmp64(i64 %a, i64 %b) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
62 ; CHECK-LABEL: cmp64:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
63 ; CHECK: cp
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
64 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
65 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
66 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
67 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
68 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
69 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
70 ; CHECK-NEXT: cpc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
71 %cmp = icmp eq i64 %a, %b
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
72 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
73 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
74 tail call void @f7(i64 %a)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
75 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
76 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
77 tail call void @f8(i64 %b)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
78 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
79 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
80 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
81 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
82
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
83 declare void @f9()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
84 declare void @f10()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
85
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
86 define void @tst8(i8 %a) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
87 ; CHECK-LABEL: tst8:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
88 ; CHECK: tst r24
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
89 ; CHECK-NEXT: brmi
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
90 %cmp = icmp sgt i8 %a, -1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
91 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
92 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
93 tail call void @f9()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
94 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
95 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
96 tail call void @f10()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
97 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
98 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
99 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
100 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
101
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
102 define void @tst16(i16 %a) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
103 ; CHECK-LABEL: tst16:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
104 ; CHECK: tst r25
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
105 ; CHECK-NEXT: brmi
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
106 %cmp = icmp sgt i16 %a, -1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
107 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
108 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
109 tail call void @f9()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
110 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
111 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
112 tail call void @f10()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
113 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
114 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
115 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
116 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
117
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
118 define void @tst32(i32 %a) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
119 ; CHECK-LABEL: tst32:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
120 ; CHECK: tst r25
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
121 ; CHECK-NEXT: brmi
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
122 %cmp = icmp sgt i32 %a, -1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
123 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
124 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
125 tail call void @f9()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
126 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
127 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
128 tail call void @f10()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
129 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
130 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
131 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
132 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
133
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
134 define void @tst64(i64 %a) {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
135 ; CHECK-LABEL: tst64:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
136 ; CHECK: tst r25
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
137 ; CHECK-NEXT: brmi
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
138 %cmp = icmp sgt i64 %a, -1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
139 br i1 %cmp, label %if.then, label %if.else
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
140 if.then:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
141 tail call void @f9()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
142 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
143 if.else:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
144 tail call void @f10()
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
145 br label %if.end
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
146 if.end:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
147 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
148 }