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