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