1; RUN: llc < %s -mtriple=i686--
2; RUN: llc < %s -mtriple=x86_64--
3
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}
259