1 ; RUN: opt < %s -cost-model -analyze -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a8 | FileCheck %s 2 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" 3 target triple = "thumbv7-apple-ios6.0.0" 4 5 define i32 @casts() { 6 7 ; -- scalars -- 8 ; CHECK: cost of 1 {{.*}} sext 9 %r0 = sext i1 undef to i8 10 ; CHECK: cost of 1 {{.*}} zext 11 %r1 = zext i1 undef to i8 12 ; CHECK: cost of 1 {{.*}} sext 13 %r2 = sext i1 undef to i16 14 ; CHECK: cost of 1 {{.*}} zext 15 %r3 = zext i1 undef to i16 16 ; CHECK: cost of 1 {{.*}} sext 17 %r4 = sext i1 undef to i32 18 ; CHECK: cost of 1 {{.*}} zext 19 %r5 = zext i1 undef to i32 20 ; CHECK: cost of 1 {{.*}} sext 21 %r6 = sext i1 undef to i64 22 ; CHECK: cost of 1 {{.*}} zext 23 %r7 = zext i1 undef to i64 24 ; CHECK: cost of 0 {{.*}} trunc 25 %r8 = trunc i8 undef to i1 26 ; CHECK: cost of 1 {{.*}} sext 27 %r9 = sext i8 undef to i16 28 ; CHECK: cost of 1 {{.*}} zext 29 %r10 = zext i8 undef to i16 30 ; CHECK: cost of 1 {{.*}} sext 31 %r11 = sext i8 undef to i32 32 ; CHECK: cost of 1 {{.*}} zext 33 %r12 = zext i8 undef to i32 34 ; CHECK: cost of 1 {{.*}} sext 35 %r13 = sext i8 undef to i64 36 ; CHECK: cost of 1 {{.*}} zext 37 %r14 = zext i8 undef to i64 38 ; CHECK: cost of 0 {{.*}} trunc 39 %r15 = trunc i16 undef to i1 40 ; CHECK: cost of 0 {{.*}} trunc 41 %r16 = trunc i16 undef to i8 42 ; CHECK: cost of 1 {{.*}} sext 43 %r17 = sext i16 undef to i32 44 ; CHECK: cost of 1 {{.*}} zext 45 %r18 = zext i16 undef to i32 46 ; CHECK: cost of 2 {{.*}} sext 47 %r19 = sext i16 undef to i64 48 ; CHECK: cost of 1 {{.*}} zext 49 %r20 = zext i16 undef to i64 50 ; CHECK: cost of 0 {{.*}} trunc 51 %r21 = trunc i32 undef to i1 52 ; CHECK: cost of 0 {{.*}} trunc 53 %r22 = trunc i32 undef to i8 54 ; CHECK: cost of 0 {{.*}} trunc 55 %r23 = trunc i32 undef to i16 56 ; CHECK: cost of 1 {{.*}} sext 57 %r24 = sext i32 undef to i64 58 ; CHECK: cost of 1 {{.*}} zext 59 %r25 = zext i32 undef to i64 60 ; CHECK: cost of 0 {{.*}} trunc 61 %r26 = trunc i64 undef to i1 62 ; CHECK: cost of 0 {{.*}} trunc 63 %r27 = trunc i64 undef to i8 64 ; CHECK: cost of 0 {{.*}} trunc 65 %r28 = trunc i64 undef to i16 66 ; CHECK: cost of 0 {{.*}} trunc 67 %r29 = trunc i64 undef to i32 68 69 ; -- floating point conversions -- 70 ; Moves between scalar and NEON registers. 71 ; CHECK: cost of 2 {{.*}} fptoui 72 %r30 = fptoui float undef to i1 73 ; CHECK: cost of 2 {{.*}} fptosi 74 %r31 = fptosi float undef to i1 75 ; CHECK: cost of 2 {{.*}} fptoui 76 %r32 = fptoui float undef to i8 77 ; CHECK: cost of 2 {{.*}} fptosi 78 %r33 = fptosi float undef to i8 79 ; CHECK: cost of 2 {{.*}} fptoui 80 %r34 = fptoui float undef to i16 81 ; CHECK: cost of 2 {{.*}} fptosi 82 %r35 = fptosi float undef to i16 83 ; CHECK: cost of 2 {{.*}} fptoui 84 %r36 = fptoui float undef to i32 85 ; CHECK: cost of 2 {{.*}} fptosi 86 %r37 = fptosi float undef to i32 87 ; CHECK: cost of 10 {{.*}} fptoui 88 %r38 = fptoui float undef to i64 89 ; CHECK: cost of 10 {{.*}} fptosi 90 %r39 = fptosi float undef to i64 91 ; CHECK: cost of 2 {{.*}} fptoui 92 %r40 = fptoui double undef to i1 93 ; CHECK: cost of 2 {{.*}} fptosi 94 %r41 = fptosi double undef to i1 95 ; CHECK: cost of 2 {{.*}} fptoui 96 %r42 = fptoui double undef to i8 97 ; CHECK: cost of 2 {{.*}} fptosi 98 %r43 = fptosi double undef to i8 99 ; CHECK: cost of 2 {{.*}} fptoui 100 %r44 = fptoui double undef to i16 101 ; CHECK: cost of 2 {{.*}} fptosi 102 %r45 = fptosi double undef to i16 103 ; CHECK: cost of 2 {{.*}} fptoui 104 %r46 = fptoui double undef to i32 105 ; CHECK: cost of 2 {{.*}} fptosi 106 %r47 = fptosi double undef to i32 107 ; Function call 108 ; CHECK: cost of 10 {{.*}} fptoui 109 %r48 = fptoui double undef to i64 110 ; CHECK: cost of 10 {{.*}} fptosi 111 %r49 = fptosi double undef to i64 112 113 ; CHECK: cost of 2 {{.*}} sitofp 114 %r50 = sitofp i1 undef to float 115 ; CHECK: cost of 2 {{.*}} uitofp 116 %r51 = uitofp i1 undef to float 117 ; CHECK: cost of 2 {{.*}} sitofp 118 %r52 = sitofp i1 undef to double 119 ; CHECK: cost of 2 {{.*}} uitofp 120 %r53 = uitofp i1 undef to double 121 ; CHECK: cost of 2 {{.*}} sitofp 122 %r54 = sitofp i8 undef to float 123 ; CHECK: cost of 2 {{.*}} uitofp 124 %r55 = uitofp i8 undef to float 125 ; CHECK: cost of 2 {{.*}} sitofp 126 %r56 = sitofp i8 undef to double 127 ; CHECK: cost of 2 {{.*}} uitofp 128 %r57 = uitofp i8 undef to double 129 ; CHECK: cost of 2 {{.*}} sitofp 130 %r58 = sitofp i16 undef to float 131 ; CHECK: cost of 2 {{.*}} uitofp 132 %r59 = uitofp i16 undef to float 133 ; CHECK: cost of 2 {{.*}} sitofp 134 %r60 = sitofp i16 undef to double 135 ; CHECK: cost of 2 {{.*}} uitofp 136 %r61 = uitofp i16 undef to double 137 ; CHECK: cost of 2 {{.*}} sitofp 138 %r62 = sitofp i32 undef to float 139 ; CHECK: cost of 2 {{.*}} uitofp 140 %r63 = uitofp i32 undef to float 141 ; CHECK: cost of 2 {{.*}} sitofp 142 %r64 = sitofp i32 undef to double 143 ; CHECK: cost of 2 {{.*}} uitofp 144 %r65 = uitofp i32 undef to double 145 ; Function call 146 ; CHECK: cost of 10 {{.*}} sitofp 147 %r66 = sitofp i64 undef to float 148 ; CHECK: cost of 10 {{.*}} uitofp 149 %r67 = uitofp i64 undef to float 150 ; CHECK: cost of 10 {{.*}} sitofp 151 %r68 = sitofp i64 undef to double 152 ; CHECK: cost of 10 {{.*}} uitofp 153 %r69 = uitofp i64 undef to double 154 155 ; CHECK: cost of 3 {{.*}} sext 156 %r70 = sext <8 x i8> undef to <8 x i32> 157 ; CHECK: cost of 6 {{.*}} sext 158 %r71 = sext <16 x i8> undef to <16 x i32> 159 ; CHECK: cost of 3 {{.*}} zext 160 %r72 = zext <8 x i8> undef to <8 x i32> 161 ; CHECK: cost of 6 {{.*}} zext 162 %r73 = zext <16 x i8> undef to <16 x i32> 163 164 ; CHECK: cost of 7 {{.*}} sext 165 %rext_0 = sext <8 x i8> undef to <8 x i64> 166 ; CHECK: cost of 7 {{.*}} zext 167 %rext_1 = zext <8 x i8> undef to <8 x i64> 168 ; CHECK: cost of 6 {{.*}} sext 169 %rext_2 = sext <8 x i16> undef to <8 x i64> 170 ; CHECK: cost of 6 {{.*}} zext 171 %rext_3 = zext <8 x i16> undef to <8 x i64> 172 ; CHECK: cost of 3 {{.*}} sext 173 %rext_4 = sext <4 x i16> undef to <4 x i64> 174 ; CHECK: cost of 3 {{.*}} zext 175 %rext_5 = zext <4 x i16> undef to <4 x i64> 176 177 ; Vector cast cost of instructions lowering the cast to the stack. 178 ; CHECK: cost of 3 {{.*}} trunc 179 %r74 = trunc <8 x i32> undef to <8 x i8> 180 ; CHECK: cost of 6 {{.*}} trunc 181 %r75 = trunc <16 x i32> undef to <16 x i8> 182 183 ; Floating point truncation costs. 184 ; CHECK: cost of 1 {{.*}} fptrunc double 185 %r80 = fptrunc double undef to float 186 ; CHECK: cost of 2 {{.*}} fptrunc <2 x double 187 %r81 = fptrunc <2 x double> undef to <2 x float> 188 ; CHECK: cost of 4 {{.*}} fptrunc <4 x double 189 %r82 = fptrunc <4 x double> undef to <4 x float> 190 ; CHECK: cost of 8 {{.*}} fptrunc <8 x double 191 %r83 = fptrunc <8 x double> undef to <8 x float> 192 ; CHECK: cost of 16 {{.*}} fptrunc <16 x double 193 %r84 = fptrunc <16 x double> undef to <16 x float> 194 195 ; Floating point extension costs. 196 ; CHECK: cost of 1 {{.*}} fpext float 197 %r85 = fpext float undef to double 198 ; CHECK: cost of 2 {{.*}} fpext <2 x float 199 %r86 = fpext <2 x float> undef to <2 x double> 200 ; CHECK: cost of 4 {{.*}} fpext <4 x float 201 %r87 = fpext <4 x float> undef to <4 x double> 202 ; CHECK: cost of 8 {{.*}} fpext <8 x float 203 %r88 = fpext <8 x float> undef to <8 x double> 204 ; CHECK: cost of 16 {{.*}} fpext <16 x float 205 %r89 = fpext <16 x float> undef to <16 x double> 206 207 ;; Floating point to integer vector casts. 208 ; CHECK: cost of 1 {{.*}} fptoui 209 %r90 = fptoui <2 x float> undef to <2 x i1> 210 ; CHECK: cost of 1 {{.*}} fptosi 211 %r91 = fptosi <2 x float> undef to <2 x i1> 212 ; CHECK: cost of 1 {{.*}} fptoui 213 %r92 = fptoui <2 x float> undef to <2 x i8> 214 ; CHECK: cost of 1 {{.*}} fptosi 215 %r93 = fptosi <2 x float> undef to <2 x i8> 216 ; CHECK: cost of 1 {{.*}} fptoui 217 %r94 = fptoui <2 x float> undef to <2 x i16> 218 ; CHECK: cost of 1 {{.*}} fptosi 219 %r95 = fptosi <2 x float> undef to <2 x i16> 220 ; CHECK: cost of 1 {{.*}} fptoui 221 %r96 = fptoui <2 x float> undef to <2 x i32> 222 ; CHECK: cost of 1 {{.*}} fptosi 223 %r97 = fptosi <2 x float> undef to <2 x i32> 224 ; CHECK: cost of 24 {{.*}} fptoui 225 %r98 = fptoui <2 x float> undef to <2 x i64> 226 ; CHECK: cost of 24 {{.*}} fptosi 227 %r99 = fptosi <2 x float> undef to <2 x i64> 228 229 ; CHECK: cost of 8 {{.*}} fptoui 230 %r100 = fptoui <2 x double> undef to <2 x i1> 231 ; CHECK: cost of 8 {{.*}} fptosi 232 %r101 = fptosi <2 x double> undef to <2 x i1> 233 ; CHECK: cost of 8 {{.*}} fptoui 234 %r102 = fptoui <2 x double> undef to <2 x i8> 235 ; CHECK: cost of 8 {{.*}} fptosi 236 %r103 = fptosi <2 x double> undef to <2 x i8> 237 ; CHECK: cost of 8 {{.*}} fptoui 238 %r104 = fptoui <2 x double> undef to <2 x i16> 239 ; CHECK: cost of 8 {{.*}} fptosi 240 %r105 = fptosi <2 x double> undef to <2 x i16> 241 ; CHECK: cost of 2 {{.*}} fptoui 242 %r106 = fptoui <2 x double> undef to <2 x i32> 243 ; CHECK: cost of 2 {{.*}} fptosi 244 %r107 = fptosi <2 x double> undef to <2 x i32> 245 ; CHECK: cost of 24 {{.*}} fptoui 246 %r108 = fptoui <2 x double> undef to <2 x i64> 247 ; CHECK: cost of 24 {{.*}} fptosi 248 %r109 = fptosi <2 x double> undef to <2 x i64> 249 250 ; CHECK: cost of 16 {{.*}} fptoui 251 %r110 = fptoui <4 x float> undef to <4 x i1> 252 ; CHECK: cost of 16 {{.*}} fptosi 253 %r111 = fptosi <4 x float> undef to <4 x i1> 254 ; CHECK: cost of 3 {{.*}} fptoui 255 %r112 = fptoui <4 x float> undef to <4 x i8> 256 ; CHECK: cost of 3 {{.*}} fptosi 257 %r113 = fptosi <4 x float> undef to <4 x i8> 258 ; CHECK: cost of 2 {{.*}} fptoui 259 %r114 = fptoui <4 x float> undef to <4 x i16> 260 ; CHECK: cost of 2 {{.*}} fptosi 261 %r115 = fptosi <4 x float> undef to <4 x i16> 262 ; CHECK: cost of 1 {{.*}} fptoui 263 %r116 = fptoui <4 x float> undef to <4 x i32> 264 ; CHECK: cost of 1 {{.*}} fptosi 265 %r117 = fptosi <4 x float> undef to <4 x i32> 266 ; CHECK: cost of 48 {{.*}} fptoui 267 %r118 = fptoui <4 x float> undef to <4 x i64> 268 ; CHECK: cost of 48 {{.*}} fptosi 269 %r119 = fptosi <4 x float> undef to <4 x i64> 270 271 ; CHECK: cost of 16 {{.*}} fptoui 272 %r120 = fptoui <4 x double> undef to <4 x i1> 273 ; CHECK: cost of 16 {{.*}} fptosi 274 %r121 = fptosi <4 x double> undef to <4 x i1> 275 ; CHECK: cost of 16 {{.*}} fptoui 276 %r122 = fptoui <4 x double> undef to <4 x i8> 277 ; CHECK: cost of 16 {{.*}} fptosi 278 %r123 = fptosi <4 x double> undef to <4 x i8> 279 ; CHECK: cost of 16 {{.*}} fptoui 280 %r124 = fptoui <4 x double> undef to <4 x i16> 281 ; CHECK: cost of 16 {{.*}} fptosi 282 %r125 = fptosi <4 x double> undef to <4 x i16> 283 ; CHECK: cost of 16 {{.*}} fptoui 284 %r126 = fptoui <4 x double> undef to <4 x i32> 285 ; CHECK: cost of 16 {{.*}} fptosi 286 %r127 = fptosi <4 x double> undef to <4 x i32> 287 ; CHECK: cost of 48 {{.*}} fptoui 288 %r128 = fptoui <4 x double> undef to <4 x i64> 289 ; CHECK: cost of 48 {{.*}} fptosi 290 %r129 = fptosi <4 x double> undef to <4 x i64> 291 292 ; CHECK: cost of 32 {{.*}} fptoui 293 %r130 = fptoui <8 x float> undef to <8 x i1> 294 ; CHECK: cost of 32 {{.*}} fptosi 295 %r131 = fptosi <8 x float> undef to <8 x i1> 296 ; CHECK: cost of 32 {{.*}} fptoui 297 %r132 = fptoui <8 x float> undef to <8 x i8> 298 ; CHECK: cost of 32 {{.*}} fptosi 299 %r133 = fptosi <8 x float> undef to <8 x i8> 300 ; CHECK: cost of 4 {{.*}} fptoui 301 %r134 = fptoui <8 x float> undef to <8 x i16> 302 ; CHECK: cost of 4 {{.*}} fptosi 303 %r135 = fptosi <8 x float> undef to <8 x i16> 304 ; CHECK: cost of 2 {{.*}} fptoui 305 %r136 = fptoui <8 x float> undef to <8 x i32> 306 ; CHECK: cost of 2 {{.*}} fptosi 307 %r137 = fptosi <8 x float> undef to <8 x i32> 308 ; CHECK: cost of 96 {{.*}} fptoui 309 %r138 = fptoui <8 x float> undef to <8 x i64> 310 ; CHECK: cost of 96 {{.*}} fptosi 311 %r139 = fptosi <8 x float> undef to <8 x i64> 312 313 ; CHECK: cost of 32 {{.*}} fptoui 314 %r140 = fptoui <8 x double> undef to <8 x i1> 315 ; CHECK: cost of 32 {{.*}} fptosi 316 %r141 = fptosi <8 x double> undef to <8 x i1> 317 ; CHECK: cost of 32 {{.*}} fptoui 318 %r142 = fptoui <8 x double> undef to <8 x i8> 319 ; CHECK: cost of 32 {{.*}} fptosi 320 %r143 = fptosi <8 x double> undef to <8 x i8> 321 ; CHECK: cost of 32 {{.*}} fptoui 322 %r144 = fptoui <8 x double> undef to <8 x i16> 323 ; CHECK: cost of 32 {{.*}} fptosi 324 %r145 = fptosi <8 x double> undef to <8 x i16> 325 ; CHECK: cost of 32 {{.*}} fptoui 326 %r146 = fptoui <8 x double> undef to <8 x i32> 327 ; CHECK: cost of 32 {{.*}} fptosi 328 %r147 = fptosi <8 x double> undef to <8 x i32> 329 ; CHECK: cost of 96 {{.*}} fptoui 330 %r148 = fptoui <8 x double> undef to <8 x i64> 331 ; CHECK: cost of 96 {{.*}} fptosi 332 %r149 = fptosi <8 x double> undef to <8 x i64> 333 334 ; CHECK: cost of 64 {{.*}} fptoui 335 %r150 = fptoui <16 x float> undef to <16 x i1> 336 ; CHECK: cost of 64 {{.*}} fptosi 337 %r151 = fptosi <16 x float> undef to <16 x i1> 338 ; CHECK: cost of 64 {{.*}} fptoui 339 %r152 = fptoui <16 x float> undef to <16 x i8> 340 ; CHECK: cost of 64 {{.*}} fptosi 341 %r153 = fptosi <16 x float> undef to <16 x i8> 342 ; CHECK: cost of 8 {{.*}} fptoui 343 %r154 = fptoui <16 x float> undef to <16 x i16> 344 ; CHECK: cost of 8 {{.*}} fptosi 345 %r155 = fptosi <16 x float> undef to <16 x i16> 346 ; CHECK: cost of 4 {{.*}} fptoui 347 %r156 = fptoui <16 x float> undef to <16 x i32> 348 ; CHECK: cost of 4 {{.*}} fptosi 349 %r157 = fptosi <16 x float> undef to <16 x i32> 350 ; CHECK: cost of 192 {{.*}} fptoui 351 %r158 = fptoui <16 x float> undef to <16 x i64> 352 ; CHECK: cost of 192 {{.*}} fptosi 353 %r159 = fptosi <16 x float> undef to <16 x i64> 354 355 ; CHECK: cost of 64 {{.*}} fptoui 356 %r160 = fptoui <16 x double> undef to <16 x i1> 357 ; CHECK: cost of 64 {{.*}} fptosi 358 %r161 = fptosi <16 x double> undef to <16 x i1> 359 ; CHECK: cost of 64 {{.*}} fptoui 360 %r162 = fptoui <16 x double> undef to <16 x i8> 361 ; CHECK: cost of 64 {{.*}} fptosi 362 %r163 = fptosi <16 x double> undef to <16 x i8> 363 ; CHECK: cost of 64 {{.*}} fptoui 364 %r164 = fptoui <16 x double> undef to <16 x i16> 365 ; CHECK: cost of 64 {{.*}} fptosi 366 %r165 = fptosi <16 x double> undef to <16 x i16> 367 ; CHECK: cost of 64 {{.*}} fptoui 368 %r166 = fptoui <16 x double> undef to <16 x i32> 369 ; CHECK: cost of 64 {{.*}} fptosi 370 %r167 = fptosi <16 x double> undef to <16 x i32> 371 ; CHECK: cost of 192 {{.*}} fptoui 372 %r168 = fptoui <16 x double> undef to <16 x i64> 373 ; CHECK: cost of 192 {{.*}} fptosi 374 %r169 = fptosi <16 x double> undef to <16 x i64> 375 376 ; CHECK: cost of 8 {{.*}} uitofp 377 %r170 = uitofp <2 x i1> undef to <2 x float> 378 ; CHECK: cost of 8 {{.*}} sitofp 379 %r171 = sitofp <2 x i1> undef to <2 x float> 380 ; CHECK: cost of 3 {{.*}} uitofp 381 %r172 = uitofp <2 x i8> undef to <2 x float> 382 ; CHECK: cost of 3 {{.*}} sitofp 383 %r173 = sitofp <2 x i8> undef to <2 x float> 384 ; CHECK: cost of 2 {{.*}} uitofp 385 %r174 = uitofp <2 x i16> undef to <2 x float> 386 ; CHECK: cost of 2 {{.*}} sitofp 387 %r175 = sitofp <2 x i16> undef to <2 x float> 388 ; CHECK: cost of 1 {{.*}} uitofp 389 %r176 = uitofp <2 x i32> undef to <2 x float> 390 ; CHECK: cost of 1 {{.*}} sitofp 391 %r177 = sitofp <2 x i32> undef to <2 x float> 392 ; CHECK: cost of 24 {{.*}} uitofp 393 %r178 = uitofp <2 x i64> undef to <2 x float> 394 ; CHECK: cost of 24 {{.*}} sitofp 395 %r179 = sitofp <2 x i64> undef to <2 x float> 396 397 ; CHECK: cost of 8 {{.*}} uitofp 398 %r180 = uitofp <2 x i1> undef to <2 x double> 399 ; CHECK: cost of 8 {{.*}} sitofp 400 %r181 = sitofp <2 x i1> undef to <2 x double> 401 ; CHECK: cost of 4 {{.*}} uitofp 402 %r182 = uitofp <2 x i8> undef to <2 x double> 403 ; CHECK: cost of 4 {{.*}} sitofp 404 %r183 = sitofp <2 x i8> undef to <2 x double> 405 ; CHECK: cost of 3 {{.*}} uitofp 406 %r184 = uitofp <2 x i16> undef to <2 x double> 407 ; CHECK: cost of 3 {{.*}} sitofp 408 %r185 = sitofp <2 x i16> undef to <2 x double> 409 ; CHECK: cost of 2 {{.*}} uitofp 410 %r186 = uitofp <2 x i32> undef to <2 x double> 411 ; CHECK: cost of 2 {{.*}} sitofp 412 %r187 = sitofp <2 x i32> undef to <2 x double> 413 ; CHECK: cost of 24 {{.*}} uitofp 414 %r188 = uitofp <2 x i64> undef to <2 x double> 415 ; CHECK: cost of 24 {{.*}} sitofp 416 %r189 = sitofp <2 x i64> undef to <2 x double> 417 418 ; CHECK: cost of 3 {{.*}} uitofp 419 %r190 = uitofp <4 x i1> undef to <4 x float> 420 ; CHECK: cost of 3 {{.*}} sitofp 421 %r191 = sitofp <4 x i1> undef to <4 x float> 422 ; CHECK: cost of 3 {{.*}} uitofp 423 %r192 = uitofp <4 x i8> undef to <4 x float> 424 ; CHECK: cost of 3 {{.*}} sitofp 425 %r193 = sitofp <4 x i8> undef to <4 x float> 426 ; CHECK: cost of 2 {{.*}} uitofp 427 %r194 = uitofp <4 x i16> undef to <4 x float> 428 ; CHECK: cost of 2 {{.*}} sitofp 429 %r195 = sitofp <4 x i16> undef to <4 x float> 430 ; CHECK: cost of 1 {{.*}} uitofp 431 %r196 = uitofp <4 x i32> undef to <4 x float> 432 ; CHECK: cost of 1 {{.*}} sitofp 433 %r197 = sitofp <4 x i32> undef to <4 x float> 434 ; CHECK: cost of 48 {{.*}} uitofp 435 %r198 = uitofp <4 x i64> undef to <4 x float> 436 ; CHECK: cost of 48 {{.*}} sitofp 437 %r199 = sitofp <4 x i64> undef to <4 x float> 438 439 ; CHECK: cost of 16 {{.*}} uitofp 440 %r200 = uitofp <4 x i1> undef to <4 x double> 441 ; CHECK: cost of 16 {{.*}} sitofp 442 %r201 = sitofp <4 x i1> undef to <4 x double> 443 ; CHECK: cost of 16 {{.*}} uitofp 444 %r202 = uitofp <4 x i8> undef to <4 x double> 445 ; CHECK: cost of 16 {{.*}} sitofp 446 %r203 = sitofp <4 x i8> undef to <4 x double> 447 ; CHECK: cost of 16 {{.*}} uitofp 448 %r204 = uitofp <4 x i16> undef to <4 x double> 449 ; CHECK: cost of 16 {{.*}} sitofp 450 %r205 = sitofp <4 x i16> undef to <4 x double> 451 ; CHECK: cost of 16 {{.*}} uitofp 452 %r206 = uitofp <4 x i32> undef to <4 x double> 453 ; CHECK: cost of 16 {{.*}} sitofp 454 %r207 = sitofp <4 x i32> undef to <4 x double> 455 ; CHECK: cost of 48 {{.*}} uitofp 456 %r208 = uitofp <4 x i64> undef to <4 x double> 457 ; CHECK: cost of 48 {{.*}} sitofp 458 %r209 = sitofp <4 x i64> undef to <4 x double> 459 460 ; CHECK: cost of 32 {{.*}} uitofp 461 %r210 = uitofp <8 x i1> undef to <8 x float> 462 ; CHECK: cost of 32 {{.*}} sitofp 463 %r211 = sitofp <8 x i1> undef to <8 x float> 464 ; CHECK: cost of 32 {{.*}} uitofp 465 %r212 = uitofp <8 x i8> undef to <8 x float> 466 ; CHECK: cost of 32 {{.*}} sitofp 467 %r213 = sitofp <8 x i8> undef to <8 x float> 468 ; CHECK: cost of 4 {{.*}} uitofp 469 %r214 = uitofp <8 x i16> undef to <8 x float> 470 ; CHECK: cost of 4 {{.*}} sitofp 471 %r215 = sitofp <8 x i16> undef to <8 x float> 472 ; CHECK: cost of 2 {{.*}} uitofp 473 %r216 = uitofp <8 x i32> undef to <8 x float> 474 ; CHECK: cost of 2 {{.*}} sitofp 475 %r217 = sitofp <8 x i32> undef to <8 x float> 476 ; CHECK: cost of 96 {{.*}} uitofp 477 %r218 = uitofp <8 x i64> undef to <8 x float> 478 ; CHECK: cost of 96 {{.*}} sitofp 479 %r219 = sitofp <8 x i64> undef to <8 x float> 480 481 ; CHECK: cost of 32 {{.*}} uitofp 482 %r220 = uitofp <8 x i1> undef to <8 x double> 483 ; CHECK: cost of 32 {{.*}} sitofp 484 %r221 = sitofp <8 x i1> undef to <8 x double> 485 ; CHECK: cost of 32 {{.*}} uitofp 486 %r222 = uitofp <8 x i8> undef to <8 x double> 487 ; CHECK: cost of 32 {{.*}} sitofp 488 %r223 = sitofp <8 x i8> undef to <8 x double> 489 ; CHECK: cost of 32 {{.*}} uitofp 490 %r224 = uitofp <8 x i16> undef to <8 x double> 491 ; CHECK: cost of 32 {{.*}} sitofp 492 %r225 = sitofp <8 x i16> undef to <8 x double> 493 ; CHECK: cost of 32 {{.*}} uitofp 494 %r226 = uitofp <8 x i16> undef to <8 x double> 495 ; CHECK: cost of 32 {{.*}} sitofp 496 %r227 = sitofp <8 x i16> undef to <8 x double> 497 ; CHECK: cost of 96 {{.*}} uitofp 498 %r228 = uitofp <8 x i64> undef to <8 x double> 499 ; CHECK: cost of 96 {{.*}} sitofp 500 %r229 = sitofp <8 x i64> undef to <8 x double> 501 502 ; CHECK: cost of 64 {{.*}} uitofp 503 %r230 = uitofp <16 x i1> undef to <16 x float> 504 ; CHECK: cost of 64 {{.*}} sitofp 505 %r231 = sitofp <16 x i1> undef to <16 x float> 506 ; CHECK: cost of 64 {{.*}} uitofp 507 %r232 = uitofp <16 x i8> undef to <16 x float> 508 ; CHECK: cost of 64 {{.*}} sitofp 509 %r233 = sitofp <16 x i8> undef to <16 x float> 510 ; CHECK: cost of 8 {{.*}} uitofp 511 %r234 = uitofp <16 x i16> undef to <16 x float> 512 ; CHECK: cost of 8 {{.*}} sitofp 513 %r235 = sitofp <16 x i16> undef to <16 x float> 514 ; CHECK: cost of 4 {{.*}} uitofp 515 %r236 = uitofp <16 x i32> undef to <16 x float> 516 ; CHECK: cost of 4 {{.*}} sitofp 517 %r237 = sitofp <16 x i32> undef to <16 x float> 518 ; CHECK: cost of 192 {{.*}} uitofp 519 %r238 = uitofp <16 x i64> undef to <16 x float> 520 ; CHECK: cost of 192 {{.*}} sitofp 521 %r239 = sitofp <16 x i64> undef to <16 x float> 522 523 ; CHECK: cost of 64 {{.*}} uitofp 524 %r240 = uitofp <16 x i1> undef to <16 x double> 525 ; CHECK: cost of 64 {{.*}} sitofp 526 %r241 = sitofp <16 x i1> undef to <16 x double> 527 ; CHECK: cost of 64 {{.*}} uitofp 528 %r242 = uitofp <16 x i8> undef to <16 x double> 529 ; CHECK: cost of 64 {{.*}} sitofp 530 %r243 = sitofp <16 x i8> undef to <16 x double> 531 ; C4ECK: cost of 64 {{.*}} uitofp 532 %r244 = uitofp <16 x i16> undef to <16 x double> 533 ; CHECK: cost of 64 {{.*}} sitofp 534 %r245 = sitofp <16 x i16> undef to <16 x double> 535 ; CHECK: cost of 64 {{.*}} uitofp 536 %r246 = uitofp <16 x i16> undef to <16 x double> 537 ; CHECK: cost of 64 {{.*}} sitofp 538 %r247 = sitofp <16 x i16> undef to <16 x double> 539 ; CHECK: cost of 192 {{.*}} uitofp 540 %r248 = uitofp <16 x i64> undef to <16 x double> 541 ; CHECK: cost of 192 {{.*}} sitofp 542 %r249 = sitofp <16 x i64> undef to <16 x double> 543 544 ;CHECK: cost of 0 {{.*}} ret 545 ret i32 undef 546 } 547 548