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

Side by Side Diff: crosstest/test_arith_ll.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: Use a python script to auto-generate .ll tests 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
« no previous file with comments | « crosstest/test_arith.cpp ('k') | pydir/gen_test_arith_ll.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1
2 define internal i32 @_Z7testAddbb(i32 %a, i32 %b) {
3
4
5 %result = add i32 %a, %b
6
7 ret i32 %result
8 }
9
10 define internal i32 @_Z7testAddhh(i32 %a, i32 %b) {
11 %a.trunc = trunc i32 %a to i8
12 %b.trunc = trunc i32 %b to i8
13 %result.trunc = add i8 %a.trunc, %b.trunc
14 %result = zext i8 %result.trunc to i32
15 ret i32 %result
16 }
17
18 define internal i32 @_Z7testAddtt(i32 %a, i32 %b) {
19 %a.trunc = trunc i32 %a to i16
20 %b.trunc = trunc i32 %b to i16
21 %result.trunc = add i16 %a.trunc, %b.trunc
22 %result = zext i16 %result.trunc to i32
23 ret i32 %result
24 }
25
26 define internal i32 @_Z7testAddjj(i32 %a, i32 %b) {
27
28
29 %result = add i32 %a, %b
30
31 ret i32 %result
32 }
33
34 define internal i64 @_Z7testAddyy(i64 %a, i64 %b) {
35
36
37 %result = add i64 %a, %b
38
39 ret i64 %result
40 }
41
42 define internal <4 x i32> @_Z7testAddDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
43
44
45 %result = add <4 x i32> %a, %b
46
47 ret <4 x i32> %result
48 }
49
50 define internal <8 x i16> @_Z7testAddDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
51
52
53 %result = add <8 x i16> %a, %b
54
55 ret <8 x i16> %result
56 }
57
58 define internal <16 x i8> @_Z7testAddDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
59
60
61 %result = add <16 x i8> %a, %b
62
63 ret <16 x i8> %result
64 }
65
66 define internal i32 @_Z7testSubbb(i32 %a, i32 %b) {
67
68
69 %result = sub i32 %a, %b
70
71 ret i32 %result
72 }
73
74 define internal i32 @_Z7testSubhh(i32 %a, i32 %b) {
75 %a.trunc = trunc i32 %a to i8
76 %b.trunc = trunc i32 %b to i8
77 %result.trunc = sub i8 %a.trunc, %b.trunc
78 %result = zext i8 %result.trunc to i32
79 ret i32 %result
80 }
81
82 define internal i32 @_Z7testSubtt(i32 %a, i32 %b) {
83 %a.trunc = trunc i32 %a to i16
84 %b.trunc = trunc i32 %b to i16
85 %result.trunc = sub i16 %a.trunc, %b.trunc
86 %result = zext i16 %result.trunc to i32
87 ret i32 %result
88 }
89
90 define internal i32 @_Z7testSubjj(i32 %a, i32 %b) {
91
92
93 %result = sub i32 %a, %b
94
95 ret i32 %result
96 }
97
98 define internal i64 @_Z7testSubyy(i64 %a, i64 %b) {
99
100
101 %result = sub i64 %a, %b
102
103 ret i64 %result
104 }
105
106 define internal <4 x i32> @_Z7testSubDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
107
108
109 %result = sub <4 x i32> %a, %b
110
111 ret <4 x i32> %result
112 }
113
114 define internal <8 x i16> @_Z7testSubDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
115
116
117 %result = sub <8 x i16> %a, %b
118
119 ret <8 x i16> %result
120 }
121
122 define internal <16 x i8> @_Z7testSubDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
123
124
125 %result = sub <16 x i8> %a, %b
126
127 ret <16 x i8> %result
128 }
129
130 define internal i32 @_Z7testMulbb(i32 %a, i32 %b) {
131
132
133 %result = mul i32 %a, %b
134
135 ret i32 %result
136 }
137
138 define internal i32 @_Z7testMulhh(i32 %a, i32 %b) {
139 %a.trunc = trunc i32 %a to i8
140 %b.trunc = trunc i32 %b to i8
141 %result.trunc = mul i8 %a.trunc, %b.trunc
142 %result = zext i8 %result.trunc to i32
143 ret i32 %result
144 }
145
146 define internal i32 @_Z7testMultt(i32 %a, i32 %b) {
147 %a.trunc = trunc i32 %a to i16
148 %b.trunc = trunc i32 %b to i16
149 %result.trunc = mul i16 %a.trunc, %b.trunc
150 %result = zext i16 %result.trunc to i32
151 ret i32 %result
152 }
153
154 define internal i32 @_Z7testMuljj(i32 %a, i32 %b) {
155
156
157 %result = mul i32 %a, %b
158
159 ret i32 %result
160 }
161
162 define internal i64 @_Z7testMulyy(i64 %a, i64 %b) {
163
164
165 %result = mul i64 %a, %b
166
167 ret i64 %result
168 }
169
170 define internal <4 x i32> @_Z7testMulDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
171
172
173 %result = mul <4 x i32> %a, %b
174
175 ret <4 x i32> %result
176 }
177
178 define internal <8 x i16> @_Z7testMulDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
179
180
181 %result = mul <8 x i16> %a, %b
182
183 ret <8 x i16> %result
184 }
185
186 define internal <16 x i8> @_Z7testMulDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
187
188
189 %result = mul <16 x i8> %a, %b
190
191 ret <16 x i8> %result
192 }
193
194 define internal i32 @_Z8testSdivbb(i32 %a, i32 %b) {
195
196
197 %result = sdiv i32 %a, %b
198
199 ret i32 %result
200 }
201
202 define internal i32 @_Z8testSdivaa(i32 %a, i32 %b) {
203 %a.trunc = trunc i32 %a to i8
204 %b.trunc = trunc i32 %b to i8
205 %result.trunc = sdiv i8 %a.trunc, %b.trunc
206 %result = sext i8 %result.trunc to i32
207 ret i32 %result
208 }
209
210 define internal i32 @_Z8testSdivss(i32 %a, i32 %b) {
211 %a.trunc = trunc i32 %a to i16
212 %b.trunc = trunc i32 %b to i16
213 %result.trunc = sdiv i16 %a.trunc, %b.trunc
214 %result = sext i16 %result.trunc to i32
215 ret i32 %result
216 }
217
218 define internal i32 @_Z8testSdivii(i32 %a, i32 %b) {
219
220
221 %result = sdiv i32 %a, %b
222
223 ret i32 %result
224 }
225
226 define internal i64 @_Z8testSdivxx(i64 %a, i64 %b) {
227
228
229 %result = sdiv i64 %a, %b
230
231 ret i64 %result
232 }
233
234 define internal <4 x i32> @_Z8testSdivDv4_iS_(<4 x i32> %a, <4 x i32> %b) {
235
236
237 %result = sdiv <4 x i32> %a, %b
238
239 ret <4 x i32> %result
240 }
241
242 define internal <8 x i16> @_Z8testSdivDv8_sS_(<8 x i16> %a, <8 x i16> %b) {
243
244
245 %result = sdiv <8 x i16> %a, %b
246
247 ret <8 x i16> %result
248 }
249
250 define internal <16 x i8> @_Z8testSdivDv16_aS_(<16 x i8> %a, <16 x i8> %b) {
251
252
253 %result = sdiv <16 x i8> %a, %b
254
255 ret <16 x i8> %result
256 }
257
258 define internal i32 @_Z8testUdivbb(i32 %a, i32 %b) {
259
260
261 %result = udiv i32 %a, %b
262
263 ret i32 %result
264 }
265
266 define internal i32 @_Z8testUdivhh(i32 %a, i32 %b) {
267 %a.trunc = trunc i32 %a to i8
268 %b.trunc = trunc i32 %b to i8
269 %result.trunc = udiv i8 %a.trunc, %b.trunc
270 %result = zext i8 %result.trunc to i32
271 ret i32 %result
272 }
273
274 define internal i32 @_Z8testUdivtt(i32 %a, i32 %b) {
275 %a.trunc = trunc i32 %a to i16
276 %b.trunc = trunc i32 %b to i16
277 %result.trunc = udiv i16 %a.trunc, %b.trunc
278 %result = zext i16 %result.trunc to i32
279 ret i32 %result
280 }
281
282 define internal i32 @_Z8testUdivjj(i32 %a, i32 %b) {
283
284
285 %result = udiv i32 %a, %b
286
287 ret i32 %result
288 }
289
290 define internal i64 @_Z8testUdivyy(i64 %a, i64 %b) {
291
292
293 %result = udiv i64 %a, %b
294
295 ret i64 %result
296 }
297
298 define internal <4 x i32> @_Z8testUdivDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
299
300
301 %result = udiv <4 x i32> %a, %b
302
303 ret <4 x i32> %result
304 }
305
306 define internal <8 x i16> @_Z8testUdivDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
307
308
309 %result = udiv <8 x i16> %a, %b
310
311 ret <8 x i16> %result
312 }
313
314 define internal <16 x i8> @_Z8testUdivDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
315
316
317 %result = udiv <16 x i8> %a, %b
318
319 ret <16 x i8> %result
320 }
321
322 define internal i32 @_Z8testSrembb(i32 %a, i32 %b) {
323
324
325 %result = srem i32 %a, %b
326
327 ret i32 %result
328 }
329
330 define internal i32 @_Z8testSremaa(i32 %a, i32 %b) {
331 %a.trunc = trunc i32 %a to i8
332 %b.trunc = trunc i32 %b to i8
333 %result.trunc = srem i8 %a.trunc, %b.trunc
334 %result = sext i8 %result.trunc to i32
335 ret i32 %result
336 }
337
338 define internal i32 @_Z8testSremss(i32 %a, i32 %b) {
339 %a.trunc = trunc i32 %a to i16
340 %b.trunc = trunc i32 %b to i16
341 %result.trunc = srem i16 %a.trunc, %b.trunc
342 %result = sext i16 %result.trunc to i32
343 ret i32 %result
344 }
345
346 define internal i32 @_Z8testSremii(i32 %a, i32 %b) {
347
348
349 %result = srem i32 %a, %b
350
351 ret i32 %result
352 }
353
354 define internal i64 @_Z8testSremxx(i64 %a, i64 %b) {
355
356
357 %result = srem i64 %a, %b
358
359 ret i64 %result
360 }
361
362 define internal <4 x i32> @_Z8testSremDv4_iS_(<4 x i32> %a, <4 x i32> %b) {
363
364
365 %result = srem <4 x i32> %a, %b
366
367 ret <4 x i32> %result
368 }
369
370 define internal <8 x i16> @_Z8testSremDv8_sS_(<8 x i16> %a, <8 x i16> %b) {
371
372
373 %result = srem <8 x i16> %a, %b
374
375 ret <8 x i16> %result
376 }
377
378 define internal <16 x i8> @_Z8testSremDv16_aS_(<16 x i8> %a, <16 x i8> %b) {
379
380
381 %result = srem <16 x i8> %a, %b
382
383 ret <16 x i8> %result
384 }
385
386 define internal i32 @_Z8testUrembb(i32 %a, i32 %b) {
387
388
389 %result = urem i32 %a, %b
390
391 ret i32 %result
392 }
393
394 define internal i32 @_Z8testUremhh(i32 %a, i32 %b) {
395 %a.trunc = trunc i32 %a to i8
396 %b.trunc = trunc i32 %b to i8
397 %result.trunc = urem i8 %a.trunc, %b.trunc
398 %result = zext i8 %result.trunc to i32
399 ret i32 %result
400 }
401
402 define internal i32 @_Z8testUremtt(i32 %a, i32 %b) {
403 %a.trunc = trunc i32 %a to i16
404 %b.trunc = trunc i32 %b to i16
405 %result.trunc = urem i16 %a.trunc, %b.trunc
406 %result = zext i16 %result.trunc to i32
407 ret i32 %result
408 }
409
410 define internal i32 @_Z8testUremjj(i32 %a, i32 %b) {
411
412
413 %result = urem i32 %a, %b
414
415 ret i32 %result
416 }
417
418 define internal i64 @_Z8testUremyy(i64 %a, i64 %b) {
419
420
421 %result = urem i64 %a, %b
422
423 ret i64 %result
424 }
425
426 define internal <4 x i32> @_Z8testUremDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
427
428
429 %result = urem <4 x i32> %a, %b
430
431 ret <4 x i32> %result
432 }
433
434 define internal <8 x i16> @_Z8testUremDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
435
436
437 %result = urem <8 x i16> %a, %b
438
439 ret <8 x i16> %result
440 }
441
442 define internal <16 x i8> @_Z8testUremDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
443
444
445 %result = urem <16 x i8> %a, %b
446
447 ret <16 x i8> %result
448 }
449
450 define internal i32 @_Z7testShlbb(i32 %a, i32 %b) {
451
452
453 %result = shl i32 %a, %b
454
455 ret i32 %result
456 }
457
458 define internal i32 @_Z7testShlhh(i32 %a, i32 %b) {
459 %a.trunc = trunc i32 %a to i8
460 %b.trunc = trunc i32 %b to i8
461 %result.trunc = shl i8 %a.trunc, %b.trunc
462 %result = zext i8 %result.trunc to i32
463 ret i32 %result
464 }
465
466 define internal i32 @_Z7testShltt(i32 %a, i32 %b) {
467 %a.trunc = trunc i32 %a to i16
468 %b.trunc = trunc i32 %b to i16
469 %result.trunc = shl i16 %a.trunc, %b.trunc
470 %result = zext i16 %result.trunc to i32
471 ret i32 %result
472 }
473
474 define internal i32 @_Z7testShljj(i32 %a, i32 %b) {
475
476
477 %result = shl i32 %a, %b
478
479 ret i32 %result
480 }
481
482 define internal i64 @_Z7testShlyy(i64 %a, i64 %b) {
483
484
485 %result = shl i64 %a, %b
486
487 ret i64 %result
488 }
489
490 define internal <4 x i32> @_Z7testShlDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
491
492
493 %result = shl <4 x i32> %a, %b
494
495 ret <4 x i32> %result
496 }
497
498 define internal <8 x i16> @_Z7testShlDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
499
500
501 %result = shl <8 x i16> %a, %b
502
503 ret <8 x i16> %result
504 }
505
506 define internal <16 x i8> @_Z7testShlDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
507
508
509 %result = shl <16 x i8> %a, %b
510
511 ret <16 x i8> %result
512 }
513
514 define internal i32 @_Z8testLshrbb(i32 %a, i32 %b) {
515
516
517 %result = lshr i32 %a, %b
518
519 ret i32 %result
520 }
521
522 define internal i32 @_Z8testLshrhh(i32 %a, i32 %b) {
523 %a.trunc = trunc i32 %a to i8
524 %b.trunc = trunc i32 %b to i8
525 %result.trunc = lshr i8 %a.trunc, %b.trunc
526 %result = zext i8 %result.trunc to i32
527 ret i32 %result
528 }
529
530 define internal i32 @_Z8testLshrtt(i32 %a, i32 %b) {
531 %a.trunc = trunc i32 %a to i16
532 %b.trunc = trunc i32 %b to i16
533 %result.trunc = lshr i16 %a.trunc, %b.trunc
534 %result = zext i16 %result.trunc to i32
535 ret i32 %result
536 }
537
538 define internal i32 @_Z8testLshrjj(i32 %a, i32 %b) {
539
540
541 %result = lshr i32 %a, %b
542
543 ret i32 %result
544 }
545
546 define internal i64 @_Z8testLshryy(i64 %a, i64 %b) {
547
548
549 %result = lshr i64 %a, %b
550
551 ret i64 %result
552 }
553
554 define internal <4 x i32> @_Z8testLshrDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
555
556
557 %result = lshr <4 x i32> %a, %b
558
559 ret <4 x i32> %result
560 }
561
562 define internal <8 x i16> @_Z8testLshrDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
563
564
565 %result = lshr <8 x i16> %a, %b
566
567 ret <8 x i16> %result
568 }
569
570 define internal <16 x i8> @_Z8testLshrDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
571
572
573 %result = lshr <16 x i8> %a, %b
574
575 ret <16 x i8> %result
576 }
577
578 define internal i32 @_Z8testAshrbb(i32 %a, i32 %b) {
579
580
581 %result = ashr i32 %a, %b
582
583 ret i32 %result
584 }
585
586 define internal i32 @_Z8testAshraa(i32 %a, i32 %b) {
587 %a.trunc = trunc i32 %a to i8
588 %b.trunc = trunc i32 %b to i8
589 %result.trunc = ashr i8 %a.trunc, %b.trunc
590 %result = sext i8 %result.trunc to i32
591 ret i32 %result
592 }
593
594 define internal i32 @_Z8testAshrss(i32 %a, i32 %b) {
595 %a.trunc = trunc i32 %a to i16
596 %b.trunc = trunc i32 %b to i16
597 %result.trunc = ashr i16 %a.trunc, %b.trunc
598 %result = sext i16 %result.trunc to i32
599 ret i32 %result
600 }
601
602 define internal i32 @_Z8testAshrii(i32 %a, i32 %b) {
603
604
605 %result = ashr i32 %a, %b
606
607 ret i32 %result
608 }
609
610 define internal i64 @_Z8testAshrxx(i64 %a, i64 %b) {
611
612
613 %result = ashr i64 %a, %b
614
615 ret i64 %result
616 }
617
618 define internal <4 x i32> @_Z8testAshrDv4_iS_(<4 x i32> %a, <4 x i32> %b) {
619
620
621 %result = ashr <4 x i32> %a, %b
622
623 ret <4 x i32> %result
624 }
625
626 define internal <8 x i16> @_Z8testAshrDv8_sS_(<8 x i16> %a, <8 x i16> %b) {
627
628
629 %result = ashr <8 x i16> %a, %b
630
631 ret <8 x i16> %result
632 }
633
634 define internal <16 x i8> @_Z8testAshrDv16_aS_(<16 x i8> %a, <16 x i8> %b) {
635
636
637 %result = ashr <16 x i8> %a, %b
638
639 ret <16 x i8> %result
640 }
641
642 define internal i32 @_Z7testAndbb(i32 %a, i32 %b) {
643 %a.trunc = trunc i32 %a to i1
644 %b.trunc = trunc i32 %b to i1
645 %result.trunc = and i1 %a.trunc, %b.trunc
646 %result = zext i1 %result.trunc to i32
647 ret i32 %result
648 }
649
650 define internal i32 @_Z7testAndhh(i32 %a, i32 %b) {
651 %a.trunc = trunc i32 %a to i8
652 %b.trunc = trunc i32 %b to i8
653 %result.trunc = and i8 %a.trunc, %b.trunc
654 %result = zext i8 %result.trunc to i32
655 ret i32 %result
656 }
657
658 define internal i32 @_Z7testAndtt(i32 %a, i32 %b) {
659 %a.trunc = trunc i32 %a to i16
660 %b.trunc = trunc i32 %b to i16
661 %result.trunc = and i16 %a.trunc, %b.trunc
662 %result = zext i16 %result.trunc to i32
663 ret i32 %result
664 }
665
666 define internal i32 @_Z7testAndjj(i32 %a, i32 %b) {
667
668
669 %result = and i32 %a, %b
670
671 ret i32 %result
672 }
673
674 define internal i64 @_Z7testAndyy(i64 %a, i64 %b) {
675
676
677 %result = and i64 %a, %b
678
679 ret i64 %result
680 }
681
682 define internal <4 x i32> @_Z7testAndDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
683
684
685 %result = and <4 x i32> %a, %b
686
687 ret <4 x i32> %result
688 }
689
690 define internal <8 x i16> @_Z7testAndDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
691
692
693 %result = and <8 x i16> %a, %b
694
695 ret <8 x i16> %result
696 }
697
698 define internal <16 x i8> @_Z7testAndDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
699
700
701 %result = and <16 x i8> %a, %b
702
703 ret <16 x i8> %result
704 }
705
706 define internal i32 @_Z6testOrbb(i32 %a, i32 %b) {
707 %a.trunc = trunc i32 %a to i1
708 %b.trunc = trunc i32 %b to i1
709 %result.trunc = or i1 %a.trunc, %b.trunc
710 %result = zext i1 %result.trunc to i32
711 ret i32 %result
712 }
713
714 define internal i32 @_Z6testOrhh(i32 %a, i32 %b) {
715 %a.trunc = trunc i32 %a to i8
716 %b.trunc = trunc i32 %b to i8
717 %result.trunc = or i8 %a.trunc, %b.trunc
718 %result = zext i8 %result.trunc to i32
719 ret i32 %result
720 }
721
722 define internal i32 @_Z6testOrtt(i32 %a, i32 %b) {
723 %a.trunc = trunc i32 %a to i16
724 %b.trunc = trunc i32 %b to i16
725 %result.trunc = or i16 %a.trunc, %b.trunc
726 %result = zext i16 %result.trunc to i32
727 ret i32 %result
728 }
729
730 define internal i32 @_Z6testOrjj(i32 %a, i32 %b) {
731
732
733 %result = or i32 %a, %b
734
735 ret i32 %result
736 }
737
738 define internal i64 @_Z6testOryy(i64 %a, i64 %b) {
739
740
741 %result = or i64 %a, %b
742
743 ret i64 %result
744 }
745
746 define internal <4 x i32> @_Z6testOrDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
747
748
749 %result = or <4 x i32> %a, %b
750
751 ret <4 x i32> %result
752 }
753
754 define internal <8 x i16> @_Z6testOrDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
755
756
757 %result = or <8 x i16> %a, %b
758
759 ret <8 x i16> %result
760 }
761
762 define internal <16 x i8> @_Z6testOrDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
763
764
765 %result = or <16 x i8> %a, %b
766
767 ret <16 x i8> %result
768 }
769
770 define internal i32 @_Z7testXorbb(i32 %a, i32 %b) {
771 %a.trunc = trunc i32 %a to i1
772 %b.trunc = trunc i32 %b to i1
773 %result.trunc = xor i1 %a.trunc, %b.trunc
774 %result = zext i1 %result.trunc to i32
775 ret i32 %result
776 }
777
778 define internal i32 @_Z7testXorhh(i32 %a, i32 %b) {
779 %a.trunc = trunc i32 %a to i8
780 %b.trunc = trunc i32 %b to i8
781 %result.trunc = xor i8 %a.trunc, %b.trunc
782 %result = zext i8 %result.trunc to i32
783 ret i32 %result
784 }
785
786 define internal i32 @_Z7testXortt(i32 %a, i32 %b) {
787 %a.trunc = trunc i32 %a to i16
788 %b.trunc = trunc i32 %b to i16
789 %result.trunc = xor i16 %a.trunc, %b.trunc
790 %result = zext i16 %result.trunc to i32
791 ret i32 %result
792 }
793
794 define internal i32 @_Z7testXorjj(i32 %a, i32 %b) {
795
796
797 %result = xor i32 %a, %b
798
799 ret i32 %result
800 }
801
802 define internal i64 @_Z7testXoryy(i64 %a, i64 %b) {
803
804
805 %result = xor i64 %a, %b
806
807 ret i64 %result
808 }
809
810 define internal <4 x i32> @_Z7testXorDv4_jS_(<4 x i32> %a, <4 x i32> %b) {
811
812
813 %result = xor <4 x i32> %a, %b
814
815 ret <4 x i32> %result
816 }
817
818 define internal <8 x i16> @_Z7testXorDv8_tS_(<8 x i16> %a, <8 x i16> %b) {
819
820
821 %result = xor <8 x i16> %a, %b
822
823 ret <8 x i16> %result
824 }
825
826 define internal <16 x i8> @_Z7testXorDv16_hS_(<16 x i8> %a, <16 x i8> %b) {
827
828
829 %result = xor <16 x i8> %a, %b
830
831 ret <16 x i8> %result
832 }
833
834 define internal float @_Z8testFaddff(float %a, float %b) {
835
836
837 %result = fadd float %a, %b
838
839 ret float %result
840 }
841
842 define internal double @_Z8testFadddd(double %a, double %b) {
843
844
845 %result = fadd double %a, %b
846
847 ret double %result
848 }
849
850 define internal <4 x float> @_Z8testFaddDv4_fS_(<4 x float> %a, <4 x float> %b) {
851
852
853 %result = fadd <4 x float> %a, %b
854
855 ret <4 x float> %result
856 }
857
858 define internal float @_Z8testFsubff(float %a, float %b) {
859
860
861 %result = fsub float %a, %b
862
863 ret float %result
864 }
865
866 define internal double @_Z8testFsubdd(double %a, double %b) {
867
868
869 %result = fsub double %a, %b
870
871 ret double %result
872 }
873
874 define internal <4 x float> @_Z8testFsubDv4_fS_(<4 x float> %a, <4 x float> %b) {
875
876
877 %result = fsub <4 x float> %a, %b
878
879 ret <4 x float> %result
880 }
881
882 define internal float @_Z8testFmulff(float %a, float %b) {
883
884
885 %result = fmul float %a, %b
886
887 ret float %result
888 }
889
890 define internal double @_Z8testFmuldd(double %a, double %b) {
891
892
893 %result = fmul double %a, %b
894
895 ret double %result
896 }
897
898 define internal <4 x float> @_Z8testFmulDv4_fS_(<4 x float> %a, <4 x float> %b) {
899
900
901 %result = fmul <4 x float> %a, %b
902
903 ret <4 x float> %result
904 }
905
906 define internal float @_Z8testFdivff(float %a, float %b) {
907
908
909 %result = fdiv float %a, %b
910
911 ret float %result
912 }
913
914 define internal double @_Z8testFdivdd(double %a, double %b) {
915
916
917 %result = fdiv double %a, %b
918
919 ret double %result
920 }
921
922 define internal <4 x float> @_Z8testFdivDv4_fS_(<4 x float> %a, <4 x float> %b) {
923
924
925 %result = fdiv <4 x float> %a, %b
926
927 ret <4 x float> %result
928 }
929
930 define internal float @_Z8testFremff(float %a, float %b) {
931
932
933 %result = frem float %a, %b
934
935 ret float %result
936 }
937
938 define internal double @_Z8testFremdd(double %a, double %b) {
939
940
941 %result = frem double %a, %b
942
943 ret double %result
944 }
945
946 define internal <4 x float> @_Z8testFremDv4_fS_(<4 x float> %a, <4 x float> %b) {
947
948
949 %result = frem <4 x float> %a, %b
950
951 ret <4 x float> %result
952 }
OLDNEW
« no previous file with comments | « crosstest/test_arith.cpp ('k') | pydir/gen_test_arith_ll.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698