Home | History | Annotate | Download | only in SystemZ
      1 ; RUN: opt < %s -cost-model -analyze -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s
      2 ;
      3 ; Note: The scalarized vector instructions costs are not including any
      4 ; extracts, due to the undef operands.
      5 
      6 define void @fpext() {
      7   %v0 = fpext double undef to fp128
      8   %v1 = fpext float undef to fp128
      9   %v2 = fpext float undef to double
     10   %v3 = fpext <2 x double> undef to <2 x fp128>
     11   %v4 = fpext <2 x float> undef to <2 x fp128>
     12   %v5 = fpext <2 x float> undef to <2 x double>
     13   %v6 = fpext <4 x double> undef to <4 x fp128>
     14   %v7 = fpext <4 x float> undef to <4 x fp128>
     15   %v8 = fpext <4 x float> undef to <4 x double>
     16   %v9 = fpext <8 x double> undef to <8 x fp128>
     17   %v10 = fpext <8 x float> undef to <8 x fp128>
     18   %v11 = fpext <8 x float> undef to <8 x double>
     19   %v12 = fpext <16 x float> undef to <16 x double>
     20 
     21 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v0 = fpext double undef to fp128
     22 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v1 = fpext float undef to fp128
     23 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v2 = fpext float undef to double
     24 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v3 = fpext <2 x double> undef to <2 x fp128>
     25 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v4 = fpext <2 x float> undef to <2 x fp128>
     26 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v5 = fpext <2 x float> undef to <2 x double>
     27 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v6 = fpext <4 x double> undef to <4 x fp128>
     28 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v7 = fpext <4 x float> undef to <4 x fp128>
     29 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v8 = fpext <4 x float> undef to <4 x double>
     30 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v9 = fpext <8 x double> undef to <8 x fp128>
     31 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v10 = fpext <8 x float> undef to <8 x fp128>
     32 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v11 = fpext <8 x float> undef to <8 x double>
     33 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v12 = fpext <16 x float> undef to <16 x double>
     34 
     35   ret void;
     36 }
     37 
     38 define void @fptosi() {
     39   %v0 = fptosi fp128 undef to i64
     40   %v1 = fptosi fp128 undef to i32
     41   %v2 = fptosi fp128 undef to i16
     42   %v3 = fptosi fp128 undef to i8
     43   %v4 = fptosi double undef to i64
     44   %v5 = fptosi double undef to i32
     45   %v6 = fptosi double undef to i16
     46   %v7 = fptosi double undef to i8
     47   %v8 = fptosi float undef to i64
     48   %v9 = fptosi float undef to i32
     49   %v10 = fptosi float undef to i16
     50   %v11 = fptosi float undef to i8
     51   %v12 = fptosi <2 x fp128> undef to <2 x i64>
     52   %v13 = fptosi <2 x fp128> undef to <2 x i32>
     53   %v14 = fptosi <2 x fp128> undef to <2 x i16>
     54   %v15 = fptosi <2 x fp128> undef to <2 x i8>
     55   %v16 = fptosi <2 x double> undef to <2 x i64>
     56   %v17 = fptosi <2 x double> undef to <2 x i32>
     57   %v18 = fptosi <2 x double> undef to <2 x i16>
     58   %v19 = fptosi <2 x double> undef to <2 x i8>
     59   %v20 = fptosi <2 x float> undef to <2 x i64>
     60   %v21 = fptosi <2 x float> undef to <2 x i32>
     61   %v22 = fptosi <2 x float> undef to <2 x i16>
     62   %v23 = fptosi <2 x float> undef to <2 x i8>
     63   %v24 = fptosi <4 x fp128> undef to <4 x i64>
     64   %v25 = fptosi <4 x fp128> undef to <4 x i32>
     65   %v26 = fptosi <4 x fp128> undef to <4 x i16>
     66   %v27 = fptosi <4 x fp128> undef to <4 x i8>
     67   %v28 = fptosi <4 x double> undef to <4 x i64>
     68   %v29 = fptosi <4 x double> undef to <4 x i32>
     69   %v30 = fptosi <4 x double> undef to <4 x i16>
     70   %v31 = fptosi <4 x double> undef to <4 x i8>
     71   %v32 = fptosi <4 x float> undef to <4 x i64>
     72   %v33 = fptosi <4 x float> undef to <4 x i32>
     73   %v34 = fptosi <4 x float> undef to <4 x i16>
     74   %v35 = fptosi <4 x float> undef to <4 x i8>
     75   %v36 = fptosi <8 x fp128> undef to <8 x i64>
     76   %v37 = fptosi <8 x fp128> undef to <8 x i32>
     77   %v38 = fptosi <8 x fp128> undef to <8 x i16>
     78   %v39 = fptosi <8 x fp128> undef to <8 x i8>
     79   %v40 = fptosi <8 x double> undef to <8 x i64>
     80   %v41 = fptosi <8 x double> undef to <8 x i32>
     81   %v42 = fptosi <8 x double> undef to <8 x i16>
     82   %v43 = fptosi <8 x double> undef to <8 x i8>
     83   %v44 = fptosi <8 x float> undef to <8 x i64>
     84   %v45 = fptosi <8 x float> undef to <8 x i32>
     85   %v46 = fptosi <8 x float> undef to <8 x i16>
     86   %v47 = fptosi <8 x float> undef to <8 x i8>
     87   %v48 = fptosi <16 x double> undef to <16 x i64>
     88   %v49 = fptosi <16 x double> undef to <16 x i32>
     89   %v50 = fptosi <16 x double> undef to <16 x i16>
     90   %v51 = fptosi <16 x double> undef to <16 x i8>
     91   %v52 = fptosi <16 x float> undef to <16 x i64>
     92   %v53 = fptosi <16 x float> undef to <16 x i32>
     93   %v54 = fptosi <16 x float> undef to <16 x i16>
     94   %v55 = fptosi <16 x float> undef to <16 x i8>
     95 
     96 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v0 = fptosi fp128 undef to i64
     97 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v1 = fptosi fp128 undef to i32
     98 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v2 = fptosi fp128 undef to i16
     99 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v3 = fptosi fp128 undef to i8
    100 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v4 = fptosi double undef to i64
    101 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v5 = fptosi double undef to i32
    102 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v6 = fptosi double undef to i16
    103 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v7 = fptosi double undef to i8
    104 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v8 = fptosi float undef to i64
    105 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v9 = fptosi float undef to i32
    106 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v10 = fptosi float undef to i16
    107 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v11 = fptosi float undef to i8
    108 ; CHECK: Cost Model: Found an estimated cost of 3 for instruction:   %v12 = fptosi <2 x fp128> undef to <2 x i64>
    109 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v13 = fptosi <2 x fp128> undef to <2 x i32>
    110 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v14 = fptosi <2 x fp128> undef to <2 x i16>
    111 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v15 = fptosi <2 x fp128> undef to <2 x i8>
    112 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v16 = fptosi <2 x double> undef to <2 x i64>
    113 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v17 = fptosi <2 x double> undef to <2 x i32>
    114 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v18 = fptosi <2 x double> undef to <2 x i16>
    115 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v19 = fptosi <2 x double> undef to <2 x i8>
    116 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v20 = fptosi <2 x float> undef to <2 x i64>
    117 ; CHECK: Cost Model: Found an estimated cost of 14 for instruction:   %v21 = fptosi <2 x float> undef to <2 x i32>
    118 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v22 = fptosi <2 x float> undef to <2 x i16>
    119 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v23 = fptosi <2 x float> undef to <2 x i8>
    120 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v24 = fptosi <4 x fp128> undef to <4 x i64>
    121 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v25 = fptosi <4 x fp128> undef to <4 x i32>
    122 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v26 = fptosi <4 x fp128> undef to <4 x i16>
    123 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v27 = fptosi <4 x fp128> undef to <4 x i8>
    124 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v28 = fptosi <4 x double> undef to <4 x i64>
    125 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v29 = fptosi <4 x double> undef to <4 x i32>
    126 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v30 = fptosi <4 x double> undef to <4 x i16>
    127 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v31 = fptosi <4 x double> undef to <4 x i8>
    128 ; CHECK: Cost Model: Found an estimated cost of 11 for instruction:   %v32 = fptosi <4 x float> undef to <4 x i64>
    129 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v33 = fptosi <4 x float> undef to <4 x i32>
    130 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v34 = fptosi <4 x float> undef to <4 x i16>
    131 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v35 = fptosi <4 x float> undef to <4 x i8>
    132 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v36 = fptosi <8 x fp128> undef to <8 x i64>
    133 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v37 = fptosi <8 x fp128> undef to <8 x i32>
    134 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v38 = fptosi <8 x fp128> undef to <8 x i16>
    135 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v39 = fptosi <8 x fp128> undef to <8 x i8>
    136 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v40 = fptosi <8 x double> undef to <8 x i64>
    137 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v41 = fptosi <8 x double> undef to <8 x i32>
    138 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v42 = fptosi <8 x double> undef to <8 x i16>
    139 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v43 = fptosi <8 x double> undef to <8 x i8>
    140 ; CHECK: Cost Model: Found an estimated cost of 21 for instruction:   %v44 = fptosi <8 x float> undef to <8 x i64>
    141 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v45 = fptosi <8 x float> undef to <8 x i32>
    142 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v46 = fptosi <8 x float> undef to <8 x i16>
    143 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v47 = fptosi <8 x float> undef to <8 x i8>
    144 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v48 = fptosi <16 x double> undef to <16 x i64>
    145 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v49 = fptosi <16 x double> undef to <16 x i32>
    146 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v50 = fptosi <16 x double> undef to <16 x i16>
    147 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v51 = fptosi <16 x double> undef to <16 x i8>
    148 ; CHECK: Cost Model: Found an estimated cost of 41 for instruction:   %v52 = fptosi <16 x float> undef to <16 x i64>
    149 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v53 = fptosi <16 x float> undef to <16 x i32>
    150 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v54 = fptosi <16 x float> undef to <16 x i16>
    151 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v55 = fptosi <16 x float> undef to <16 x i8>
    152 
    153   ret void;
    154 }
    155 
    156 
    157 define void @fptoui() {
    158   %v0 = fptoui fp128 undef to i64
    159   %v1 = fptoui fp128 undef to i32
    160   %v2 = fptoui fp128 undef to i16
    161   %v3 = fptoui fp128 undef to i8
    162   %v4 = fptoui double undef to i64
    163   %v5 = fptoui double undef to i32
    164   %v6 = fptoui double undef to i16
    165   %v7 = fptoui double undef to i8
    166   %v8 = fptoui float undef to i64
    167   %v9 = fptoui float undef to i32
    168   %v10 = fptoui float undef to i16
    169   %v11 = fptoui float undef to i8
    170   %v12 = fptoui <2 x fp128> undef to <2 x i64>
    171   %v13 = fptoui <2 x fp128> undef to <2 x i32>
    172   %v14 = fptoui <2 x fp128> undef to <2 x i16>
    173   %v15 = fptoui <2 x fp128> undef to <2 x i8>
    174   %v16 = fptoui <2 x double> undef to <2 x i64>
    175   %v17 = fptoui <2 x double> undef to <2 x i32>
    176   %v18 = fptoui <2 x double> undef to <2 x i16>
    177   %v19 = fptoui <2 x double> undef to <2 x i8>
    178   %v20 = fptoui <2 x float> undef to <2 x i64>
    179   %v21 = fptoui <2 x float> undef to <2 x i32>
    180   %v22 = fptoui <2 x float> undef to <2 x i16>
    181   %v23 = fptoui <2 x float> undef to <2 x i8>
    182   %v24 = fptoui <4 x fp128> undef to <4 x i64>
    183   %v25 = fptoui <4 x fp128> undef to <4 x i32>
    184   %v26 = fptoui <4 x fp128> undef to <4 x i16>
    185   %v27 = fptoui <4 x fp128> undef to <4 x i8>
    186   %v28 = fptoui <4 x double> undef to <4 x i64>
    187   %v29 = fptoui <4 x double> undef to <4 x i32>
    188   %v30 = fptoui <4 x double> undef to <4 x i16>
    189   %v31 = fptoui <4 x double> undef to <4 x i8>
    190   %v32 = fptoui <4 x float> undef to <4 x i64>
    191   %v33 = fptoui <4 x float> undef to <4 x i32>
    192   %v34 = fptoui <4 x float> undef to <4 x i16>
    193   %v35 = fptoui <4 x float> undef to <4 x i8>
    194   %v36 = fptoui <8 x fp128> undef to <8 x i64>
    195   %v37 = fptoui <8 x fp128> undef to <8 x i32>
    196   %v38 = fptoui <8 x fp128> undef to <8 x i16>
    197   %v39 = fptoui <8 x fp128> undef to <8 x i8>
    198   %v40 = fptoui <8 x double> undef to <8 x i64>
    199   %v41 = fptoui <8 x double> undef to <8 x i32>
    200   %v42 = fptoui <8 x double> undef to <8 x i16>
    201   %v43 = fptoui <8 x double> undef to <8 x i8>
    202   %v44 = fptoui <8 x float> undef to <8 x i64>
    203   %v45 = fptoui <8 x float> undef to <8 x i32>
    204   %v46 = fptoui <8 x float> undef to <8 x i16>
    205   %v47 = fptoui <8 x float> undef to <8 x i8>
    206   %v48 = fptoui <16 x double> undef to <16 x i64>
    207   %v49 = fptoui <16 x double> undef to <16 x i32>
    208   %v50 = fptoui <16 x double> undef to <16 x i16>
    209   %v51 = fptoui <16 x double> undef to <16 x i8>
    210   %v52 = fptoui <16 x float> undef to <16 x i64>
    211   %v53 = fptoui <16 x float> undef to <16 x i32>
    212   %v54 = fptoui <16 x float> undef to <16 x i16>
    213   %v55 = fptoui <16 x float> undef to <16 x i8>
    214 
    215 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v0 = fptoui fp128 undef to i64
    216 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v1 = fptoui fp128 undef to i32
    217 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v2 = fptoui fp128 undef to i16
    218 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v3 = fptoui fp128 undef to i8
    219 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v4 = fptoui double undef to i64
    220 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v5 = fptoui double undef to i32
    221 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v6 = fptoui double undef to i16
    222 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v7 = fptoui double undef to i8
    223 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v8 = fptoui float undef to i64
    224 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v9 = fptoui float undef to i32
    225 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v10 = fptoui float undef to i16
    226 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v11 = fptoui float undef to i8
    227 ; CHECK: Cost Model: Found an estimated cost of 3 for instruction:   %v12 = fptoui <2 x fp128> undef to <2 x i64>
    228 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v13 = fptoui <2 x fp128> undef to <2 x i32>
    229 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v14 = fptoui <2 x fp128> undef to <2 x i16>
    230 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v15 = fptoui <2 x fp128> undef to <2 x i8>
    231 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v16 = fptoui <2 x double> undef to <2 x i64>
    232 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v17 = fptoui <2 x double> undef to <2 x i32>
    233 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v18 = fptoui <2 x double> undef to <2 x i16>
    234 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v19 = fptoui <2 x double> undef to <2 x i8>
    235 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v20 = fptoui <2 x float> undef to <2 x i64>
    236 ; CHECK: Cost Model: Found an estimated cost of 14 for instruction:   %v21 = fptoui <2 x float> undef to <2 x i32>
    237 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v22 = fptoui <2 x float> undef to <2 x i16>
    238 ; CHECK: Cost Model: Found an estimated cost of 7 for instruction:   %v23 = fptoui <2 x float> undef to <2 x i8>
    239 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v24 = fptoui <4 x fp128> undef to <4 x i64>
    240 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v25 = fptoui <4 x fp128> undef to <4 x i32>
    241 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v26 = fptoui <4 x fp128> undef to <4 x i16>
    242 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v27 = fptoui <4 x fp128> undef to <4 x i8>
    243 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v28 = fptoui <4 x double> undef to <4 x i64>
    244 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v29 = fptoui <4 x double> undef to <4 x i32>
    245 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v30 = fptoui <4 x double> undef to <4 x i16>
    246 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v31 = fptoui <4 x double> undef to <4 x i8>
    247 ; CHECK: Cost Model: Found an estimated cost of 11 for instruction:   %v32 = fptoui <4 x float> undef to <4 x i64>
    248 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v33 = fptoui <4 x float> undef to <4 x i32>
    249 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v34 = fptoui <4 x float> undef to <4 x i16>
    250 ; CHECK: Cost Model: Found an estimated cost of 13 for instruction:   %v35 = fptoui <4 x float> undef to <4 x i8>
    251 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v36 = fptoui <8 x fp128> undef to <8 x i64>
    252 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v37 = fptoui <8 x fp128> undef to <8 x i32>
    253 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v38 = fptoui <8 x fp128> undef to <8 x i16>
    254 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v39 = fptoui <8 x fp128> undef to <8 x i8>
    255 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v40 = fptoui <8 x double> undef to <8 x i64>
    256 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v41 = fptoui <8 x double> undef to <8 x i32>
    257 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v42 = fptoui <8 x double> undef to <8 x i16>
    258 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v43 = fptoui <8 x double> undef to <8 x i8>
    259 ; CHECK: Cost Model: Found an estimated cost of 21 for instruction:   %v44 = fptoui <8 x float> undef to <8 x i64>
    260 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v45 = fptoui <8 x float> undef to <8 x i32>
    261 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v46 = fptoui <8 x float> undef to <8 x i16>
    262 ; CHECK: Cost Model: Found an estimated cost of 25 for instruction:   %v47 = fptoui <8 x float> undef to <8 x i8>
    263 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v48 = fptoui <16 x double> undef to <16 x i64>
    264 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v49 = fptoui <16 x double> undef to <16 x i32>
    265 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v50 = fptoui <16 x double> undef to <16 x i16>
    266 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v51 = fptoui <16 x double> undef to <16 x i8>
    267 ; CHECK: Cost Model: Found an estimated cost of 41 for instruction:   %v52 = fptoui <16 x float> undef to <16 x i64>
    268 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v53 = fptoui <16 x float> undef to <16 x i32>
    269 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v54 = fptoui <16 x float> undef to <16 x i16>
    270 ; CHECK: Cost Model: Found an estimated cost of 49 for instruction:   %v55 = fptoui <16 x float> undef to <16 x i8>
    271 
    272   ret void;
    273 }
    274 
    275 define void @fptrunc() {
    276   %v0 = fptrunc fp128 undef to double
    277   %v1 = fptrunc fp128 undef to float
    278   %v2 = fptrunc double undef to float
    279   %v3 = fptrunc <2 x fp128> undef to <2 x double>
    280   %v4 = fptrunc <2 x fp128> undef to <2 x float>
    281   %v5 = fptrunc <2 x double> undef to <2 x float>
    282   %v6 = fptrunc <4 x fp128> undef to <4 x double>
    283   %v7 = fptrunc <4 x fp128> undef to <4 x float>
    284   %v8 = fptrunc <4 x double> undef to <4 x float>
    285   %v9 = fptrunc <8 x fp128> undef to <8 x double>
    286   %v10 = fptrunc <8 x fp128> undef to <8 x float>
    287   %v11 = fptrunc <8 x double> undef to <8 x float>
    288   %v12 = fptrunc <16 x double> undef to <16 x float>
    289 
    290 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v0 = fptrunc fp128 undef to double
    291 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v1 = fptrunc fp128 undef to float
    292 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v2 = fptrunc double undef to float
    293 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v3 = fptrunc <2 x fp128> undef to <2 x double>
    294 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v4 = fptrunc <2 x fp128> undef to <2 x float>
    295 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v5 = fptrunc <2 x double> undef to <2 x float>
    296 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v6 = fptrunc <4 x fp128> undef to <4 x double>
    297 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v7 = fptrunc <4 x fp128> undef to <4 x float>
    298 ; CHECK: Cost Model: Found an estimated cost of 3 for instruction:   %v8 = fptrunc <4 x double> undef to <4 x float>
    299 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v9 = fptrunc <8 x fp128> undef to <8 x double>
    300 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v10 = fptrunc <8 x fp128> undef to <8 x float>
    301 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v11 = fptrunc <8 x double> undef to <8 x float>
    302 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v12 = fptrunc <16 x double> undef to <16 x float>
    303 
    304   ret void;
    305 }
    306 
    307 define void @sitofp() {
    308   %v0 = sitofp i64 undef to fp128
    309   %v1 = sitofp i64 undef to double
    310   %v2 = sitofp i64 undef to float
    311   %v3 = sitofp i32 undef to fp128
    312   %v4 = sitofp i32 undef to double
    313   %v5 = sitofp i32 undef to float
    314   %v6 = sitofp i16 undef to fp128
    315   %v7 = sitofp i16 undef to double
    316   %v8 = sitofp i16 undef to float
    317   %v9 = sitofp i8 undef to fp128
    318   %v10 = sitofp i8 undef to double
    319   %v11 = sitofp i8 undef to float
    320   %v12 = sitofp <2 x i64> undef to <2 x fp128>
    321   %v13 = sitofp <2 x i64> undef to <2 x double>
    322   %v14 = sitofp <2 x i64> undef to <2 x float>
    323   %v15 = sitofp <2 x i32> undef to <2 x fp128>
    324   %v16 = sitofp <2 x i32> undef to <2 x double>
    325   %v17 = sitofp <2 x i32> undef to <2 x float>
    326   %v18 = sitofp <2 x i16> undef to <2 x fp128>
    327   %v19 = sitofp <2 x i16> undef to <2 x double>
    328   %v20 = sitofp <2 x i16> undef to <2 x float>
    329   %v21 = sitofp <2 x i8> undef to <2 x fp128>
    330   %v22 = sitofp <2 x i8> undef to <2 x double>
    331   %v23 = sitofp <2 x i8> undef to <2 x float>
    332   %v24 = sitofp <4 x i64> undef to <4 x fp128>
    333   %v25 = sitofp <4 x i64> undef to <4 x double>
    334   %v26 = sitofp <4 x i64> undef to <4 x float>
    335   %v27 = sitofp <4 x i32> undef to <4 x fp128>
    336   %v28 = sitofp <4 x i32> undef to <4 x double>
    337   %v29 = sitofp <4 x i32> undef to <4 x float>
    338   %v30 = sitofp <4 x i16> undef to <4 x fp128>
    339   %v31 = sitofp <4 x i16> undef to <4 x double>
    340   %v32 = sitofp <4 x i16> undef to <4 x float>
    341   %v33 = sitofp <4 x i8> undef to <4 x fp128>
    342   %v34 = sitofp <4 x i8> undef to <4 x double>
    343   %v35 = sitofp <4 x i8> undef to <4 x float>
    344   %v36 = sitofp <8 x i64> undef to <8 x fp128>
    345   %v37 = sitofp <8 x i64> undef to <8 x double>
    346   %v38 = sitofp <8 x i64> undef to <8 x float>
    347   %v39 = sitofp <8 x i32> undef to <8 x fp128>
    348   %v40 = sitofp <8 x i32> undef to <8 x double>
    349   %v41 = sitofp <8 x i32> undef to <8 x float>
    350   %v42 = sitofp <8 x i16> undef to <8 x fp128>
    351   %v43 = sitofp <8 x i16> undef to <8 x double>
    352   %v44 = sitofp <8 x i16> undef to <8 x float>
    353   %v45 = sitofp <8 x i8> undef to <8 x fp128>
    354   %v46 = sitofp <8 x i8> undef to <8 x double>
    355   %v47 = sitofp <8 x i8> undef to <8 x float>
    356   %v48 = sitofp <16 x i64> undef to <16 x double>
    357   %v49 = sitofp <16 x i64> undef to <16 x float>
    358   %v50 = sitofp <16 x i32> undef to <16 x double>
    359   %v51 = sitofp <16 x i32> undef to <16 x float>
    360   %v52 = sitofp <16 x i16> undef to <16 x double>
    361   %v53 = sitofp <16 x i16> undef to <16 x float>
    362   %v54 = sitofp <16 x i8> undef to <16 x double>
    363   %v55 = sitofp <16 x i8> undef to <16 x float>
    364 
    365 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v0 = sitofp i64 undef to fp128
    366 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v1 = sitofp i64 undef to double
    367 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v2 = sitofp i64 undef to float
    368 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v3 = sitofp i32 undef to fp128
    369 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v4 = sitofp i32 undef to double
    370 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v5 = sitofp i32 undef to float
    371 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v6 = sitofp i16 undef to fp128
    372 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v7 = sitofp i16 undef to double
    373 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v8 = sitofp i16 undef to float
    374 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v9 = sitofp i8 undef to fp128
    375 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v10 = sitofp i8 undef to double
    376 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v11 = sitofp i8 undef to float
    377 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v12 = sitofp <2 x i64> undef to <2 x fp128>
    378 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v13 = sitofp <2 x i64> undef to <2 x double>
    379 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v14 = sitofp <2 x i64> undef to <2 x float>
    380 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v15 = sitofp <2 x i32> undef to <2 x fp128>
    381 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v16 = sitofp <2 x i32> undef to <2 x double>
    382 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v17 = sitofp <2 x i32> undef to <2 x float>
    383 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v18 = sitofp <2 x i16> undef to <2 x fp128>
    384 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v19 = sitofp <2 x i16> undef to <2 x double>
    385 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v20 = sitofp <2 x i16> undef to <2 x float>
    386 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v21 = sitofp <2 x i8> undef to <2 x fp128>
    387 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v22 = sitofp <2 x i8> undef to <2 x double>
    388 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v23 = sitofp <2 x i8> undef to <2 x float>
    389 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v24 = sitofp <4 x i64> undef to <4 x fp128>
    390 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v25 = sitofp <4 x i64> undef to <4 x double>
    391 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v26 = sitofp <4 x i64> undef to <4 x float>
    392 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v27 = sitofp <4 x i32> undef to <4 x fp128>
    393 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v28 = sitofp <4 x i32> undef to <4 x double>
    394 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v29 = sitofp <4 x i32> undef to <4 x float>
    395 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v30 = sitofp <4 x i16> undef to <4 x fp128>
    396 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v31 = sitofp <4 x i16> undef to <4 x double>
    397 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v32 = sitofp <4 x i16> undef to <4 x float>
    398 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v33 = sitofp <4 x i8> undef to <4 x fp128>
    399 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v34 = sitofp <4 x i8> undef to <4 x double>
    400 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v35 = sitofp <4 x i8> undef to <4 x float>
    401 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v36 = sitofp <8 x i64> undef to <8 x fp128>
    402 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v37 = sitofp <8 x i64> undef to <8 x double>
    403 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v38 = sitofp <8 x i64> undef to <8 x float>
    404 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v39 = sitofp <8 x i32> undef to <8 x fp128>
    405 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v40 = sitofp <8 x i32> undef to <8 x double>
    406 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v41 = sitofp <8 x i32> undef to <8 x float>
    407 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v42 = sitofp <8 x i16> undef to <8 x fp128>
    408 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v43 = sitofp <8 x i16> undef to <8 x double>
    409 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v44 = sitofp <8 x i16> undef to <8 x float>
    410 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v45 = sitofp <8 x i8> undef to <8 x fp128>
    411 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v46 = sitofp <8 x i8> undef to <8 x double>
    412 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v47 = sitofp <8 x i8> undef to <8 x float>
    413 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v48 = sitofp <16 x i64> undef to <16 x double>
    414 ; CHECK: Cost Model: Found an estimated cost of 48 for instruction:   %v49 = sitofp <16 x i64> undef to <16 x float>
    415 ; CHECK: Cost Model: Found an estimated cost of 48 for instruction:   %v50 = sitofp <16 x i32> undef to <16 x double>
    416 ; CHECK: Cost Model: Found an estimated cost of 48 for instruction:   %v51 = sitofp <16 x i32> undef to <16 x float>
    417 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v52 = sitofp <16 x i16> undef to <16 x double>
    418 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v53 = sitofp <16 x i16> undef to <16 x float>
    419 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v54 = sitofp <16 x i8> undef to <16 x double>
    420 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v55 = sitofp <16 x i8> undef to <16 x float>
    421 
    422   ret void;
    423 }
    424 
    425 define void @uitofp() {
    426   %v0 = uitofp i64 undef to fp128
    427   %v1 = uitofp i64 undef to double
    428   %v2 = uitofp i64 undef to float
    429   %v3 = uitofp i32 undef to fp128
    430   %v4 = uitofp i32 undef to double
    431   %v5 = uitofp i32 undef to float
    432   %v6 = uitofp i16 undef to fp128
    433   %v7 = uitofp i16 undef to double
    434   %v8 = uitofp i16 undef to float
    435   %v9 = uitofp i8 undef to fp128
    436   %v10 = uitofp i8 undef to double
    437   %v11 = uitofp i8 undef to float
    438   %v12 = uitofp <2 x i64> undef to <2 x fp128>
    439   %v13 = uitofp <2 x i64> undef to <2 x double>
    440   %v14 = uitofp <2 x i64> undef to <2 x float>
    441   %v15 = uitofp <2 x i32> undef to <2 x fp128>
    442   %v16 = uitofp <2 x i32> undef to <2 x double>
    443   %v17 = uitofp <2 x i32> undef to <2 x float>
    444   %v18 = uitofp <2 x i16> undef to <2 x fp128>
    445   %v19 = uitofp <2 x i16> undef to <2 x double>
    446   %v20 = uitofp <2 x i16> undef to <2 x float>
    447   %v21 = uitofp <2 x i8> undef to <2 x fp128>
    448   %v22 = uitofp <2 x i8> undef to <2 x double>
    449   %v23 = uitofp <2 x i8> undef to <2 x float>
    450   %v24 = uitofp <4 x i64> undef to <4 x fp128>
    451   %v25 = uitofp <4 x i64> undef to <4 x double>
    452   %v26 = uitofp <4 x i64> undef to <4 x float>
    453   %v27 = uitofp <4 x i32> undef to <4 x fp128>
    454   %v28 = uitofp <4 x i32> undef to <4 x double>
    455   %v29 = uitofp <4 x i32> undef to <4 x float>
    456   %v30 = uitofp <4 x i16> undef to <4 x fp128>
    457   %v31 = uitofp <4 x i16> undef to <4 x double>
    458   %v32 = uitofp <4 x i16> undef to <4 x float>
    459   %v33 = uitofp <4 x i8> undef to <4 x fp128>
    460   %v34 = uitofp <4 x i8> undef to <4 x double>
    461   %v35 = uitofp <4 x i8> undef to <4 x float>
    462   %v36 = uitofp <8 x i64> undef to <8 x fp128>
    463   %v37 = uitofp <8 x i64> undef to <8 x double>
    464   %v38 = uitofp <8 x i64> undef to <8 x float>
    465   %v39 = uitofp <8 x i32> undef to <8 x fp128>
    466   %v40 = uitofp <8 x i32> undef to <8 x double>
    467   %v41 = uitofp <8 x i32> undef to <8 x float>
    468   %v42 = uitofp <8 x i16> undef to <8 x fp128>
    469   %v43 = uitofp <8 x i16> undef to <8 x double>
    470   %v44 = uitofp <8 x i16> undef to <8 x float>
    471   %v45 = uitofp <8 x i8> undef to <8 x fp128>
    472   %v46 = uitofp <8 x i8> undef to <8 x double>
    473   %v47 = uitofp <8 x i8> undef to <8 x float>
    474   %v48 = uitofp <16 x i64> undef to <16 x double>
    475   %v49 = uitofp <16 x i64> undef to <16 x float>
    476   %v50 = uitofp <16 x i32> undef to <16 x double>
    477   %v51 = uitofp <16 x i32> undef to <16 x float>
    478   %v52 = uitofp <16 x i16> undef to <16 x double>
    479   %v53 = uitofp <16 x i16> undef to <16 x float>
    480   %v54 = uitofp <16 x i8> undef to <16 x double>
    481   %v55 = uitofp <16 x i8> undef to <16 x float>
    482 
    483 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v0 = uitofp i64 undef to fp128
    484 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v1 = uitofp i64 undef to double
    485 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v2 = uitofp i64 undef to float
    486 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v3 = uitofp i32 undef to fp128
    487 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v4 = uitofp i32 undef to double
    488 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v5 = uitofp i32 undef to float
    489 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v6 = uitofp i16 undef to fp128
    490 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v7 = uitofp i16 undef to double
    491 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v8 = uitofp i16 undef to float
    492 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v9 = uitofp i8 undef to fp128
    493 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v10 = uitofp i8 undef to double
    494 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v11 = uitofp i8 undef to float
    495 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v12 = uitofp <2 x i64> undef to <2 x fp128>
    496 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %v13 = uitofp <2 x i64> undef to <2 x double>
    497 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v14 = uitofp <2 x i64> undef to <2 x float>
    498 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v15 = uitofp <2 x i32> undef to <2 x fp128>
    499 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v16 = uitofp <2 x i32> undef to <2 x double>
    500 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v17 = uitofp <2 x i32> undef to <2 x float>
    501 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v18 = uitofp <2 x i16> undef to <2 x fp128>
    502 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v19 = uitofp <2 x i16> undef to <2 x double>
    503 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v20 = uitofp <2 x i16> undef to <2 x float>
    504 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction:   %v21 = uitofp <2 x i8> undef to <2 x fp128>
    505 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v22 = uitofp <2 x i8> undef to <2 x double>
    506 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v23 = uitofp <2 x i8> undef to <2 x float>
    507 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v24 = uitofp <4 x i64> undef to <4 x fp128>
    508 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %v25 = uitofp <4 x i64> undef to <4 x double>
    509 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v26 = uitofp <4 x i64> undef to <4 x float>
    510 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v27 = uitofp <4 x i32> undef to <4 x fp128>
    511 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v28 = uitofp <4 x i32> undef to <4 x double>
    512 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v29 = uitofp <4 x i32> undef to <4 x float>
    513 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v30 = uitofp <4 x i16> undef to <4 x fp128>
    514 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v31 = uitofp <4 x i16> undef to <4 x double>
    515 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v32 = uitofp <4 x i16> undef to <4 x float>
    516 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction:   %v33 = uitofp <4 x i8> undef to <4 x fp128>
    517 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v34 = uitofp <4 x i8> undef to <4 x double>
    518 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v35 = uitofp <4 x i8> undef to <4 x float>
    519 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v36 = uitofp <8 x i64> undef to <8 x fp128>
    520 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %v37 = uitofp <8 x i64> undef to <8 x double>
    521 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v38 = uitofp <8 x i64> undef to <8 x float>
    522 ; CHECK: Cost Model: Found an estimated cost of 16 for instruction:   %v39 = uitofp <8 x i32> undef to <8 x fp128>
    523 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v40 = uitofp <8 x i32> undef to <8 x double>
    524 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v41 = uitofp <8 x i32> undef to <8 x float>
    525 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v42 = uitofp <8 x i16> undef to <8 x fp128>
    526 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v43 = uitofp <8 x i16> undef to <8 x double>
    527 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v44 = uitofp <8 x i16> undef to <8 x float>
    528 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction:   %v45 = uitofp <8 x i8> undef to <8 x fp128>
    529 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v46 = uitofp <8 x i8> undef to <8 x double>
    530 ; CHECK: Cost Model: Found an estimated cost of 32 for instruction:   %v47 = uitofp <8 x i8> undef to <8 x float>
    531 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction:   %v48 = uitofp <16 x i64> undef to <16 x double>
    532 ; CHECK: Cost Model: Found an estimated cost of 48 for instruction:   %v49 = uitofp <16 x i64> undef to <16 x float>
    533 ; CHECK: Cost Model: Found an estimated cost of 48 for instruction:   %v50 = uitofp <16 x i32> undef to <16 x double>
    534 ; CHECK: Cost Model: Found an estimated cost of 48 for instruction:   %v51 = uitofp <16 x i32> undef to <16 x float>
    535 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v52 = uitofp <16 x i16> undef to <16 x double>
    536 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v53 = uitofp <16 x i16> undef to <16 x float>
    537 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v54 = uitofp <16 x i8> undef to <16 x double>
    538 ; CHECK: Cost Model: Found an estimated cost of 64 for instruction:   %v55 = uitofp <16 x i8> undef to <16 x float>
    539 
    540   ret void;
    541 }
    542