Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: crosstest/test_arith.ll

Issue 2013863002: Subzero: Crosstest test_arith properly tests i8/i16. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Revert i1 checks, which are already performed by PNaClTranslator Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« crosstest/crosstest.cfg ('K') | « crosstest/crosstest.cfg ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 define internal i32 @_Z7testAddbb(i32 %a, i32 %b) {
2 entry:
3 %b.arg_trunc = trunc i32 %b to i1
4 %a.arg_trunc = trunc i32 %a to i1
5 %conv = zext i1 %a.arg_trunc to i32
6 %add = sext i1 %b.arg_trunc to i32
7 %tobool4 = icmp ne i32 %conv, %add
8 %tobool4.ret_ext = zext i1 %tobool4 to i32
9 ret i32 %tobool4.ret_ext
10 }
11
12 define internal i32 @_Z7testAddhh(i32 %a, i32 %b) {
13 entry:
14 %b.arg_trunc = trunc i32 %b to i8
15 %a.arg_trunc = trunc i32 %a to i8
16 %conv = zext i8 %a.arg_trunc to i32
17 %conv1 = zext i8 %b.arg_trunc to i32
18 %add = add i32 %conv1, %conv
19 ; %conv2 = trunc i32 %add to i8
20 %conv2 = add i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
21 %conv2.ret_ext = zext i8 %conv2 to i32
22 ret i32 %conv2.ret_ext
23 }
24
25 define internal i32 @_Z7testAddtt(i32 %a, i32 %b) {
26 entry:
27 %b.arg_trunc = trunc i32 %b to i16
28 %a.arg_trunc = trunc i32 %a to i16
29 %conv = zext i16 %a.arg_trunc to i32
30 %conv1 = zext i16 %b.arg_trunc to i32
31 %add = add i32 %conv1, %conv
32 ; %conv2 = trunc i32 %add to i16
33 %conv2 = add i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
34 %conv2.ret_ext = zext i16 %conv2 to i32
35 ret i32 %conv2.ret_ext
36 }
37
38 define internal i32 @_Z7testAddjj(i32 %a, i32 %b) {
39 entry:
40 %add = add i32 %b, %a
41 ret i32 %add
42 }
43
44 define internal i64 @_Z7testAddyy(i64 %a, i64 %b) {
45 entry:
46 %add = add i64 %b, %a
47 ret i64 %add
48 }
49
50 define internal <4 x i32> @_Z7testAddDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
51 entry:
52 %add = add <4 x i32> %b, %a
53 ret <4 x i32> %add
54 }
55
56 define internal <8 x i16> @_Z7testAddDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
57 entry:
58 %add = add <8 x i16> %b, %a
59 ret <8 x i16> %add
60 }
61
62 define internal <16 x i8> @_Z7testAddDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
63 entry:
64 %add = add <16 x i8> %b, %a
65 ret <16 x i8> %add
66 }
67
68 define internal i32 @_Z7testSubbb(i32 %a, i32 %b) {
69 entry:
70 %b.arg_trunc = trunc i32 %b to i1
71 %a.arg_trunc = trunc i32 %a to i1
72 %tobool4 = xor i1 %a.arg_trunc, %b.arg_trunc
73 %tobool4.ret_ext = zext i1 %tobool4 to i32
74 ret i32 %tobool4.ret_ext
75 }
76
77 define internal i32 @_Z7testSubhh(i32 %a, i32 %b) {
78 entry:
79 %b.arg_trunc = trunc i32 %b to i8
80 %a.arg_trunc = trunc i32 %a to i8
81 %conv = zext i8 %a.arg_trunc to i32
82 %conv1 = zext i8 %b.arg_trunc to i32
83 %sub = sub i32 %conv, %conv1
84 ; %conv2 = trunc i32 %sub to i8
85 %conv2 = sub i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
86 %conv2.ret_ext = zext i8 %conv2 to i32
87 ret i32 %conv2.ret_ext
88 }
89
90 define internal i32 @_Z7testSubtt(i32 %a, i32 %b) {
91 entry:
92 %b.arg_trunc = trunc i32 %b to i16
93 %a.arg_trunc = trunc i32 %a to i16
94 %conv = zext i16 %a.arg_trunc to i32
95 %conv1 = zext i16 %b.arg_trunc to i32
96 %sub = sub i32 %conv, %conv1
97 ; %conv2 = trunc i32 %sub to i16
98 %conv2 = sub i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
99 %conv2.ret_ext = zext i16 %conv2 to i32
100 ret i32 %conv2.ret_ext
101 }
102
103 define internal i32 @_Z7testSubjj(i32 %a, i32 %b) {
104 entry:
105 %sub = sub i32 %a, %b
106 ret i32 %sub
107 }
108
109 define internal i64 @_Z7testSubyy(i64 %a, i64 %b) {
110 entry:
111 %sub = sub i64 %a, %b
112 ret i64 %sub
113 }
114
115 define internal <4 x i32> @_Z7testSubDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
116 entry:
117 %sub = sub <4 x i32> %a, %b
118 ret <4 x i32> %sub
119 }
120
121 define internal <8 x i16> @_Z7testSubDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
122 entry:
123 %sub = sub <8 x i16> %a, %b
124 ret <8 x i16> %sub
125 }
126
127 define internal <16 x i8> @_Z7testSubDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
128 entry:
129 %sub = sub <16 x i8> %a, %b
130 ret <16 x i8> %sub
131 }
132
133 define internal i32 @_Z7testMulbb(i32 %a, i32 %b) {
134 entry:
135 %b.arg_trunc = trunc i32 %b to i1
136 %a.arg_trunc = trunc i32 %a to i1
137 %tobool4 = and i1 %a.arg_trunc, %b.arg_trunc
138 %tobool4.ret_ext = zext i1 %tobool4 to i32
139 ret i32 %tobool4.ret_ext
140 }
141
142 define internal i32 @_Z7testMulhh(i32 %a, i32 %b) {
143 entry:
144 %b.arg_trunc = trunc i32 %b to i8
145 %a.arg_trunc = trunc i32 %a to i8
146 %conv = zext i8 %a.arg_trunc to i32
147 %conv1 = zext i8 %b.arg_trunc to i32
148 %mul = mul i32 %conv1, %conv
149 ; %conv2 = trunc i32 %mul to i8
150 %conv2 = mul i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
151 %conv2.ret_ext = zext i8 %conv2 to i32
152 ret i32 %conv2.ret_ext
153 }
154
155 define internal i32 @_Z7testMultt(i32 %a, i32 %b) {
156 entry:
157 %b.arg_trunc = trunc i32 %b to i16
158 %a.arg_trunc = trunc i32 %a to i16
159 %conv = zext i16 %a.arg_trunc to i32
160 %conv1 = zext i16 %b.arg_trunc to i32
161 %mul = mul i32 %conv1, %conv
162 ; %conv2 = trunc i32 %mul to i16
163 %conv2 = mul i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
164 %conv2.ret_ext = zext i16 %conv2 to i32
165 ret i32 %conv2.ret_ext
166 }
167
168 define internal i32 @_Z7testMuljj(i32 %a, i32 %b) {
169 entry:
170 %mul = mul i32 %b, %a
171 ret i32 %mul
172 }
173
174 define internal i64 @_Z7testMulyy(i64 %a, i64 %b) {
175 entry:
176 %mul = mul i64 %b, %a
177 ret i64 %mul
178 }
179
180 define internal <4 x i32> @_Z7testMulDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
181 entry:
182 %mul = mul <4 x i32> %b, %a
183 ret <4 x i32> %mul
184 }
185
186 define internal <8 x i16> @_Z7testMulDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
187 entry:
188 %mul = mul <8 x i16> %b, %a
189 ret <8 x i16> %mul
190 }
191
192 define internal <16 x i8> @_Z7testMulDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
193 entry:
194 %mul = mul <16 x i8> %b, %a
195 ret <16 x i8> %mul
196 }
197
198 define internal i32 @_Z8testUdivbb(i32 %a, i32 %b) {
199 entry:
200 %a.arg_trunc = trunc i32 %a to i1
201 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
202 ret i32 %a.arg_trunc.ret_ext
203 }
204
205 define internal i32 @_Z8testUdivhh(i32 %a, i32 %b) {
206 entry:
207 %b.arg_trunc = trunc i32 %b to i8
208 %a.arg_trunc = trunc i32 %a to i8
209 %div3 = udiv i8 %a.arg_trunc, %b.arg_trunc
210 %div3.ret_ext = zext i8 %div3 to i32
211 ret i32 %div3.ret_ext
212 }
213
214 define internal i32 @_Z8testUdivtt(i32 %a, i32 %b) {
215 entry:
216 %b.arg_trunc = trunc i32 %b to i16
217 %a.arg_trunc = trunc i32 %a to i16
218 %div3 = udiv i16 %a.arg_trunc, %b.arg_trunc
219 %div3.ret_ext = zext i16 %div3 to i32
220 ret i32 %div3.ret_ext
221 }
222
223 define internal i32 @_Z8testUdivjj(i32 %a, i32 %b) {
224 entry:
225 %div = udiv i32 %a, %b
226 ret i32 %div
227 }
228
229 define internal i64 @_Z8testUdivyy(i64 %a, i64 %b) {
230 entry:
231 %div = udiv i64 %a, %b
232 ret i64 %div
233 }
234
235 define internal <4 x i32> @_Z8testUdivDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
236 entry:
237 %div = udiv <4 x i32> %a, %b
238 ret <4 x i32> %div
239 }
240
241 define internal <8 x i16> @_Z8testUdivDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
242 entry:
243 %div = udiv <8 x i16> %a, %b
244 ret <8 x i16> %div
245 }
246
247 define internal <16 x i8> @_Z8testUdivDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
248 entry:
249 %div = udiv <16 x i8> %a, %b
250 ret <16 x i8> %div
251 }
252
253 define internal i32 @_Z8testUrembb(i32 %a, i32 %b) {
254 entry:
255 %.ret_ext = zext i1 false to i32
256 ret i32 %.ret_ext
257 }
258
259 define internal i32 @_Z8testUremhh(i32 %a, i32 %b) {
260 entry:
261 %b.arg_trunc = trunc i32 %b to i8
262 %a.arg_trunc = trunc i32 %a to i8
263 %0 = urem i8 %a.arg_trunc, %b.arg_trunc
264 %.ret_ext = zext i8 %0 to i32
265 ret i32 %.ret_ext
266 }
267
268 define internal i32 @_Z8testUremtt(i32 %a, i32 %b) {
269 entry:
270 %b.arg_trunc = trunc i32 %b to i16
271 %a.arg_trunc = trunc i32 %a to i16
272 %0 = urem i16 %a.arg_trunc, %b.arg_trunc
273 %.ret_ext = zext i16 %0 to i32
274 ret i32 %.ret_ext
275 }
276
277 define internal i32 @_Z8testUremjj(i32 %a, i32 %b) {
278 entry:
279 %rem = urem i32 %a, %b
280 ret i32 %rem
281 }
282
283 define internal i64 @_Z8testUremyy(i64 %a, i64 %b) {
284 entry:
285 %rem = urem i64 %a, %b
286 ret i64 %rem
287 }
288
289 define internal <4 x i32> @_Z8testUremDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
290 entry:
291 %rem = urem <4 x i32> %a, %b
292 ret <4 x i32> %rem
293 }
294
295 define internal <8 x i16> @_Z8testUremDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
296 entry:
297 %rem = urem <8 x i16> %a, %b
298 ret <8 x i16> %rem
299 }
300
301 define internal <16 x i8> @_Z8testUremDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
302 entry:
303 %rem = urem <16 x i8> %a, %b
304 ret <16 x i8> %rem
305 }
306
307 define internal i32 @_Z7testShlbb(i32 %a, i32 %b) {
308 entry:
309 %b.arg_trunc = trunc i32 %b to i1
310 %a.arg_trunc = trunc i32 %a to i1
311 %conv = zext i1 %a.arg_trunc to i32
312 %conv3 = zext i1 %b.arg_trunc to i32
313 %shl = shl i32 %conv, %conv3
314 %tobool4 = icmp ne i32 %shl, 0
315 %tobool4.ret_ext = zext i1 %tobool4 to i32
316 ret i32 %tobool4.ret_ext
317 }
318
319 define internal i32 @_Z7testShlhh(i32 %a, i32 %b) {
320 entry:
321 %b.arg_trunc = trunc i32 %b to i8
322 %a.arg_trunc = trunc i32 %a to i8
323 %conv = zext i8 %a.arg_trunc to i32
324 %conv1 = zext i8 %b.arg_trunc to i32
325 %shl = shl i32 %conv, %conv1
326 ; %conv2 = trunc i32 %shl to i8
327 %conv2 = shl i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
328 %conv2.ret_ext = zext i8 %conv2 to i32
329 ret i32 %conv2.ret_ext
330 }
331
332 define internal i32 @_Z7testShltt(i32 %a, i32 %b) {
333 entry:
334 %b.arg_trunc = trunc i32 %b to i16
335 %a.arg_trunc = trunc i32 %a to i16
336 %conv = zext i16 %a.arg_trunc to i32
337 %conv1 = zext i16 %b.arg_trunc to i32
338 %shl = shl i32 %conv, %conv1
339 ; %conv2 = trunc i32 %shl to i16
340 %conv2 = shl i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
341 %conv2.ret_ext = zext i16 %conv2 to i32
342 ret i32 %conv2.ret_ext
343 }
344
345 define internal i32 @_Z7testShljj(i32 %a, i32 %b) {
346 entry:
347 %shl = shl i32 %a, %b
348 ret i32 %shl
349 }
350
351 define internal i64 @_Z7testShlyy(i64 %a, i64 %b) {
352 entry:
353 %shl = shl i64 %a, %b
354 ret i64 %shl
355 }
356
357 define internal <4 x i32> @_Z7testShlDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
358 entry:
359 %shl = shl <4 x i32> %a, %b
360 ret <4 x i32> %shl
361 }
362
363 define internal <8 x i16> @_Z7testShlDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
364 entry:
365 %shl = shl <8 x i16> %a, %b
366 ret <8 x i16> %shl
367 }
368
369 define internal <16 x i8> @_Z7testShlDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
370 entry:
371 %shl = shl <16 x i8> %a, %b
372 ret <16 x i8> %shl
373 }
374
375 define internal i32 @_Z8testLshrbb(i32 %a, i32 %b) {
376 entry:
377 %b.arg_trunc = trunc i32 %b to i1
378 %a.arg_trunc = trunc i32 %a to i1
379 %conv = zext i1 %a.arg_trunc to i32
380 %conv3 = zext i1 %b.arg_trunc to i32
381 %shr = lshr i32 %conv, %conv3
382 %tobool4 = icmp ne i32 %shr, 0
383 %tobool4.ret_ext = zext i1 %tobool4 to i32
384 ret i32 %tobool4.ret_ext
385 }
386
387 define internal i32 @_Z8testLshrhh(i32 %a, i32 %b) {
388 entry:
389 %b.arg_trunc = trunc i32 %b to i8
390 %a.arg_trunc = trunc i32 %a to i8
391 %conv = zext i8 %a.arg_trunc to i32
392 %conv1 = zext i8 %b.arg_trunc to i32
393 %shr = lshr i32 %conv, %conv1
394 ; %conv2 = trunc i32 %shr to i8
395 %conv2 = lshr i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
396 %conv2.ret_ext = zext i8 %conv2 to i32
397 ret i32 %conv2.ret_ext
398 }
399
400 define internal i32 @_Z8testLshrtt(i32 %a, i32 %b) {
401 entry:
402 %b.arg_trunc = trunc i32 %b to i16
403 %a.arg_trunc = trunc i32 %a to i16
404 %conv = zext i16 %a.arg_trunc to i32
405 %conv1 = zext i16 %b.arg_trunc to i32
406 %shr = lshr i32 %conv, %conv1
407 ; %conv2 = trunc i32 %shr to i16
408 %conv2 = lshr i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
409 %conv2.ret_ext = zext i16 %conv2 to i32
410 ret i32 %conv2.ret_ext
411 }
412
413 define internal i32 @_Z8testLshrjj(i32 %a, i32 %b) {
414 entry:
415 %shr = lshr i32 %a, %b
416 ret i32 %shr
417 }
418
419 define internal i64 @_Z8testLshryy(i64 %a, i64 %b) {
420 entry:
421 %shr = lshr i64 %a, %b
422 ret i64 %shr
423 }
424
425 define internal <4 x i32> @_Z8testLshrDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
426 entry:
427 %shr = lshr <4 x i32> %a, %b
428 ret <4 x i32> %shr
429 }
430
431 define internal <8 x i16> @_Z8testLshrDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
432 entry:
433 %shr = lshr <8 x i16> %a, %b
434 ret <8 x i16> %shr
435 }
436
437 define internal <16 x i8> @_Z8testLshrDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
438 entry:
439 %shr = lshr <16 x i8> %a, %b
440 ret <16 x i8> %shr
441 }
442
443 define internal i32 @_Z7testAndbb(i32 %a, i32 %b) {
444 entry:
445 %b.arg_trunc = trunc i32 %b to i1
446 %a.arg_trunc = trunc i32 %a to i1
447 %and5 = and i1 %a.arg_trunc, %b.arg_trunc
448 %and5.ret_ext = zext i1 %and5 to i32
449 ret i32 %and5.ret_ext
450 }
451
452 define internal i32 @_Z7testAndhh(i32 %a, i32 %b) {
453 entry:
454 %b.arg_trunc = trunc i32 %b to i8
455 %a.arg_trunc = trunc i32 %a to i8
456 %and3 = and i8 %b.arg_trunc, %a.arg_trunc
457 %and3.ret_ext = zext i8 %and3 to i32
458 ret i32 %and3.ret_ext
459 }
460
461 define internal i32 @_Z7testAndtt(i32 %a, i32 %b) {
462 entry:
463 %b.arg_trunc = trunc i32 %b to i16
464 %a.arg_trunc = trunc i32 %a to i16
465 %and3 = and i16 %b.arg_trunc, %a.arg_trunc
466 %and3.ret_ext = zext i16 %and3 to i32
467 ret i32 %and3.ret_ext
468 }
469
470 define internal i32 @_Z7testAndjj(i32 %a, i32 %b) {
471 entry:
472 %and = and i32 %b, %a
473 ret i32 %and
474 }
475
476 define internal i64 @_Z7testAndyy(i64 %a, i64 %b) {
477 entry:
478 %and = and i64 %b, %a
479 ret i64 %and
480 }
481
482 define internal <4 x i32> @_Z7testAndDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
483 entry:
484 %and = and <4 x i32> %b, %a
485 ret <4 x i32> %and
486 }
487
488 define internal <8 x i16> @_Z7testAndDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
489 entry:
490 %and = and <8 x i16> %b, %a
491 ret <8 x i16> %and
492 }
493
494 define internal <16 x i8> @_Z7testAndDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
495 entry:
496 %and = and <16 x i8> %b, %a
497 ret <16 x i8> %and
498 }
499
500 define internal i32 @_Z6testOrbb(i32 %a, i32 %b) {
501 entry:
502 %b.arg_trunc = trunc i32 %b to i1
503 %a.arg_trunc = trunc i32 %a to i1
504 %or5 = or i1 %a.arg_trunc, %b.arg_trunc
505 %or5.ret_ext = zext i1 %or5 to i32
506 ret i32 %or5.ret_ext
507 }
508
509 define internal i32 @_Z6testOrhh(i32 %a, i32 %b) {
510 entry:
511 %b.arg_trunc = trunc i32 %b to i8
512 %a.arg_trunc = trunc i32 %a to i8
513 %or3 = or i8 %b.arg_trunc, %a.arg_trunc
514 %or3.ret_ext = zext i8 %or3 to i32
515 ret i32 %or3.ret_ext
516 }
517
518 define internal i32 @_Z6testOrtt(i32 %a, i32 %b) {
519 entry:
520 %b.arg_trunc = trunc i32 %b to i16
521 %a.arg_trunc = trunc i32 %a to i16
522 %or3 = or i16 %b.arg_trunc, %a.arg_trunc
523 %or3.ret_ext = zext i16 %or3 to i32
524 ret i32 %or3.ret_ext
525 }
526
527 define internal i32 @_Z6testOrjj(i32 %a, i32 %b) {
528 entry:
529 %or = or i32 %b, %a
530 ret i32 %or
531 }
532
533 define internal i64 @_Z6testOryy(i64 %a, i64 %b) {
534 entry:
535 %or = or i64 %b, %a
536 ret i64 %or
537 }
538
539 define internal <4 x i32> @_Z6testOrDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
540 entry:
541 %or = or <4 x i32> %b, %a
542 ret <4 x i32> %or
543 }
544
545 define internal <8 x i16> @_Z6testOrDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
546 entry:
547 %or = or <8 x i16> %b, %a
548 ret <8 x i16> %or
549 }
550
551 define internal <16 x i8> @_Z6testOrDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
552 entry:
553 %or = or <16 x i8> %b, %a
554 ret <16 x i8> %or
555 }
556
557 define internal i32 @_Z7testXorbb(i32 %a, i32 %b) {
558 entry:
559 %b.arg_trunc = trunc i32 %b to i1
560 %a.arg_trunc = trunc i32 %a to i1
561 %xor5 = xor i1 %a.arg_trunc, %b.arg_trunc
562 %xor5.ret_ext = zext i1 %xor5 to i32
563 ret i32 %xor5.ret_ext
564 }
565
566 define internal i32 @_Z7testXorhh(i32 %a, i32 %b) {
567 entry:
568 %b.arg_trunc = trunc i32 %b to i8
569 %a.arg_trunc = trunc i32 %a to i8
570 %xor3 = xor i8 %b.arg_trunc, %a.arg_trunc
571 %xor3.ret_ext = zext i8 %xor3 to i32
572 ret i32 %xor3.ret_ext
573 }
574
575 define internal i32 @_Z7testXortt(i32 %a, i32 %b) {
576 entry:
577 %b.arg_trunc = trunc i32 %b to i16
578 %a.arg_trunc = trunc i32 %a to i16
579 %xor3 = xor i16 %b.arg_trunc, %a.arg_trunc
580 %xor3.ret_ext = zext i16 %xor3 to i32
581 ret i32 %xor3.ret_ext
582 }
583
584 define internal i32 @_Z7testXorjj(i32 %a, i32 %b) {
585 entry:
586 %xor = xor i32 %b, %a
587 ret i32 %xor
588 }
589
590 define internal i64 @_Z7testXoryy(i64 %a, i64 %b) {
591 entry:
592 %xor = xor i64 %b, %a
593 ret i64 %xor
594 }
595
596 define internal <4 x i32> @_Z7testXorDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
597 entry:
598 %xor = xor <4 x i32> %a, %b
599 ret <4 x i32> %xor
600 }
601
602 define internal <8 x i16> @_Z7testXorDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
603 entry:
604 %xor = xor <8 x i16> %a, %b
605 ret <8 x i16> %xor
606 }
607
608 define internal <16 x i8> @_Z7testXorDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
609 entry:
610 %xor = xor <16 x i8> %a, %b
611 ret <16 x i8> %xor
612 }
613
614 define internal i32 @_Z8testSdivbb(i32 %a, i32 %b) {
615 entry:
616 %a.arg_trunc = trunc i32 %a to i1
617 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
618 ret i32 %a.arg_trunc.ret_ext
619 }
620
621 define internal i32 @_Z8testSdivaa(i32 %a, i32 %b) {
622 entry:
623 %b.arg_trunc = trunc i32 %b to i8
624 %a.arg_trunc = trunc i32 %a to i8
625 %conv = sext i8 %a.arg_trunc to i32
626 %conv1 = sext i8 %b.arg_trunc to i32
627 %div = sdiv i32 %conv, %conv1
628 ; %conv2 = trunc i32 %div to i8
629 %conv2 = sdiv i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
630 %conv2.ret_ext = sext i8 %conv2 to i32
631 ret i32 %conv2.ret_ext
632 }
633
634 define internal i32 @_Z8testSdivss(i32 %a, i32 %b) {
635 entry:
636 %b.arg_trunc = trunc i32 %b to i16
637 %a.arg_trunc = trunc i32 %a to i16
638 %conv = sext i16 %a.arg_trunc to i32
639 %conv1 = sext i16 %b.arg_trunc to i32
640 %div = sdiv i32 %conv, %conv1
641 ; %conv2 = trunc i32 %div to i16
642 %conv2 = sdiv i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
643 %conv2.ret_ext = sext i16 %conv2 to i32
644 ret i32 %conv2.ret_ext
645 }
646
647 define internal i32 @_Z8testSdivii(i32 %a, i32 %b) {
648 entry:
649 %div = sdiv i32 %a, %b
650 ret i32 %div
651 }
652
653 define internal i64 @_Z8testSdivxx(i64 %a, i64 %b) {
654 entry:
655 %div = sdiv i64 %a, %b
656 ret i64 %div
657 }
658
659 define internal <4 x i32> @_Z8testSdivDv4_iS_(<4 x i32> %a, <4 x i32> %b) {
660 entry:
661 %div = sdiv <4 x i32> %a, %b
662 ret <4 x i32> %div
663 }
664
665 define internal <8 x i16> @_Z8testSdivDv8_sS_(<8 x i16> %a, <8 x i16> %b) {
666 entry:
667 %div = sdiv <8 x i16> %a, %b
668 ret <8 x i16> %div
669 }
670
671 define internal <16 x i8> @_Z8testSdivDv16_aS_(<16 x i8> %a, <16 x i8> %b) {
672 entry:
673 %div = sdiv <16 x i8> %a, %b
674 ret <16 x i8> %div
675 }
676
677 define internal i32 @_Z8testSrembb(i32 %a, i32 %b) {
678 entry:
679 %.ret_ext = zext i1 false to i32
680 ret i32 %.ret_ext
681 }
682
683 define internal i32 @_Z8testSremaa(i32 %a, i32 %b) {
684 entry:
685 %b.arg_trunc = trunc i32 %b to i8
686 %a.arg_trunc = trunc i32 %a to i8
687 %conv = sext i8 %a.arg_trunc to i32
688 %conv1 = sext i8 %b.arg_trunc to i32
689 %rem = srem i32 %conv, %conv1
690 ; %conv2 = trunc i32 %rem to i8
691 %conv2 = srem i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
692 %conv2.ret_ext = sext i8 %conv2 to i32
693 ret i32 %conv2.ret_ext
694 }
695
696 define internal i32 @_Z8testSremss(i32 %a, i32 %b) {
697 entry:
698 %b.arg_trunc = trunc i32 %b to i16
699 %a.arg_trunc = trunc i32 %a to i16
700 %conv = sext i16 %a.arg_trunc to i32
701 %conv1 = sext i16 %b.arg_trunc to i32
702 %rem = srem i32 %conv, %conv1
703 ; %conv2 = trunc i32 %rem to i16
704 %conv2 = srem i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
705 %conv2.ret_ext = sext i16 %conv2 to i32
706 ret i32 %conv2.ret_ext
707 }
708
709 define internal i32 @_Z8testSremii(i32 %a, i32 %b) {
710 entry:
711 %rem = srem i32 %a, %b
712 ret i32 %rem
713 }
714
715 define internal i64 @_Z8testSremxx(i64 %a, i64 %b) {
716 entry:
717 %rem = srem i64 %a, %b
718 ret i64 %rem
719 }
720
721 define internal <4 x i32> @_Z8testSremDv4_iS_(<4 x i32> %a, <4 x i32> %b) {
722 entry:
723 %rem = srem <4 x i32> %a, %b
724 ret <4 x i32> %rem
725 }
726
727 define internal <8 x i16> @_Z8testSremDv8_sS_(<8 x i16> %a, <8 x i16> %b) {
728 entry:
729 %rem = srem <8 x i16> %a, %b
730 ret <8 x i16> %rem
731 }
732
733 define internal <16 x i8> @_Z8testSremDv16_aS_(<16 x i8> %a, <16 x i8> %b) {
734 entry:
735 %rem = srem <16 x i8> %a, %b
736 ret <16 x i8> %rem
737 }
738
739 define internal i32 @_Z8testAshrbb(i32 %a, i32 %b) {
740 entry:
741 %b.arg_trunc = trunc i32 %b to i1
742 %a.arg_trunc = trunc i32 %a to i1
743 %conv = zext i1 %a.arg_trunc to i32
744 %conv3 = zext i1 %b.arg_trunc to i32
745 %shr = lshr i32 %conv, %conv3
746 %tobool4 = icmp ne i32 %shr, 0
747 %tobool4.ret_ext = zext i1 %tobool4 to i32
748 ret i32 %tobool4.ret_ext
749 }
750
751 define internal i32 @_Z8testAshraa(i32 %a, i32 %b) {
752 entry:
753 %b.arg_trunc = trunc i32 %b to i8
754 %a.arg_trunc = trunc i32 %a to i8
755 %conv = sext i8 %a.arg_trunc to i32
756 %conv1 = sext i8 %b.arg_trunc to i32
757 %shr = ashr i32 %conv, %conv1
758 ; %conv2 = trunc i32 %shr to i8
759 %conv2 = ashr i8 %a.arg_trunc, %b.arg_trunc ; INSERTED
760 %conv2.ret_ext = sext i8 %conv2 to i32
761 ret i32 %conv2.ret_ext
762 }
763
764 define internal i32 @_Z8testAshrss(i32 %a, i32 %b) {
765 entry:
766 %b.arg_trunc = trunc i32 %b to i16
767 %a.arg_trunc = trunc i32 %a to i16
768 %conv = sext i16 %a.arg_trunc to i32
769 %conv1 = sext i16 %b.arg_trunc to i32
770 %shr = ashr i32 %conv, %conv1
771 ; %conv2 = trunc i32 %shr to i16
772 %conv2 = ashr i16 %a.arg_trunc, %b.arg_trunc ; INSERTED
773 %conv2.ret_ext = sext i16 %conv2 to i32
774 ret i32 %conv2.ret_ext
775 }
776
777 define internal i32 @_Z8testAshrii(i32 %a, i32 %b) {
778 entry:
779 %shr = ashr i32 %a, %b
780 ret i32 %shr
781 }
782
783 define internal i64 @_Z8testAshrxx(i64 %a, i64 %b) {
784 entry:
785 %shr = ashr i64 %a, %b
786 ret i64 %shr
787 }
788
789 define internal <4 x i32> @_Z8testAshrDv4_iS_(<4 x i32> %a, <4 x i32> %b) {
790 entry:
791 %shr = ashr <4 x i32> %a, %b
792 ret <4 x i32> %shr
793 }
794
795 define internal <8 x i16> @_Z8testAshrDv8_sS_(<8 x i16> %a, <8 x i16> %b) {
796 entry:
797 %shr = ashr <8 x i16> %a, %b
798 ret <8 x i16> %shr
799 }
800
801 define internal <16 x i8> @_Z8testAshrDv16_aS_(<16 x i8> %a, <16 x i8> %b) {
802 entry:
803 %shr = ashr <16 x i8> %a, %b
804 ret <16 x i8> %shr
805 }
806
807 define internal float @_Z8testFaddff(float %a, float %b) {
808 entry:
809 %add = fadd float %a, %b
810 ret float %add
811 }
812
813 define internal double @_Z8testFadddd(double %a, double %b) {
814 entry:
815 %add = fadd double %a, %b
816 ret double %add
817 }
818
819 define internal <4 x float> @_Z8testFaddDv4_fS_(<4 x float> %a, <4 x float> %b) {
820 entry:
821 %add = fadd <4 x float> %a, %b
822 ret <4 x float> %add
823 }
824
825 define internal float @_Z8testFsubff(float %a, float %b) {
826 entry:
827 %sub = fsub float %a, %b
828 ret float %sub
829 }
830
831 define internal double @_Z8testFsubdd(double %a, double %b) {
832 entry:
833 %sub = fsub double %a, %b
834 ret double %sub
835 }
836
837 define internal <4 x float> @_Z8testFsubDv4_fS_(<4 x float> %a, <4 x float> %b) {
838 entry:
839 %sub = fsub <4 x float> %a, %b
840 ret <4 x float> %sub
841 }
842
843 define internal float @_Z8testFmulff(float %a, float %b) {
844 entry:
845 %mul = fmul float %a, %b
846 ret float %mul
847 }
848
849 define internal double @_Z8testFmuldd(double %a, double %b) {
850 entry:
851 %mul = fmul double %a, %b
852 ret double %mul
853 }
854
855 define internal <4 x float> @_Z8testFmulDv4_fS_(<4 x float> %a, <4 x float> %b) {
856 entry:
857 %mul = fmul <4 x float> %a, %b
858 ret <4 x float> %mul
859 }
860
861 define internal float @_Z8testFdivff(float %a, float %b) {
862 entry:
863 %div = fdiv float %a, %b
864 ret float %div
865 }
866
867 define internal double @_Z8testFdivdd(double %a, double %b) {
868 entry:
869 %div = fdiv double %a, %b
870 ret double %div
871 }
872
873 define internal <4 x float> @_Z8testFdivDv4_fS_(<4 x float> %a, <4 x float> %b) {
874 entry:
875 %div = fdiv <4 x float> %a, %b
876 ret <4 x float> %div
877 }
878
879 define internal float @_Z8testFremff(float %a, float %b) {
880 entry:
881 %call = tail call float @_Z6myFremff(float %a, float %b)
882 ret float %call
883 }
884
885 declare float @_Z6myFremff(float, float)
886
887 define internal double @_Z8testFremdd(double %a, double %b) {
888 entry:
889 %call = tail call double @_Z6myFremdd(double %a, double %b)
890 ret double %call
891 }
892
893 declare double @_Z6myFremdd(double, double)
894
895 define internal <4 x float> @_Z8testFremDv4_fS_(<4 x float> %a, <4 x float> %b) {
896 entry:
897 %call = tail call <4 x float> @_Z6myFremDv4_fS_(<4 x float> %a, <4 x float> %b )
898 ret <4 x float> %call
899 }
900
901 declare <4 x float> @_Z6myFremDv4_fS_(<4 x float>, <4 x float>)
902
903 define internal i32 @_Z15testMultiplyBy0bb(i32 %a, i32) {
904 entry:
905 %.ret_ext = zext i1 false to i32
906 ret i32 %.ret_ext
907 }
908
909 define internal i32 @_Z18testMultiplyByNeg0bb(i32 %a, i32) {
910 entry:
911 %.ret_ext = zext i1 false to i32
912 ret i32 %.ret_ext
913 }
914
915 define internal i32 @_Z15testMultiplyBy0hh(i32 %a, i32) {
916 entry:
917 %.ret_ext = zext i8 0 to i32
918 ret i32 %.ret_ext
919 }
920
921 define internal i32 @_Z18testMultiplyByNeg0hh(i32 %a, i32) {
922 entry:
923 %.ret_ext = zext i8 0 to i32
924 ret i32 %.ret_ext
925 }
926
927 define internal i32 @_Z15testMultiplyBy0tt(i32 %a, i32) {
928 entry:
929 %.ret_ext = zext i16 0 to i32
930 ret i32 %.ret_ext
931 }
932
933 define internal i32 @_Z18testMultiplyByNeg0tt(i32 %a, i32) {
934 entry:
935 %.ret_ext = zext i16 0 to i32
936 ret i32 %.ret_ext
937 }
938
939 define internal i32 @_Z15testMultiplyBy0jj(i32 %a, i32) {
940 entry:
941 ret i32 0
942 }
943
944 define internal i32 @_Z18testMultiplyByNeg0jj(i32 %a, i32) {
945 entry:
946 ret i32 0
947 }
948
949 define internal i64 @_Z15testMultiplyBy0yy(i64 %a, i64) {
950 entry:
951 ret i64 0
952 }
953
954 define internal i64 @_Z18testMultiplyByNeg0yy(i64 %a, i64) {
955 entry:
956 ret i64 0
957 }
958
959 define internal i32 @_Z15testMultiplyBy1bb(i32 %a, i32) {
960 entry:
961 %a.arg_trunc = trunc i32 %a to i1
962 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
963 ret i32 %a.arg_trunc.ret_ext
964 }
965
966 define internal i32 @_Z18testMultiplyByNeg1bb(i32 %a, i32) {
967 entry:
968 %a.arg_trunc = trunc i32 %a to i1
969 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
970 ret i32 %a.arg_trunc.ret_ext
971 }
972
973 define internal i32 @_Z15testMultiplyBy1hh(i32 %a, i32) {
974 entry:
975 %a.arg_trunc = trunc i32 %a to i8
976 %a.arg_trunc.ret_ext = zext i8 %a.arg_trunc to i32
977 ret i32 %a.arg_trunc.ret_ext
978 }
979
980 define internal i32 @_Z18testMultiplyByNeg1hh(i32 %a, i32) {
981 entry:
982 %a.arg_trunc = trunc i32 %a to i8
983 %conv = zext i8 %a.arg_trunc to i32
984 %mul = sub i32 0, %conv
985 %conv1 = trunc i32 %mul to i8
986 %conv1.ret_ext = zext i8 %conv1 to i32
987 ret i32 %conv1.ret_ext
988 }
989
990 define internal i32 @_Z15testMultiplyBy1tt(i32 %a, i32) {
991 entry:
992 %a.arg_trunc = trunc i32 %a to i16
993 %a.arg_trunc.ret_ext = zext i16 %a.arg_trunc to i32
994 ret i32 %a.arg_trunc.ret_ext
995 }
996
997 define internal i32 @_Z18testMultiplyByNeg1tt(i32 %a, i32) {
998 entry:
999 %a.arg_trunc = trunc i32 %a to i16
1000 %conv = zext i16 %a.arg_trunc to i32
1001 %mul = sub i32 0, %conv
1002 %conv1 = trunc i32 %mul to i16
1003 %conv1.ret_ext = zext i16 %conv1 to i32
1004 ret i32 %conv1.ret_ext
1005 }
1006
1007 define internal i32 @_Z15testMultiplyBy1jj(i32 %a, i32) {
1008 entry:
1009 ret i32 %a
1010 }
1011
1012 define internal i32 @_Z18testMultiplyByNeg1jj(i32 %a, i32) {
1013 entry:
1014 %mul = sub i32 0, %a
1015 ret i32 %mul
1016 }
1017
1018 define internal i64 @_Z15testMultiplyBy1yy(i64 %a, i64) {
1019 entry:
1020 ret i64 %a
1021 }
1022
1023 define internal i64 @_Z18testMultiplyByNeg1yy(i64 %a, i64) {
1024 entry:
1025 %mul = sub i64 0, %a
1026 ret i64 %mul
1027 }
1028
1029 define internal i32 @_Z15testMultiplyBy2bb(i32 %a, i32) {
1030 entry:
1031 %a.arg_trunc = trunc i32 %a to i1
1032 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1033 ret i32 %a.arg_trunc.ret_ext
1034 }
1035
1036 define internal i32 @_Z18testMultiplyByNeg2bb(i32 %a, i32) {
1037 entry:
1038 %a.arg_trunc = trunc i32 %a to i1
1039 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1040 ret i32 %a.arg_trunc.ret_ext
1041 }
1042
1043 define internal i32 @_Z15testMultiplyBy2hh(i32 %a, i32) {
1044 entry:
1045 %a.arg_trunc = trunc i32 %a to i8
1046 %conv = zext i8 %a.arg_trunc to i32
1047 %mul = shl i32 %conv, 1
1048 %conv1 = trunc i32 %mul to i8
1049 %conv1.ret_ext = zext i8 %conv1 to i32
1050 ret i32 %conv1.ret_ext
1051 }
1052
1053 define internal i32 @_Z18testMultiplyByNeg2hh(i32 %a, i32) {
1054 entry:
1055 %a.arg_trunc = trunc i32 %a to i8
1056 %conv = zext i8 %a.arg_trunc to i32
1057 %mul = mul i32 %conv, -2
1058 %conv1 = trunc i32 %mul to i8
1059 %conv1.ret_ext = zext i8 %conv1 to i32
1060 ret i32 %conv1.ret_ext
1061 }
1062
1063 define internal i32 @_Z15testMultiplyBy2tt(i32 %a, i32) {
1064 entry:
1065 %a.arg_trunc = trunc i32 %a to i16
1066 %conv = zext i16 %a.arg_trunc to i32
1067 %mul = shl i32 %conv, 1
1068 %conv1 = trunc i32 %mul to i16
1069 %conv1.ret_ext = zext i16 %conv1 to i32
1070 ret i32 %conv1.ret_ext
1071 }
1072
1073 define internal i32 @_Z18testMultiplyByNeg2tt(i32 %a, i32) {
1074 entry:
1075 %a.arg_trunc = trunc i32 %a to i16
1076 %conv = zext i16 %a.arg_trunc to i32
1077 %mul = mul i32 %conv, -2
1078 %conv1 = trunc i32 %mul to i16
1079 %conv1.ret_ext = zext i16 %conv1 to i32
1080 ret i32 %conv1.ret_ext
1081 }
1082
1083 define internal i32 @_Z15testMultiplyBy2jj(i32 %a, i32) {
1084 entry:
1085 %mul = shl i32 %a, 1
1086 ret i32 %mul
1087 }
1088
1089 define internal i32 @_Z18testMultiplyByNeg2jj(i32 %a, i32) {
1090 entry:
1091 %mul = mul i32 %a, -2
1092 ret i32 %mul
1093 }
1094
1095 define internal i64 @_Z15testMultiplyBy2yy(i64 %a, i64) {
1096 entry:
1097 %mul = shl i64 %a, 1
1098 ret i64 %mul
1099 }
1100
1101 define internal i64 @_Z18testMultiplyByNeg2yy(i64 %a, i64) {
1102 entry:
1103 %mul = mul i64 %a, -2
1104 ret i64 %mul
1105 }
1106
1107 define internal i32 @_Z15testMultiplyBy3bb(i32 %a, i32) {
1108 entry:
1109 %a.arg_trunc = trunc i32 %a to i1
1110 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1111 ret i32 %a.arg_trunc.ret_ext
1112 }
1113
1114 define internal i32 @_Z18testMultiplyByNeg3bb(i32 %a, i32) {
1115 entry:
1116 %a.arg_trunc = trunc i32 %a to i1
1117 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1118 ret i32 %a.arg_trunc.ret_ext
1119 }
1120
1121 define internal i32 @_Z15testMultiplyBy3hh(i32 %a, i32) {
1122 entry:
1123 %a.arg_trunc = trunc i32 %a to i8
1124 %conv = zext i8 %a.arg_trunc to i32
1125 %mul = mul i32 %conv, 3
1126 %conv1 = trunc i32 %mul to i8
1127 %conv1.ret_ext = zext i8 %conv1 to i32
1128 ret i32 %conv1.ret_ext
1129 }
1130
1131 define internal i32 @_Z18testMultiplyByNeg3hh(i32 %a, i32) {
1132 entry:
1133 %a.arg_trunc = trunc i32 %a to i8
1134 %conv = zext i8 %a.arg_trunc to i32
1135 %mul = mul i32 %conv, -3
1136 %conv1 = trunc i32 %mul to i8
1137 %conv1.ret_ext = zext i8 %conv1 to i32
1138 ret i32 %conv1.ret_ext
1139 }
1140
1141 define internal i32 @_Z15testMultiplyBy3tt(i32 %a, i32) {
1142 entry:
1143 %a.arg_trunc = trunc i32 %a to i16
1144 %conv = zext i16 %a.arg_trunc to i32
1145 %mul = mul i32 %conv, 3
1146 %conv1 = trunc i32 %mul to i16
1147 %conv1.ret_ext = zext i16 %conv1 to i32
1148 ret i32 %conv1.ret_ext
1149 }
1150
1151 define internal i32 @_Z18testMultiplyByNeg3tt(i32 %a, i32) {
1152 entry:
1153 %a.arg_trunc = trunc i32 %a to i16
1154 %conv = zext i16 %a.arg_trunc to i32
1155 %mul = mul i32 %conv, -3
1156 %conv1 = trunc i32 %mul to i16
1157 %conv1.ret_ext = zext i16 %conv1 to i32
1158 ret i32 %conv1.ret_ext
1159 }
1160
1161 define internal i32 @_Z15testMultiplyBy3jj(i32 %a, i32) {
1162 entry:
1163 %mul = mul i32 %a, 3
1164 ret i32 %mul
1165 }
1166
1167 define internal i32 @_Z18testMultiplyByNeg3jj(i32 %a, i32) {
1168 entry:
1169 %mul = mul i32 %a, -3
1170 ret i32 %mul
1171 }
1172
1173 define internal i64 @_Z15testMultiplyBy3yy(i64 %a, i64) {
1174 entry:
1175 %mul = mul i64 %a, 3
1176 ret i64 %mul
1177 }
1178
1179 define internal i64 @_Z18testMultiplyByNeg3yy(i64 %a, i64) {
1180 entry:
1181 %mul = mul i64 %a, -3
1182 ret i64 %mul
1183 }
1184
1185 define internal i32 @_Z15testMultiplyBy4bb(i32 %a, i32) {
1186 entry:
1187 %a.arg_trunc = trunc i32 %a to i1
1188 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1189 ret i32 %a.arg_trunc.ret_ext
1190 }
1191
1192 define internal i32 @_Z18testMultiplyByNeg4bb(i32 %a, i32) {
1193 entry:
1194 %a.arg_trunc = trunc i32 %a to i1
1195 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1196 ret i32 %a.arg_trunc.ret_ext
1197 }
1198
1199 define internal i32 @_Z15testMultiplyBy4hh(i32 %a, i32) {
1200 entry:
1201 %a.arg_trunc = trunc i32 %a to i8
1202 %conv = zext i8 %a.arg_trunc to i32
1203 %mul = shl i32 %conv, 2
1204 %conv1 = trunc i32 %mul to i8
1205 %conv1.ret_ext = zext i8 %conv1 to i32
1206 ret i32 %conv1.ret_ext
1207 }
1208
1209 define internal i32 @_Z18testMultiplyByNeg4hh(i32 %a, i32) {
1210 entry:
1211 %a.arg_trunc = trunc i32 %a to i8
1212 %conv = zext i8 %a.arg_trunc to i32
1213 %mul = mul i32 %conv, -4
1214 %conv1 = trunc i32 %mul to i8
1215 %conv1.ret_ext = zext i8 %conv1 to i32
1216 ret i32 %conv1.ret_ext
1217 }
1218
1219 define internal i32 @_Z15testMultiplyBy4tt(i32 %a, i32) {
1220 entry:
1221 %a.arg_trunc = trunc i32 %a to i16
1222 %conv = zext i16 %a.arg_trunc to i32
1223 %mul = shl i32 %conv, 2
1224 %conv1 = trunc i32 %mul to i16
1225 %conv1.ret_ext = zext i16 %conv1 to i32
1226 ret i32 %conv1.ret_ext
1227 }
1228
1229 define internal i32 @_Z18testMultiplyByNeg4tt(i32 %a, i32) {
1230 entry:
1231 %a.arg_trunc = trunc i32 %a to i16
1232 %conv = zext i16 %a.arg_trunc to i32
1233 %mul = mul i32 %conv, -4
1234 %conv1 = trunc i32 %mul to i16
1235 %conv1.ret_ext = zext i16 %conv1 to i32
1236 ret i32 %conv1.ret_ext
1237 }
1238
1239 define internal i32 @_Z15testMultiplyBy4jj(i32 %a, i32) {
1240 entry:
1241 %mul = shl i32 %a, 2
1242 ret i32 %mul
1243 }
1244
1245 define internal i32 @_Z18testMultiplyByNeg4jj(i32 %a, i32) {
1246 entry:
1247 %mul = mul i32 %a, -4
1248 ret i32 %mul
1249 }
1250
1251 define internal i64 @_Z15testMultiplyBy4yy(i64 %a, i64) {
1252 entry:
1253 %mul = shl i64 %a, 2
1254 ret i64 %mul
1255 }
1256
1257 define internal i64 @_Z18testMultiplyByNeg4yy(i64 %a, i64) {
1258 entry:
1259 %mul = mul i64 %a, -4
1260 ret i64 %mul
1261 }
1262
1263 define internal i32 @_Z15testMultiplyBy5bb(i32 %a, i32) {
1264 entry:
1265 %a.arg_trunc = trunc i32 %a to i1
1266 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1267 ret i32 %a.arg_trunc.ret_ext
1268 }
1269
1270 define internal i32 @_Z18testMultiplyByNeg5bb(i32 %a, i32) {
1271 entry:
1272 %a.arg_trunc = trunc i32 %a to i1
1273 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1274 ret i32 %a.arg_trunc.ret_ext
1275 }
1276
1277 define internal i32 @_Z15testMultiplyBy5hh(i32 %a, i32) {
1278 entry:
1279 %a.arg_trunc = trunc i32 %a to i8
1280 %conv = zext i8 %a.arg_trunc to i32
1281 %mul = mul i32 %conv, 5
1282 %conv1 = trunc i32 %mul to i8
1283 %conv1.ret_ext = zext i8 %conv1 to i32
1284 ret i32 %conv1.ret_ext
1285 }
1286
1287 define internal i32 @_Z18testMultiplyByNeg5hh(i32 %a, i32) {
1288 entry:
1289 %a.arg_trunc = trunc i32 %a to i8
1290 %conv = zext i8 %a.arg_trunc to i32
1291 %mul = mul i32 %conv, -5
1292 %conv1 = trunc i32 %mul to i8
1293 %conv1.ret_ext = zext i8 %conv1 to i32
1294 ret i32 %conv1.ret_ext
1295 }
1296
1297 define internal i32 @_Z15testMultiplyBy5tt(i32 %a, i32) {
1298 entry:
1299 %a.arg_trunc = trunc i32 %a to i16
1300 %conv = zext i16 %a.arg_trunc to i32
1301 %mul = mul i32 %conv, 5
1302 %conv1 = trunc i32 %mul to i16
1303 %conv1.ret_ext = zext i16 %conv1 to i32
1304 ret i32 %conv1.ret_ext
1305 }
1306
1307 define internal i32 @_Z18testMultiplyByNeg5tt(i32 %a, i32) {
1308 entry:
1309 %a.arg_trunc = trunc i32 %a to i16
1310 %conv = zext i16 %a.arg_trunc to i32
1311 %mul = mul i32 %conv, -5
1312 %conv1 = trunc i32 %mul to i16
1313 %conv1.ret_ext = zext i16 %conv1 to i32
1314 ret i32 %conv1.ret_ext
1315 }
1316
1317 define internal i32 @_Z15testMultiplyBy5jj(i32 %a, i32) {
1318 entry:
1319 %mul = mul i32 %a, 5
1320 ret i32 %mul
1321 }
1322
1323 define internal i32 @_Z18testMultiplyByNeg5jj(i32 %a, i32) {
1324 entry:
1325 %mul = mul i32 %a, -5
1326 ret i32 %mul
1327 }
1328
1329 define internal i64 @_Z15testMultiplyBy5yy(i64 %a, i64) {
1330 entry:
1331 %mul = mul i64 %a, 5
1332 ret i64 %mul
1333 }
1334
1335 define internal i64 @_Z18testMultiplyByNeg5yy(i64 %a, i64) {
1336 entry:
1337 %mul = mul i64 %a, -5
1338 ret i64 %mul
1339 }
1340
1341 define internal i32 @_Z15testMultiplyBy7bb(i32 %a, i32) {
1342 entry:
1343 %a.arg_trunc = trunc i32 %a to i1
1344 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1345 ret i32 %a.arg_trunc.ret_ext
1346 }
1347
1348 define internal i32 @_Z18testMultiplyByNeg7bb(i32 %a, i32) {
1349 entry:
1350 %a.arg_trunc = trunc i32 %a to i1
1351 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1352 ret i32 %a.arg_trunc.ret_ext
1353 }
1354
1355 define internal i32 @_Z15testMultiplyBy7hh(i32 %a, i32) {
1356 entry:
1357 %a.arg_trunc = trunc i32 %a to i8
1358 %conv = zext i8 %a.arg_trunc to i32
1359 %mul = mul i32 %conv, 7
1360 %conv1 = trunc i32 %mul to i8
1361 %conv1.ret_ext = zext i8 %conv1 to i32
1362 ret i32 %conv1.ret_ext
1363 }
1364
1365 define internal i32 @_Z18testMultiplyByNeg7hh(i32 %a, i32) {
1366 entry:
1367 %a.arg_trunc = trunc i32 %a to i8
1368 %conv = zext i8 %a.arg_trunc to i32
1369 %mul = mul i32 %conv, -7
1370 %conv1 = trunc i32 %mul to i8
1371 %conv1.ret_ext = zext i8 %conv1 to i32
1372 ret i32 %conv1.ret_ext
1373 }
1374
1375 define internal i32 @_Z15testMultiplyBy7tt(i32 %a, i32) {
1376 entry:
1377 %a.arg_trunc = trunc i32 %a to i16
1378 %conv = zext i16 %a.arg_trunc to i32
1379 %mul = mul i32 %conv, 7
1380 %conv1 = trunc i32 %mul to i16
1381 %conv1.ret_ext = zext i16 %conv1 to i32
1382 ret i32 %conv1.ret_ext
1383 }
1384
1385 define internal i32 @_Z18testMultiplyByNeg7tt(i32 %a, i32) {
1386 entry:
1387 %a.arg_trunc = trunc i32 %a to i16
1388 %conv = zext i16 %a.arg_trunc to i32
1389 %mul = mul i32 %conv, -7
1390 %conv1 = trunc i32 %mul to i16
1391 %conv1.ret_ext = zext i16 %conv1 to i32
1392 ret i32 %conv1.ret_ext
1393 }
1394
1395 define internal i32 @_Z15testMultiplyBy7jj(i32 %a, i32) {
1396 entry:
1397 %mul = mul i32 %a, 7
1398 ret i32 %mul
1399 }
1400
1401 define internal i32 @_Z18testMultiplyByNeg7jj(i32 %a, i32) {
1402 entry:
1403 %mul = mul i32 %a, -7
1404 ret i32 %mul
1405 }
1406
1407 define internal i64 @_Z15testMultiplyBy7yy(i64 %a, i64) {
1408 entry:
1409 %mul = mul i64 %a, 7
1410 ret i64 %mul
1411 }
1412
1413 define internal i64 @_Z18testMultiplyByNeg7yy(i64 %a, i64) {
1414 entry:
1415 %mul = mul i64 %a, -7
1416 ret i64 %mul
1417 }
1418
1419 define internal i32 @_Z15testMultiplyBy8bb(i32 %a, i32) {
1420 entry:
1421 %a.arg_trunc = trunc i32 %a to i1
1422 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1423 ret i32 %a.arg_trunc.ret_ext
1424 }
1425
1426 define internal i32 @_Z18testMultiplyByNeg8bb(i32 %a, i32) {
1427 entry:
1428 %a.arg_trunc = trunc i32 %a to i1
1429 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1430 ret i32 %a.arg_trunc.ret_ext
1431 }
1432
1433 define internal i32 @_Z15testMultiplyBy8hh(i32 %a, i32) {
1434 entry:
1435 %a.arg_trunc = trunc i32 %a to i8
1436 %conv = zext i8 %a.arg_trunc to i32
1437 %mul = shl i32 %conv, 3
1438 %conv1 = trunc i32 %mul to i8
1439 %conv1.ret_ext = zext i8 %conv1 to i32
1440 ret i32 %conv1.ret_ext
1441 }
1442
1443 define internal i32 @_Z18testMultiplyByNeg8hh(i32 %a, i32) {
1444 entry:
1445 %a.arg_trunc = trunc i32 %a to i8
1446 %conv = zext i8 %a.arg_trunc to i32
1447 %mul = mul i32 %conv, -8
1448 %conv1 = trunc i32 %mul to i8
1449 %conv1.ret_ext = zext i8 %conv1 to i32
1450 ret i32 %conv1.ret_ext
1451 }
1452
1453 define internal i32 @_Z15testMultiplyBy8tt(i32 %a, i32) {
1454 entry:
1455 %a.arg_trunc = trunc i32 %a to i16
1456 %conv = zext i16 %a.arg_trunc to i32
1457 %mul = shl i32 %conv, 3
1458 %conv1 = trunc i32 %mul to i16
1459 %conv1.ret_ext = zext i16 %conv1 to i32
1460 ret i32 %conv1.ret_ext
1461 }
1462
1463 define internal i32 @_Z18testMultiplyByNeg8tt(i32 %a, i32) {
1464 entry:
1465 %a.arg_trunc = trunc i32 %a to i16
1466 %conv = zext i16 %a.arg_trunc to i32
1467 %mul = mul i32 %conv, -8
1468 %conv1 = trunc i32 %mul to i16
1469 %conv1.ret_ext = zext i16 %conv1 to i32
1470 ret i32 %conv1.ret_ext
1471 }
1472
1473 define internal i32 @_Z15testMultiplyBy8jj(i32 %a, i32) {
1474 entry:
1475 %mul = shl i32 %a, 3
1476 ret i32 %mul
1477 }
1478
1479 define internal i32 @_Z18testMultiplyByNeg8jj(i32 %a, i32) {
1480 entry:
1481 %mul = mul i32 %a, -8
1482 ret i32 %mul
1483 }
1484
1485 define internal i64 @_Z15testMultiplyBy8yy(i64 %a, i64) {
1486 entry:
1487 %mul = shl i64 %a, 3
1488 ret i64 %mul
1489 }
1490
1491 define internal i64 @_Z18testMultiplyByNeg8yy(i64 %a, i64) {
1492 entry:
1493 %mul = mul i64 %a, -8
1494 ret i64 %mul
1495 }
1496
1497 define internal i32 @_Z15testMultiplyBy9bb(i32 %a, i32) {
1498 entry:
1499 %a.arg_trunc = trunc i32 %a to i1
1500 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1501 ret i32 %a.arg_trunc.ret_ext
1502 }
1503
1504 define internal i32 @_Z18testMultiplyByNeg9bb(i32 %a, i32) {
1505 entry:
1506 %a.arg_trunc = trunc i32 %a to i1
1507 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1508 ret i32 %a.arg_trunc.ret_ext
1509 }
1510
1511 define internal i32 @_Z15testMultiplyBy9hh(i32 %a, i32) {
1512 entry:
1513 %a.arg_trunc = trunc i32 %a to i8
1514 %conv = zext i8 %a.arg_trunc to i32
1515 %mul = mul i32 %conv, 9
1516 %conv1 = trunc i32 %mul to i8
1517 %conv1.ret_ext = zext i8 %conv1 to i32
1518 ret i32 %conv1.ret_ext
1519 }
1520
1521 define internal i32 @_Z18testMultiplyByNeg9hh(i32 %a, i32) {
1522 entry:
1523 %a.arg_trunc = trunc i32 %a to i8
1524 %conv = zext i8 %a.arg_trunc to i32
1525 %mul = mul i32 %conv, -9
1526 %conv1 = trunc i32 %mul to i8
1527 %conv1.ret_ext = zext i8 %conv1 to i32
1528 ret i32 %conv1.ret_ext
1529 }
1530
1531 define internal i32 @_Z15testMultiplyBy9tt(i32 %a, i32) {
1532 entry:
1533 %a.arg_trunc = trunc i32 %a to i16
1534 %conv = zext i16 %a.arg_trunc to i32
1535 %mul = mul i32 %conv, 9
1536 %conv1 = trunc i32 %mul to i16
1537 %conv1.ret_ext = zext i16 %conv1 to i32
1538 ret i32 %conv1.ret_ext
1539 }
1540
1541 define internal i32 @_Z18testMultiplyByNeg9tt(i32 %a, i32) {
1542 entry:
1543 %a.arg_trunc = trunc i32 %a to i16
1544 %conv = zext i16 %a.arg_trunc to i32
1545 %mul = mul i32 %conv, -9
1546 %conv1 = trunc i32 %mul to i16
1547 %conv1.ret_ext = zext i16 %conv1 to i32
1548 ret i32 %conv1.ret_ext
1549 }
1550
1551 define internal i32 @_Z15testMultiplyBy9jj(i32 %a, i32) {
1552 entry:
1553 %mul = mul i32 %a, 9
1554 ret i32 %mul
1555 }
1556
1557 define internal i32 @_Z18testMultiplyByNeg9jj(i32 %a, i32) {
1558 entry:
1559 %mul = mul i32 %a, -9
1560 ret i32 %mul
1561 }
1562
1563 define internal i64 @_Z15testMultiplyBy9yy(i64 %a, i64) {
1564 entry:
1565 %mul = mul i64 %a, 9
1566 ret i64 %mul
1567 }
1568
1569 define internal i64 @_Z18testMultiplyByNeg9yy(i64 %a, i64) {
1570 entry:
1571 %mul = mul i64 %a, -9
1572 ret i64 %mul
1573 }
1574
1575 define internal i32 @_Z16testMultiplyBy10bb(i32 %a, i32) {
1576 entry:
1577 %a.arg_trunc = trunc i32 %a to i1
1578 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1579 ret i32 %a.arg_trunc.ret_ext
1580 }
1581
1582 define internal i32 @_Z19testMultiplyByNeg10bb(i32 %a, i32) {
1583 entry:
1584 %a.arg_trunc = trunc i32 %a to i1
1585 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1586 ret i32 %a.arg_trunc.ret_ext
1587 }
1588
1589 define internal i32 @_Z16testMultiplyBy10hh(i32 %a, i32) {
1590 entry:
1591 %a.arg_trunc = trunc i32 %a to i8
1592 %conv = zext i8 %a.arg_trunc to i32
1593 %mul = mul i32 %conv, 10
1594 %conv1 = trunc i32 %mul to i8
1595 %conv1.ret_ext = zext i8 %conv1 to i32
1596 ret i32 %conv1.ret_ext
1597 }
1598
1599 define internal i32 @_Z19testMultiplyByNeg10hh(i32 %a, i32) {
1600 entry:
1601 %a.arg_trunc = trunc i32 %a to i8
1602 %conv = zext i8 %a.arg_trunc to i32
1603 %mul = mul i32 %conv, -10
1604 %conv1 = trunc i32 %mul to i8
1605 %conv1.ret_ext = zext i8 %conv1 to i32
1606 ret i32 %conv1.ret_ext
1607 }
1608
1609 define internal i32 @_Z16testMultiplyBy10tt(i32 %a, i32) {
1610 entry:
1611 %a.arg_trunc = trunc i32 %a to i16
1612 %conv = zext i16 %a.arg_trunc to i32
1613 %mul = mul i32 %conv, 10
1614 %conv1 = trunc i32 %mul to i16
1615 %conv1.ret_ext = zext i16 %conv1 to i32
1616 ret i32 %conv1.ret_ext
1617 }
1618
1619 define internal i32 @_Z19testMultiplyByNeg10tt(i32 %a, i32) {
1620 entry:
1621 %a.arg_trunc = trunc i32 %a to i16
1622 %conv = zext i16 %a.arg_trunc to i32
1623 %mul = mul i32 %conv, -10
1624 %conv1 = trunc i32 %mul to i16
1625 %conv1.ret_ext = zext i16 %conv1 to i32
1626 ret i32 %conv1.ret_ext
1627 }
1628
1629 define internal i32 @_Z16testMultiplyBy10jj(i32 %a, i32) {
1630 entry:
1631 %mul = mul i32 %a, 10
1632 ret i32 %mul
1633 }
1634
1635 define internal i32 @_Z19testMultiplyByNeg10jj(i32 %a, i32) {
1636 entry:
1637 %mul = mul i32 %a, -10
1638 ret i32 %mul
1639 }
1640
1641 define internal i64 @_Z16testMultiplyBy10yy(i64 %a, i64) {
1642 entry:
1643 %mul = mul i64 %a, 10
1644 ret i64 %mul
1645 }
1646
1647 define internal i64 @_Z19testMultiplyByNeg10yy(i64 %a, i64) {
1648 entry:
1649 %mul = mul i64 %a, -10
1650 ret i64 %mul
1651 }
1652
1653 define internal i32 @_Z16testMultiplyBy25bb(i32 %a, i32) {
1654 entry:
1655 %a.arg_trunc = trunc i32 %a to i1
1656 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1657 ret i32 %a.arg_trunc.ret_ext
1658 }
1659
1660 define internal i32 @_Z19testMultiplyByNeg25bb(i32 %a, i32) {
1661 entry:
1662 %a.arg_trunc = trunc i32 %a to i1
1663 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1664 ret i32 %a.arg_trunc.ret_ext
1665 }
1666
1667 define internal i32 @_Z16testMultiplyBy25hh(i32 %a, i32) {
1668 entry:
1669 %a.arg_trunc = trunc i32 %a to i8
1670 %conv = zext i8 %a.arg_trunc to i32
1671 %mul = mul i32 %conv, 25
1672 %conv1 = trunc i32 %mul to i8
1673 %conv1.ret_ext = zext i8 %conv1 to i32
1674 ret i32 %conv1.ret_ext
1675 }
1676
1677 define internal i32 @_Z19testMultiplyByNeg25hh(i32 %a, i32) {
1678 entry:
1679 %a.arg_trunc = trunc i32 %a to i8
1680 %conv = zext i8 %a.arg_trunc to i32
1681 %mul = mul i32 %conv, -25
1682 %conv1 = trunc i32 %mul to i8
1683 %conv1.ret_ext = zext i8 %conv1 to i32
1684 ret i32 %conv1.ret_ext
1685 }
1686
1687 define internal i32 @_Z16testMultiplyBy25tt(i32 %a, i32) {
1688 entry:
1689 %a.arg_trunc = trunc i32 %a to i16
1690 %conv = zext i16 %a.arg_trunc to i32
1691 %mul = mul i32 %conv, 25
1692 %conv1 = trunc i32 %mul to i16
1693 %conv1.ret_ext = zext i16 %conv1 to i32
1694 ret i32 %conv1.ret_ext
1695 }
1696
1697 define internal i32 @_Z19testMultiplyByNeg25tt(i32 %a, i32) {
1698 entry:
1699 %a.arg_trunc = trunc i32 %a to i16
1700 %conv = zext i16 %a.arg_trunc to i32
1701 %mul = mul i32 %conv, -25
1702 %conv1 = trunc i32 %mul to i16
1703 %conv1.ret_ext = zext i16 %conv1 to i32
1704 ret i32 %conv1.ret_ext
1705 }
1706
1707 define internal i32 @_Z16testMultiplyBy25jj(i32 %a, i32) {
1708 entry:
1709 %mul = mul i32 %a, 25
1710 ret i32 %mul
1711 }
1712
1713 define internal i32 @_Z19testMultiplyByNeg25jj(i32 %a, i32) {
1714 entry:
1715 %mul = mul i32 %a, -25
1716 ret i32 %mul
1717 }
1718
1719 define internal i64 @_Z16testMultiplyBy25yy(i64 %a, i64) {
1720 entry:
1721 %mul = mul i64 %a, 25
1722 ret i64 %mul
1723 }
1724
1725 define internal i64 @_Z19testMultiplyByNeg25yy(i64 %a, i64) {
1726 entry:
1727 %mul = mul i64 %a, -25
1728 ret i64 %mul
1729 }
1730
1731 define internal i32 @_Z17testMultiplyBy100bb(i32 %a, i32) {
1732 entry:
1733 %a.arg_trunc = trunc i32 %a to i1
1734 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1735 ret i32 %a.arg_trunc.ret_ext
1736 }
1737
1738 define internal i32 @_Z20testMultiplyByNeg100bb(i32 %a, i32) {
1739 entry:
1740 %a.arg_trunc = trunc i32 %a to i1
1741 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1742 ret i32 %a.arg_trunc.ret_ext
1743 }
1744
1745 define internal i32 @_Z17testMultiplyBy100hh(i32 %a, i32) {
1746 entry:
1747 %a.arg_trunc = trunc i32 %a to i8
1748 %conv = zext i8 %a.arg_trunc to i32
1749 %mul = mul i32 %conv, 100
1750 %conv1 = trunc i32 %mul to i8
1751 %conv1.ret_ext = zext i8 %conv1 to i32
1752 ret i32 %conv1.ret_ext
1753 }
1754
1755 define internal i32 @_Z20testMultiplyByNeg100hh(i32 %a, i32) {
1756 entry:
1757 %a.arg_trunc = trunc i32 %a to i8
1758 %conv = zext i8 %a.arg_trunc to i32
1759 %mul = mul i32 %conv, -100
1760 %conv1 = trunc i32 %mul to i8
1761 %conv1.ret_ext = zext i8 %conv1 to i32
1762 ret i32 %conv1.ret_ext
1763 }
1764
1765 define internal i32 @_Z17testMultiplyBy100tt(i32 %a, i32) {
1766 entry:
1767 %a.arg_trunc = trunc i32 %a to i16
1768 %conv = zext i16 %a.arg_trunc to i32
1769 %mul = mul i32 %conv, 100
1770 %conv1 = trunc i32 %mul to i16
1771 %conv1.ret_ext = zext i16 %conv1 to i32
1772 ret i32 %conv1.ret_ext
1773 }
1774
1775 define internal i32 @_Z20testMultiplyByNeg100tt(i32 %a, i32) {
1776 entry:
1777 %a.arg_trunc = trunc i32 %a to i16
1778 %conv = zext i16 %a.arg_trunc to i32
1779 %mul = mul i32 %conv, -100
1780 %conv1 = trunc i32 %mul to i16
1781 %conv1.ret_ext = zext i16 %conv1 to i32
1782 ret i32 %conv1.ret_ext
1783 }
1784
1785 define internal i32 @_Z17testMultiplyBy100jj(i32 %a, i32) {
1786 entry:
1787 %mul = mul i32 %a, 100
1788 ret i32 %mul
1789 }
1790
1791 define internal i32 @_Z20testMultiplyByNeg100jj(i32 %a, i32) {
1792 entry:
1793 %mul = mul i32 %a, -100
1794 ret i32 %mul
1795 }
1796
1797 define internal i64 @_Z17testMultiplyBy100yy(i64 %a, i64) {
1798 entry:
1799 %mul = mul i64 %a, 100
1800 ret i64 %mul
1801 }
1802
1803 define internal i64 @_Z20testMultiplyByNeg100yy(i64 %a, i64) {
1804 entry:
1805 %mul = mul i64 %a, -100
1806 ret i64 %mul
1807 }
1808
1809 define internal i32 @_Z17testMultiplyBy232bb(i32 %a, i32) {
1810 entry:
1811 %a.arg_trunc = trunc i32 %a to i1
1812 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1813 ret i32 %a.arg_trunc.ret_ext
1814 }
1815
1816 define internal i32 @_Z20testMultiplyByNeg232bb(i32 %a, i32) {
1817 entry:
1818 %a.arg_trunc = trunc i32 %a to i1
1819 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1820 ret i32 %a.arg_trunc.ret_ext
1821 }
1822
1823 define internal i32 @_Z17testMultiplyBy232hh(i32 %a, i32) {
1824 entry:
1825 %a.arg_trunc = trunc i32 %a to i8
1826 %conv = zext i8 %a.arg_trunc to i32
1827 %mul = mul i32 %conv, 232
1828 %conv1 = trunc i32 %mul to i8
1829 %conv1.ret_ext = zext i8 %conv1 to i32
1830 ret i32 %conv1.ret_ext
1831 }
1832
1833 define internal i32 @_Z20testMultiplyByNeg232hh(i32 %a, i32) {
1834 entry:
1835 %a.arg_trunc = trunc i32 %a to i8
1836 %conv = zext i8 %a.arg_trunc to i32
1837 %mul = mul i32 %conv, -232
1838 %conv1 = trunc i32 %mul to i8
1839 %conv1.ret_ext = zext i8 %conv1 to i32
1840 ret i32 %conv1.ret_ext
1841 }
1842
1843 define internal i32 @_Z17testMultiplyBy232tt(i32 %a, i32) {
1844 entry:
1845 %a.arg_trunc = trunc i32 %a to i16
1846 %conv = zext i16 %a.arg_trunc to i32
1847 %mul = mul i32 %conv, 232
1848 %conv1 = trunc i32 %mul to i16
1849 %conv1.ret_ext = zext i16 %conv1 to i32
1850 ret i32 %conv1.ret_ext
1851 }
1852
1853 define internal i32 @_Z20testMultiplyByNeg232tt(i32 %a, i32) {
1854 entry:
1855 %a.arg_trunc = trunc i32 %a to i16
1856 %conv = zext i16 %a.arg_trunc to i32
1857 %mul = mul i32 %conv, -232
1858 %conv1 = trunc i32 %mul to i16
1859 %conv1.ret_ext = zext i16 %conv1 to i32
1860 ret i32 %conv1.ret_ext
1861 }
1862
1863 define internal i32 @_Z17testMultiplyBy232jj(i32 %a, i32) {
1864 entry:
1865 %mul = mul i32 %a, 232
1866 ret i32 %mul
1867 }
1868
1869 define internal i32 @_Z20testMultiplyByNeg232jj(i32 %a, i32) {
1870 entry:
1871 %mul = mul i32 %a, -232
1872 ret i32 %mul
1873 }
1874
1875 define internal i64 @_Z17testMultiplyBy232yy(i64 %a, i64) {
1876 entry:
1877 %mul = mul i64 %a, 232
1878 ret i64 %mul
1879 }
1880
1881 define internal i64 @_Z20testMultiplyByNeg232yy(i64 %a, i64) {
1882 entry:
1883 %mul = mul i64 %a, -232
1884 ret i64 %mul
1885 }
1886
1887 define internal i32 @_Z24testMultiplyBy0x00FFF001bb(i32 %a, i32) {
1888 entry:
1889 %a.arg_trunc = trunc i32 %a to i1
1890 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1891 ret i32 %a.arg_trunc.ret_ext
1892 }
1893
1894 define internal i32 @_Z27testMultiplyByNeg0x00FFF001bb(i32 %a, i32) {
1895 entry:
1896 %a.arg_trunc = trunc i32 %a to i1
1897 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1898 ret i32 %a.arg_trunc.ret_ext
1899 }
1900
1901 define internal i32 @_Z24testMultiplyBy0x00FFF001hh(i32 %a, i32) {
1902 entry:
1903 %a.arg_trunc = trunc i32 %a to i8
1904 %conv = zext i8 %a.arg_trunc to i32
1905 %mul = mul i32 %conv, 16773121
1906 %conv1 = trunc i32 %mul to i8
1907 %conv1.ret_ext = zext i8 %conv1 to i32
1908 ret i32 %conv1.ret_ext
1909 }
1910
1911 define internal i32 @_Z27testMultiplyByNeg0x00FFF001hh(i32 %a, i32) {
1912 entry:
1913 %a.arg_trunc = trunc i32 %a to i8
1914 %conv = zext i8 %a.arg_trunc to i32
1915 %mul = mul i32 %conv, -16773121
1916 %conv1 = trunc i32 %mul to i8
1917 %conv1.ret_ext = zext i8 %conv1 to i32
1918 ret i32 %conv1.ret_ext
1919 }
1920
1921 define internal i32 @_Z24testMultiplyBy0x00FFF001tt(i32 %a, i32) {
1922 entry:
1923 %a.arg_trunc = trunc i32 %a to i16
1924 %conv = zext i16 %a.arg_trunc to i32
1925 %mul = mul i32 %conv, 16773121
1926 %conv1 = trunc i32 %mul to i16
1927 %conv1.ret_ext = zext i16 %conv1 to i32
1928 ret i32 %conv1.ret_ext
1929 }
1930
1931 define internal i32 @_Z27testMultiplyByNeg0x00FFF001tt(i32 %a, i32) {
1932 entry:
1933 %a.arg_trunc = trunc i32 %a to i16
1934 %conv = zext i16 %a.arg_trunc to i32
1935 %mul = mul i32 %conv, -16773121
1936 %conv1 = trunc i32 %mul to i16
1937 %conv1.ret_ext = zext i16 %conv1 to i32
1938 ret i32 %conv1.ret_ext
1939 }
1940
1941 define internal i32 @_Z24testMultiplyBy0x00FFF001jj(i32 %a, i32) {
1942 entry:
1943 %mul = mul i32 %a, 16773121
1944 ret i32 %mul
1945 }
1946
1947 define internal i32 @_Z27testMultiplyByNeg0x00FFF001jj(i32 %a, i32) {
1948 entry:
1949 %mul = mul i32 %a, -16773121
1950 ret i32 %mul
1951 }
1952
1953 define internal i64 @_Z24testMultiplyBy0x00FFF001yy(i64 %a, i64) {
1954 entry:
1955 %mul = mul i64 %a, 16773121
1956 ret i64 %mul
1957 }
1958
1959 define internal i64 @_Z27testMultiplyByNeg0x00FFF001yy(i64 %a, i64) {
1960 entry:
1961 %mul = mul i64 %a, -16773121
1962 ret i64 %mul
1963 }
1964
1965 define internal i32 @_Z24testMultiplyBy0x01000000bb(i32 %a, i32) {
1966 entry:
1967 %a.arg_trunc = trunc i32 %a to i1
1968 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1969 ret i32 %a.arg_trunc.ret_ext
1970 }
1971
1972 define internal i32 @_Z27testMultiplyByNeg0x01000000bb(i32 %a, i32) {
1973 entry:
1974 %a.arg_trunc = trunc i32 %a to i1
1975 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
1976 ret i32 %a.arg_trunc.ret_ext
1977 }
1978
1979 define internal i32 @_Z24testMultiplyBy0x01000000hh(i32 %a, i32) {
1980 entry:
1981 %.ret_ext = zext i8 0 to i32
1982 ret i32 %.ret_ext
1983 }
1984
1985 define internal i32 @_Z27testMultiplyByNeg0x01000000hh(i32 %a, i32) {
1986 entry:
1987 %.ret_ext = zext i8 0 to i32
1988 ret i32 %.ret_ext
1989 }
1990
1991 define internal i32 @_Z24testMultiplyBy0x01000000tt(i32 %a, i32) {
1992 entry:
1993 %.ret_ext = zext i16 0 to i32
1994 ret i32 %.ret_ext
1995 }
1996
1997 define internal i32 @_Z27testMultiplyByNeg0x01000000tt(i32 %a, i32) {
1998 entry:
1999 %.ret_ext = zext i16 0 to i32
2000 ret i32 %.ret_ext
2001 }
2002
2003 define internal i32 @_Z24testMultiplyBy0x01000000jj(i32 %a, i32) {
2004 entry:
2005 %mul = shl i32 %a, 24
2006 ret i32 %mul
2007 }
2008
2009 define internal i32 @_Z27testMultiplyByNeg0x01000000jj(i32 %a, i32) {
2010 entry:
2011 %mul = mul i32 %a, -16777216
2012 ret i32 %mul
2013 }
2014
2015 define internal i64 @_Z24testMultiplyBy0x01000000yy(i64 %a, i64) {
2016 entry:
2017 %mul = shl i64 %a, 24
2018 ret i64 %mul
2019 }
2020
2021 define internal i64 @_Z27testMultiplyByNeg0x01000000yy(i64 %a, i64) {
2022 entry:
2023 %mul = mul i64 %a, -16777216
2024 ret i64 %mul
2025 }
2026
2027 define internal i32 @_Z24testMultiplyBy0x7FFFF07Fbb(i32 %a, i32) {
2028 entry:
2029 %a.arg_trunc = trunc i32 %a to i1
2030 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
2031 ret i32 %a.arg_trunc.ret_ext
2032 }
2033
2034 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Fbb(i32 %a, i32) {
2035 entry:
2036 %a.arg_trunc = trunc i32 %a to i1
2037 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
2038 ret i32 %a.arg_trunc.ret_ext
2039 }
2040
2041 define internal i32 @_Z24testMultiplyBy0x7FFFF07Fhh(i32 %a, i32) {
2042 entry:
2043 %a.arg_trunc = trunc i32 %a to i8
2044 %conv = zext i8 %a.arg_trunc to i32
2045 %mul = mul i32 %conv, 2147479679
2046 %conv1 = trunc i32 %mul to i8
2047 %conv1.ret_ext = zext i8 %conv1 to i32
2048 ret i32 %conv1.ret_ext
2049 }
2050
2051 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Fhh(i32 %a, i32) {
2052 entry:
2053 %a.arg_trunc = trunc i32 %a to i8
2054 %conv = zext i8 %a.arg_trunc to i32
2055 %mul = mul i32 %conv, -2147479679
2056 %conv1 = trunc i32 %mul to i8
2057 %conv1.ret_ext = zext i8 %conv1 to i32
2058 ret i32 %conv1.ret_ext
2059 }
2060
2061 define internal i32 @_Z24testMultiplyBy0x7FFFF07Ftt(i32 %a, i32) {
2062 entry:
2063 %a.arg_trunc = trunc i32 %a to i16
2064 %conv = zext i16 %a.arg_trunc to i32
2065 %mul = mul i32 %conv, 2147479679
2066 %conv1 = trunc i32 %mul to i16
2067 %conv1.ret_ext = zext i16 %conv1 to i32
2068 ret i32 %conv1.ret_ext
2069 }
2070
2071 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Ftt(i32 %a, i32) {
2072 entry:
2073 %a.arg_trunc = trunc i32 %a to i16
2074 %conv = zext i16 %a.arg_trunc to i32
2075 %mul = mul i32 %conv, -2147479679
2076 %conv1 = trunc i32 %mul to i16
2077 %conv1.ret_ext = zext i16 %conv1 to i32
2078 ret i32 %conv1.ret_ext
2079 }
2080
2081 define internal i32 @_Z24testMultiplyBy0x7FFFF07Fjj(i32 %a, i32) {
2082 entry:
2083 %mul = mul i32 %a, 2147479679
2084 ret i32 %mul
2085 }
2086
2087 define internal i32 @_Z27testMultiplyByNeg0x7FFFF07Fjj(i32 %a, i32) {
2088 entry:
2089 %mul = mul i32 %a, -2147479679
2090 ret i32 %mul
2091 }
2092
2093 define internal i64 @_Z24testMultiplyBy0x7FFFF07Fyy(i64 %a, i64) {
2094 entry:
2095 %mul = mul i64 %a, 2147479679
2096 ret i64 %mul
2097 }
2098
2099 define internal i64 @_Z27testMultiplyByNeg0x7FFFF07Fyy(i64 %a, i64) {
2100 entry:
2101 %mul = mul i64 %a, -2147479679
2102 ret i64 %mul
2103 }
2104
2105 define internal i32 @_Z24testMultiplyBy0x80000000bb(i32 %a, i32) {
2106 entry:
2107 %a.arg_trunc = trunc i32 %a to i1
2108 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
2109 ret i32 %a.arg_trunc.ret_ext
2110 }
2111
2112 define internal i32 @_Z27testMultiplyByNeg0x80000000bb(i32 %a, i32) {
2113 entry:
2114 %a.arg_trunc = trunc i32 %a to i1
2115 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32
2116 ret i32 %a.arg_trunc.ret_ext
2117 }
2118
2119 define internal i32 @_Z24testMultiplyBy0x80000000hh(i32 %a, i32) {
2120 entry:
2121 %.ret_ext = zext i8 0 to i32
2122 ret i32 %.ret_ext
2123 }
2124
2125 define internal i32 @_Z27testMultiplyByNeg0x80000000hh(i32 %a, i32) {
2126 entry:
2127 %.ret_ext = zext i8 0 to i32
2128 ret i32 %.ret_ext
2129 }
2130
2131 define internal i32 @_Z24testMultiplyBy0x80000000tt(i32 %a, i32) {
2132 entry:
2133 %.ret_ext = zext i16 0 to i32
2134 ret i32 %.ret_ext
2135 }
2136
2137 define internal i32 @_Z27testMultiplyByNeg0x80000000tt(i32 %a, i32) {
2138 entry:
2139 %.ret_ext = zext i16 0 to i32
2140 ret i32 %.ret_ext
2141 }
2142
2143 define internal i32 @_Z24testMultiplyBy0x80000000jj(i32 %a, i32) {
2144 entry:
2145 %mul = shl i32 %a, 31
2146 ret i32 %mul
2147 }
2148
2149 define internal i32 @_Z27testMultiplyByNeg0x80000000jj(i32 %a, i32) {
2150 entry:
2151 %mul = shl i32 %a, 31
2152 ret i32 %mul
2153 }
2154
2155 define internal i64 @_Z24testMultiplyBy0x80000000yy(i64 %a, i64) {
2156 entry:
2157 %mul = shl i64 %a, 31
2158 ret i64 %mul
2159 }
2160
2161 define internal i64 @_Z27testMultiplyByNeg0x80000000yy(i64 %a, i64) {
2162 entry:
2163 %mul = shl i64 %a, 31
2164 ret i64 %mul
2165 }
OLDNEW
« crosstest/crosstest.cfg ('K') | « crosstest/crosstest.cfg ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698