1
2define internal i32 @_Z7testAddbb(i32 %a, i32 %b) {
3
4
5  %result = add i32 %a, %b
6
7  ret i32 %result
8}
9
10define 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
18define 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
26define internal i32 @_Z7testAddjj(i32 %a, i32 %b) {
27
28
29  %result = add i32 %a, %b
30
31  ret i32 %result
32}
33
34define internal i64 @_Z7testAddyy(i64 %a, i64 %b) {
35
36
37  %result = add i64 %a, %b
38
39  ret i64 %result
40}
41
42define 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
50define 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
58define 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
66define internal i32 @_Z7testSubbb(i32 %a, i32 %b) {
67
68
69  %result = sub i32 %a, %b
70
71  ret i32 %result
72}
73
74define 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
82define 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
90define internal i32 @_Z7testSubjj(i32 %a, i32 %b) {
91
92
93  %result = sub i32 %a, %b
94
95  ret i32 %result
96}
97
98define internal i64 @_Z7testSubyy(i64 %a, i64 %b) {
99
100
101  %result = sub i64 %a, %b
102
103  ret i64 %result
104}
105
106define 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
114define 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
122define 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
130define internal i32 @_Z7testMulbb(i32 %a, i32 %b) {
131
132
133  %result = mul i32 %a, %b
134
135  ret i32 %result
136}
137
138define 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
146define 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
154define internal i32 @_Z7testMuljj(i32 %a, i32 %b) {
155
156
157  %result = mul i32 %a, %b
158
159  ret i32 %result
160}
161
162define internal i64 @_Z7testMulyy(i64 %a, i64 %b) {
163
164
165  %result = mul i64 %a, %b
166
167  ret i64 %result
168}
169
170define 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
178define 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
186define 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
194define internal i32 @_Z8testSdivbb(i32 %a, i32 %b) {
195
196
197  %result = sdiv i32 %a, %b
198
199  ret i32 %result
200}
201
202define 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
210define 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
218define internal i32 @_Z8testSdivii(i32 %a, i32 %b) {
219
220
221  %result = sdiv i32 %a, %b
222
223  ret i32 %result
224}
225
226define internal i64 @_Z8testSdivxx(i64 %a, i64 %b) {
227
228
229  %result = sdiv i64 %a, %b
230
231  ret i64 %result
232}
233
234define 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
242define 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
250define 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
258define internal i32 @_Z8testUdivbb(i32 %a, i32 %b) {
259
260
261  %result = udiv i32 %a, %b
262
263  ret i32 %result
264}
265
266define 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
274define 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
282define internal i32 @_Z8testUdivjj(i32 %a, i32 %b) {
283
284
285  %result = udiv i32 %a, %b
286
287  ret i32 %result
288}
289
290define internal i64 @_Z8testUdivyy(i64 %a, i64 %b) {
291
292
293  %result = udiv i64 %a, %b
294
295  ret i64 %result
296}
297
298define 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
306define 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
314define 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
322define internal i32 @_Z8testSrembb(i32 %a, i32 %b) {
323
324
325  %result = srem i32 %a, %b
326
327  ret i32 %result
328}
329
330define 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
338define 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
346define internal i32 @_Z8testSremii(i32 %a, i32 %b) {
347
348
349  %result = srem i32 %a, %b
350
351  ret i32 %result
352}
353
354define internal i64 @_Z8testSremxx(i64 %a, i64 %b) {
355
356
357  %result = srem i64 %a, %b
358
359  ret i64 %result
360}
361
362define 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
370define 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
378define 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
386define internal i32 @_Z8testUrembb(i32 %a, i32 %b) {
387
388
389  %result = urem i32 %a, %b
390
391  ret i32 %result
392}
393
394define 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
402define 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
410define internal i32 @_Z8testUremjj(i32 %a, i32 %b) {
411
412
413  %result = urem i32 %a, %b
414
415  ret i32 %result
416}
417
418define internal i64 @_Z8testUremyy(i64 %a, i64 %b) {
419
420
421  %result = urem i64 %a, %b
422
423  ret i64 %result
424}
425
426define 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
434define 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
442define 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
450define internal i32 @_Z7testShlbb(i32 %a, i32 %b) {
451
452
453  %result = shl i32 %a, %b
454
455  ret i32 %result
456}
457
458define 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
466define 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
474define internal i32 @_Z7testShljj(i32 %a, i32 %b) {
475
476
477  %result = shl i32 %a, %b
478
479  ret i32 %result
480}
481
482define internal i64 @_Z7testShlyy(i64 %a, i64 %b) {
483
484
485  %result = shl i64 %a, %b
486
487  ret i64 %result
488}
489
490define 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
498define 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
506define 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
514define internal i32 @_Z8testLshrbb(i32 %a, i32 %b) {
515
516
517  %result = lshr i32 %a, %b
518
519  ret i32 %result
520}
521
522define 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
530define 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
538define internal i32 @_Z8testLshrjj(i32 %a, i32 %b) {
539
540
541  %result = lshr i32 %a, %b
542
543  ret i32 %result
544}
545
546define internal i64 @_Z8testLshryy(i64 %a, i64 %b) {
547
548
549  %result = lshr i64 %a, %b
550
551  ret i64 %result
552}
553
554define 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
562define 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
570define 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
578define internal i32 @_Z8testAshrbb(i32 %a, i32 %b) {
579
580
581  %result = ashr i32 %a, %b
582
583  ret i32 %result
584}
585
586define 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
594define 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
602define internal i32 @_Z8testAshrii(i32 %a, i32 %b) {
603
604
605  %result = ashr i32 %a, %b
606
607  ret i32 %result
608}
609
610define internal i64 @_Z8testAshrxx(i64 %a, i64 %b) {
611
612
613  %result = ashr i64 %a, %b
614
615  ret i64 %result
616}
617
618define 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
626define 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
634define 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
642define 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
650define 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
658define 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
666define internal i32 @_Z7testAndjj(i32 %a, i32 %b) {
667
668
669  %result = and i32 %a, %b
670
671  ret i32 %result
672}
673
674define internal i64 @_Z7testAndyy(i64 %a, i64 %b) {
675
676
677  %result = and i64 %a, %b
678
679  ret i64 %result
680}
681
682define 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
690define 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
698define 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
706define 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
714define 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
722define 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
730define internal i32 @_Z6testOrjj(i32 %a, i32 %b) {
731
732
733  %result = or i32 %a, %b
734
735  ret i32 %result
736}
737
738define internal i64 @_Z6testOryy(i64 %a, i64 %b) {
739
740
741  %result = or i64 %a, %b
742
743  ret i64 %result
744}
745
746define 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
754define 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
762define 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
770define 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
778define 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
786define 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
794define internal i32 @_Z7testXorjj(i32 %a, i32 %b) {
795
796
797  %result = xor i32 %a, %b
798
799  ret i32 %result
800}
801
802define internal i64 @_Z7testXoryy(i64 %a, i64 %b) {
803
804
805  %result = xor i64 %a, %b
806
807  ret i64 %result
808}
809
810define 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
818define 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
826define 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
834define internal float @_Z8testFaddff(float %a, float %b) {
835
836
837  %result = fadd float %a, %b
838
839  ret float %result
840}
841
842define internal double @_Z8testFadddd(double %a, double %b) {
843
844
845  %result = fadd double %a, %b
846
847  ret double %result
848}
849
850define 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
858define internal float @_Z8testFsubff(float %a, float %b) {
859
860
861  %result = fsub float %a, %b
862
863  ret float %result
864}
865
866define internal double @_Z8testFsubdd(double %a, double %b) {
867
868
869  %result = fsub double %a, %b
870
871  ret double %result
872}
873
874define 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
882define internal float @_Z8testFmulff(float %a, float %b) {
883
884
885  %result = fmul float %a, %b
886
887  ret float %result
888}
889
890define internal double @_Z8testFmuldd(double %a, double %b) {
891
892
893  %result = fmul double %a, %b
894
895  ret double %result
896}
897
898define 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
906define internal float @_Z8testFdivff(float %a, float %b) {
907
908
909  %result = fdiv float %a, %b
910
911  ret float %result
912}
913
914define internal double @_Z8testFdivdd(double %a, double %b) {
915
916
917  %result = fdiv double %a, %b
918
919  ret double %result
920}
921
922define 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
930define internal float @_Z8testFremff(float %a, float %b) {
931
932
933  %result = frem float %a, %b
934
935  ret float %result
936}
937
938define internal double @_Z8testFremdd(double %a, double %b) {
939
940
941  %result = frem double %a, %b
942
943  ret double %result
944}
945
946define 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}
953