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