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