blob: a5529a769a0bb185b92ffcc9212f02a505d4ad23 [file] [log] [blame]
Renato Golinf824ced2016-03-03 14:01:10 +00001; RUN: llc < %s -march=x86
2; RUN: llc < %s -march=x86-64
Steve Kingfee370b2015-10-27 00:14:06 +00003
4define i8 @test_minsize_uu8(i8 %x) minsize optsize {
5entry:
6 %0 = udiv i8 %x, 10
7 %1 = urem i8 %x, 10
8 %res = add i8 %0, %1
9 ret i8 %res
10}
11
12define i8 @test_minsize_ss8(i8 %x) minsize optsize {
13entry:
14 %0 = sdiv i8 %x, 10
15 %1 = srem i8 %x, 10
16 %res = add i8 %0, %1
17 ret i8 %res
18}
19
20define i8 @test_minsize_us8(i8 %x) minsize optsize {
21entry:
22 %0 = udiv i8 %x, 10
23 %1 = srem i8 %x, 10
24 %res = add i8 %0, %1
25 ret i8 %res
26}
27
28define i8 @test_minsize_su8(i8 %x) minsize optsize {
29entry:
30 %0 = sdiv i8 %x, 10
31 %1 = urem i8 %x, 10
32 %res = add i8 %0, %1
33 ret i8 %res
34}
35
36define i16 @test_minsize_uu16(i16 %x) minsize optsize {
37entry:
38 %0 = udiv i16 %x, 10
39 %1 = urem i16 %x, 10
40 %res = add i16 %0, %1
41 ret i16 %res
42}
43
44define i16 @test_minsize_ss16(i16 %x) minsize optsize {
45entry:
46 %0 = sdiv i16 %x, 10
47 %1 = srem i16 %x, 10
48 %res = add i16 %0, %1
49 ret i16 %res
50}
51
52define i16 @test_minsize_us16(i16 %x) minsize optsize {
53entry:
54 %0 = udiv i16 %x, 10
55 %1 = srem i16 %x, 10
56 %res = add i16 %0, %1
57 ret i16 %res
58}
59
60define i16 @test_minsize_su16(i16 %x) minsize optsize {
61entry:
62 %0 = sdiv i16 %x, 10
63 %1 = urem i16 %x, 10
64 %res = add i16 %0, %1
65 ret i16 %res
66}
67
68define i32 @test_minsize_uu32(i32 %x) minsize optsize {
69entry:
70 %0 = udiv i32 %x, 10
71 %1 = urem i32 %x, 10
72 %res = add i32 %0, %1
73 ret i32 %res
74}
75
76define i32 @test_minsize_ss32(i32 %x) minsize optsize {
77entry:
78 %0 = sdiv i32 %x, 10
79 %1 = srem i32 %x, 10
80 %res = add i32 %0, %1
81 ret i32 %res
82}
83
84define i32 @test_minsize_us32(i32 %x) minsize optsize {
85entry:
86 %0 = udiv i32 %x, 10
87 %1 = srem i32 %x, 10
88 %res = add i32 %0, %1
89 ret i32 %res
90}
91
92define i32 @test_minsize_su32(i32 %x) minsize optsize {
93entry:
94 %0 = sdiv i32 %x, 10
95 %1 = urem i32 %x, 10
96 %res = add i32 %0, %1
97 ret i32 %res
98}
99
100define i64 @test_minsize_uu64(i64 %x) minsize optsize {
101entry:
102 %0 = udiv i64 %x, 10
103 %1 = urem i64 %x, 10
104 %res = add i64 %0, %1
105 ret i64 %res
106}
107
108define i64 @test_minsize_ss64(i64 %x) minsize optsize {
109entry:
110 %0 = sdiv i64 %x, 10
111 %1 = srem i64 %x, 10
112 %res = add i64 %0, %1
113 ret i64 %res
114}
115
116define i64 @test_minsize_us64(i64 %x) minsize optsize {
117entry:
118 %0 = udiv i64 %x, 10
119 %1 = srem i64 %x, 10
120 %res = add i64 %0, %1
121 ret i64 %res
122}
123
124define i64 @test_minsize_su64(i64 %x) minsize optsize {
125entry:
126 %0 = sdiv i64 %x, 10
127 %1 = urem i64 %x, 10
128 %res = add i64 %0, %1
129 ret i64 %res
130}
131
132define i8 @test_uu8(i8 %x) optsize {
133entry:
134 %0 = udiv i8 %x, 10
135 %1 = urem i8 %x, 10
136 %res = add i8 %0, %1
137 ret i8 %res
138}
139
140define i8 @test_ss8(i8 %x) optsize {
141entry:
142 %0 = sdiv i8 %x, 10
143 %1 = srem i8 %x, 10
144 %res = add i8 %0, %1
145 ret i8 %res
146}
147
148define i8 @test_us8(i8 %x) optsize {
149entry:
150 %0 = udiv i8 %x, 10
151 %1 = srem i8 %x, 10
152 %res = add i8 %0, %1
153 ret i8 %res
154}
155
156define i8 @test_su8(i8 %x) optsize {
157entry:
158 %0 = sdiv i8 %x, 10
159 %1 = urem i8 %x, 10
160 %res = add i8 %0, %1
161 ret i8 %res
162}
163
164define i16 @test_uu16(i16 %x) optsize {
165entry:
166 %0 = udiv i16 %x, 10
167 %1 = urem i16 %x, 10
168 %res = add i16 %0, %1
169 ret i16 %res
170}
171
172define i16 @test_ss16(i16 %x) optsize {
173entry:
174 %0 = sdiv i16 %x, 10
175 %1 = srem i16 %x, 10
176 %res = add i16 %0, %1
177 ret i16 %res
178}
179
180define i16 @test_us16(i16 %x) optsize {
181entry:
182 %0 = udiv i16 %x, 10
183 %1 = srem i16 %x, 10
184 %res = add i16 %0, %1
185 ret i16 %res
186}
187
188define i16 @test_su16(i16 %x) optsize {
189entry:
190 %0 = sdiv i16 %x, 10
191 %1 = urem i16 %x, 10
192 %res = add i16 %0, %1
193 ret i16 %res
194}
195
196define i32 @test_uu32(i32 %x) optsize {
197entry:
198 %0 = udiv i32 %x, 10
199 %1 = urem i32 %x, 10
200 %res = add i32 %0, %1
201 ret i32 %res
202}
203
204define i32 @test_ss32(i32 %x) optsize {
205entry:
206 %0 = sdiv i32 %x, 10
207 %1 = srem i32 %x, 10
208 %res = add i32 %0, %1
209 ret i32 %res
210}
211
212define i32 @test_us32(i32 %x) optsize {
213entry:
214 %0 = udiv i32 %x, 10
215 %1 = srem i32 %x, 10
216 %res = add i32 %0, %1
217 ret i32 %res
218}
219
220define i32 @test_su32(i32 %x) optsize {
221entry:
222 %0 = sdiv i32 %x, 10
223 %1 = urem i32 %x, 10
224 %res = add i32 %0, %1
225 ret i32 %res
226}
227
228define i64 @test_uu64(i64 %x) optsize {
229entry:
230 %0 = udiv i64 %x, 10
231 %1 = urem i64 %x, 10
232 %res = add i64 %0, %1
233 ret i64 %res
234}
235
236define i64 @test_ss64(i64 %x) optsize {
237entry:
238 %0 = sdiv i64 %x, 10
239 %1 = srem i64 %x, 10
240 %res = add i64 %0, %1
241 ret i64 %res
242}
243
244define i64 @test_us64(i64 %x) optsize {
245entry:
246 %0 = udiv i64 %x, 10
247 %1 = srem i64 %x, 10
248 %res = add i64 %0, %1
249 ret i64 %res
250}
251
252define i64 @test_su64(i64 %x) optsize {
253entry:
254 %0 = sdiv i64 %x, 10
255 %1 = urem i64 %x, 10
256 %res = add i64 %0, %1
257 ret i64 %res
258}