Home | History | Annotate | Download | only in crosstest
      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 }
    953