1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py 2; RUN: opt -passes="print<cost-model>" -cost-kind=throughput 2>&1 -disable-output -mtriple=aarch64-linux-gnu < %s | FileCheck %s 3 4target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" 5 6define void @i1() { 7; CHECK-LABEL: 'i1' 8; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i1 undef, undef 9; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i1 undef, undef 10; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i1 undef, undef 11; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i1 undef, undef 12; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i1 undef, undef 13; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i1 undef, undef 14; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i1 undef, undef 15; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i1 undef, undef 16; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i1 undef, undef 17; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 18; 19 %c = add i1 undef, undef 20 %d = sub i1 undef, undef 21 %e = mul i1 undef, undef 22 %f = ashr i1 undef, undef 23 %g = lshr i1 undef, undef 24 %h = shl i1 undef, undef 25 %i = and i1 undef, undef 26 %j = or i1 undef, undef 27 %k = xor i1 undef, undef 28 ret void 29} 30 31define void @i8() { 32; CHECK-LABEL: 'i8' 33; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i8 undef, undef 34; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i8 undef, undef 35; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i8 undef, undef 36; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i8 undef, undef 37; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i8 undef, undef 38; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i8 undef, undef 39; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i8 undef, undef 40; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i8 undef, undef 41; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i8 undef, undef 42; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 43; 44 %c = add i8 undef, undef 45 %d = sub i8 undef, undef 46 %e = mul i8 undef, undef 47 %f = ashr i8 undef, undef 48 %g = lshr i8 undef, undef 49 %h = shl i8 undef, undef 50 %i = and i8 undef, undef 51 %j = or i8 undef, undef 52 %k = xor i8 undef, undef 53 ret void 54} 55 56define void @i16() { 57; CHECK-LABEL: 'i16' 58; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i16 undef, undef 59; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i16 undef, undef 60; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i16 undef, undef 61; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i16 undef, undef 62; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i16 undef, undef 63; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i16 undef, undef 64; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i16 undef, undef 65; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i16 undef, undef 66; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i16 undef, undef 67; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 68; 69 %c = add i16 undef, undef 70 %d = sub i16 undef, undef 71 %e = mul i16 undef, undef 72 %f = ashr i16 undef, undef 73 %g = lshr i16 undef, undef 74 %h = shl i16 undef, undef 75 %i = and i16 undef, undef 76 %j = or i16 undef, undef 77 %k = xor i16 undef, undef 78 ret void 79} 80 81define void @i32() { 82; CHECK-LABEL: 'i32' 83; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i32 undef, undef 84; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i32 undef, undef 85; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i32 undef, undef 86; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i32 undef, undef 87; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i32 undef, undef 88; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i32 undef, undef 89; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i32 undef, undef 90; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i32 undef, undef 91; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i32 undef, undef 92; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 93; 94 %c = add i32 undef, undef 95 %d = sub i32 undef, undef 96 %e = mul i32 undef, undef 97 %f = ashr i32 undef, undef 98 %g = lshr i32 undef, undef 99 %h = shl i32 undef, undef 100 %i = and i32 undef, undef 101 %j = or i32 undef, undef 102 %k = xor i32 undef, undef 103 ret void 104} 105 106define void @i64() { 107; CHECK-LABEL: 'i64' 108; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i64 undef, undef 109; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i64 undef, undef 110; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i64 undef, undef 111; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i64 undef, undef 112; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i64 undef, undef 113; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i64 undef, undef 114; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i64 undef, undef 115; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i64 undef, undef 116; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i64 undef, undef 117; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 118; 119 %c = add i64 undef, undef 120 %d = sub i64 undef, undef 121 %e = mul i64 undef, undef 122 %f = ashr i64 undef, undef 123 %g = lshr i64 undef, undef 124 %h = shl i64 undef, undef 125 %i = and i64 undef, undef 126 %j = or i64 undef, undef 127 %k = xor i64 undef, undef 128 ret void 129} 130 131 132define void @vi8() { 133; CHECK-LABEL: 'vi8' 134; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i8> undef, undef 135; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i8> undef, undef 136; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e2 = mul <2 x i8> undef, undef 137; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i8> undef, undef 138; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i8> undef, undef 139; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i8> undef, undef 140; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i8> undef, undef 141; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i8> undef, undef 142; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i8> undef, undef 143; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i8> undef, undef 144; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i8> undef, undef 145; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i8> undef, undef 146; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f4 = ashr <4 x i8> undef, undef 147; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g4 = lshr <4 x i8> undef, undef 148; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h4 = shl <4 x i8> undef, undef 149; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i8> undef, undef 150; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i8> undef, undef 151; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i8> undef, undef 152; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c8 = add <8 x i8> undef, undef 153; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d8 = sub <8 x i8> undef, undef 154; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e8 = mul <8 x i8> undef, undef 155; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f8 = ashr <8 x i8> undef, undef 156; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g8 = lshr <8 x i8> undef, undef 157; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h8 = shl <8 x i8> undef, undef 158; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i8 = and <8 x i8> undef, undef 159; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j8 = or <8 x i8> undef, undef 160; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k8 = xor <8 x i8> undef, undef 161; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c16 = add <16 x i8> undef, undef 162; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d16 = sub <16 x i8> undef, undef 163; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e16 = mul <16 x i8> undef, undef 164; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f16 = ashr <16 x i8> undef, undef 165; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g16 = lshr <16 x i8> undef, undef 166; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h16 = shl <16 x i8> undef, undef 167; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i16 = and <16 x i8> undef, undef 168; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j16 = or <16 x i8> undef, undef 169; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k16 = xor <16 x i8> undef, undef 170; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 171; 172 %c2 = add <2 x i8> undef, undef 173 %d2 = sub <2 x i8> undef, undef 174 %e2 = mul <2 x i8> undef, undef 175 %f2 = ashr <2 x i8> undef, undef 176 %g2 = lshr <2 x i8> undef, undef 177 %h2 = shl <2 x i8> undef, undef 178 %i2 = and <2 x i8> undef, undef 179 %j2 = or <2 x i8> undef, undef 180 %k2 = xor <2 x i8> undef, undef 181 %c4 = add <4 x i8> undef, undef 182 %d4 = sub <4 x i8> undef, undef 183 %e4 = mul <4 x i8> undef, undef 184 %f4 = ashr <4 x i8> undef, undef 185 %g4 = lshr <4 x i8> undef, undef 186 %h4 = shl <4 x i8> undef, undef 187 %i4 = and <4 x i8> undef, undef 188 %j4 = or <4 x i8> undef, undef 189 %k4 = xor <4 x i8> undef, undef 190 %c8 = add <8 x i8> undef, undef 191 %d8 = sub <8 x i8> undef, undef 192 %e8 = mul <8 x i8> undef, undef 193 %f8 = ashr <8 x i8> undef, undef 194 %g8 = lshr <8 x i8> undef, undef 195 %h8 = shl <8 x i8> undef, undef 196 %i8 = and <8 x i8> undef, undef 197 %j8 = or <8 x i8> undef, undef 198 %k8 = xor <8 x i8> undef, undef 199 %c16 = add <16 x i8> undef, undef 200 %d16 = sub <16 x i8> undef, undef 201 %e16 = mul <16 x i8> undef, undef 202 %f16 = ashr <16 x i8> undef, undef 203 %g16 = lshr <16 x i8> undef, undef 204 %h16 = shl <16 x i8> undef, undef 205 %i16 = and <16 x i8> undef, undef 206 %j16 = or <16 x i8> undef, undef 207 %k16 = xor <16 x i8> undef, undef 208 ret void 209} 210 211define void @vi16() { 212; CHECK-LABEL: 'vi16' 213; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i16> undef, undef 214; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i16> undef, undef 215; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e2 = mul <2 x i16> undef, undef 216; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i16> undef, undef 217; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i16> undef, undef 218; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i16> undef, undef 219; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i16> undef, undef 220; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i16> undef, undef 221; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i16> undef, undef 222; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i16> undef, undef 223; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i16> undef, undef 224; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i16> undef, undef 225; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f4 = ashr <4 x i16> undef, undef 226; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g4 = lshr <4 x i16> undef, undef 227; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h4 = shl <4 x i16> undef, undef 228; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i16> undef, undef 229; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i16> undef, undef 230; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i16> undef, undef 231; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c8 = add <8 x i16> undef, undef 232; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d8 = sub <8 x i16> undef, undef 233; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e8 = mul <8 x i16> undef, undef 234; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f8 = ashr <8 x i16> undef, undef 235; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g8 = lshr <8 x i16> undef, undef 236; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h8 = shl <8 x i16> undef, undef 237; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i8 = and <8 x i16> undef, undef 238; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j8 = or <8 x i16> undef, undef 239; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k8 = xor <8 x i16> undef, undef 240; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %c16 = add <16 x i16> undef, undef 241; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %d16 = sub <16 x i16> undef, undef 242; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %e16 = mul <16 x i16> undef, undef 243; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f16 = ashr <16 x i16> undef, undef 244; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g16 = lshr <16 x i16> undef, undef 245; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h16 = shl <16 x i16> undef, undef 246; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %i16 = and <16 x i16> undef, undef 247; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %j16 = or <16 x i16> undef, undef 248; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %k16 = xor <16 x i16> undef, undef 249; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 250; 251 %c2 = add <2 x i16> undef, undef 252 %d2 = sub <2 x i16> undef, undef 253 %e2 = mul <2 x i16> undef, undef 254 %f2 = ashr <2 x i16> undef, undef 255 %g2 = lshr <2 x i16> undef, undef 256 %h2 = shl <2 x i16> undef, undef 257 %i2 = and <2 x i16> undef, undef 258 %j2 = or <2 x i16> undef, undef 259 %k2 = xor <2 x i16> undef, undef 260 %c4 = add <4 x i16> undef, undef 261 %d4 = sub <4 x i16> undef, undef 262 %e4 = mul <4 x i16> undef, undef 263 %f4 = ashr <4 x i16> undef, undef 264 %g4 = lshr <4 x i16> undef, undef 265 %h4 = shl <4 x i16> undef, undef 266 %i4 = and <4 x i16> undef, undef 267 %j4 = or <4 x i16> undef, undef 268 %k4 = xor <4 x i16> undef, undef 269 %c8 = add <8 x i16> undef, undef 270 %d8 = sub <8 x i16> undef, undef 271 %e8 = mul <8 x i16> undef, undef 272 %f8 = ashr <8 x i16> undef, undef 273 %g8 = lshr <8 x i16> undef, undef 274 %h8 = shl <8 x i16> undef, undef 275 %i8 = and <8 x i16> undef, undef 276 %j8 = or <8 x i16> undef, undef 277 %k8 = xor <8 x i16> undef, undef 278 %c16 = add <16 x i16> undef, undef 279 %d16 = sub <16 x i16> undef, undef 280 %e16 = mul <16 x i16> undef, undef 281 %f16 = ashr <16 x i16> undef, undef 282 %g16 = lshr <16 x i16> undef, undef 283 %h16 = shl <16 x i16> undef, undef 284 %i16 = and <16 x i16> undef, undef 285 %j16 = or <16 x i16> undef, undef 286 %k16 = xor <16 x i16> undef, undef 287 ret void 288} 289 290define void @vi32() { 291; CHECK-LABEL: 'vi32' 292; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i32> undef, undef 293; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i32> undef, undef 294; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e2 = mul <2 x i32> undef, undef 295; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i32> undef, undef 296; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i32> undef, undef 297; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i32> undef, undef 298; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i32> undef, undef 299; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i32> undef, undef 300; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i32> undef, undef 301; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i32> undef, undef 302; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i32> undef, undef 303; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i32> undef, undef 304; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f4 = ashr <4 x i32> undef, undef 305; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g4 = lshr <4 x i32> undef, undef 306; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h4 = shl <4 x i32> undef, undef 307; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i32> undef, undef 308; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i32> undef, undef 309; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i32> undef, undef 310; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %c8 = add <8 x i32> undef, undef 311; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %d8 = sub <8 x i32> undef, undef 312; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %e8 = mul <8 x i32> undef, undef 313; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f8 = ashr <8 x i32> undef, undef 314; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g8 = lshr <8 x i32> undef, undef 315; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h8 = shl <8 x i32> undef, undef 316; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %i8 = and <8 x i32> undef, undef 317; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %j8 = or <8 x i32> undef, undef 318; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %k8 = xor <8 x i32> undef, undef 319; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %c16 = add <16 x i32> undef, undef 320; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %d16 = sub <16 x i32> undef, undef 321; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %e16 = mul <16 x i32> undef, undef 322; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %f16 = ashr <16 x i32> undef, undef 323; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %g16 = lshr <16 x i32> undef, undef 324; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %h16 = shl <16 x i32> undef, undef 325; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %i16 = and <16 x i32> undef, undef 326; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %j16 = or <16 x i32> undef, undef 327; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %k16 = xor <16 x i32> undef, undef 328; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 329; 330 %c2 = add <2 x i32> undef, undef 331 %d2 = sub <2 x i32> undef, undef 332 %e2 = mul <2 x i32> undef, undef 333 %f2 = ashr <2 x i32> undef, undef 334 %g2 = lshr <2 x i32> undef, undef 335 %h2 = shl <2 x i32> undef, undef 336 %i2 = and <2 x i32> undef, undef 337 %j2 = or <2 x i32> undef, undef 338 %k2 = xor <2 x i32> undef, undef 339 %c4 = add <4 x i32> undef, undef 340 %d4 = sub <4 x i32> undef, undef 341 %e4 = mul <4 x i32> undef, undef 342 %f4 = ashr <4 x i32> undef, undef 343 %g4 = lshr <4 x i32> undef, undef 344 %h4 = shl <4 x i32> undef, undef 345 %i4 = and <4 x i32> undef, undef 346 %j4 = or <4 x i32> undef, undef 347 %k4 = xor <4 x i32> undef, undef 348 %c8 = add <8 x i32> undef, undef 349 %d8 = sub <8 x i32> undef, undef 350 %e8 = mul <8 x i32> undef, undef 351 %f8 = ashr <8 x i32> undef, undef 352 %g8 = lshr <8 x i32> undef, undef 353 %h8 = shl <8 x i32> undef, undef 354 %i8 = and <8 x i32> undef, undef 355 %j8 = or <8 x i32> undef, undef 356 %k8 = xor <8 x i32> undef, undef 357 %c16 = add <16 x i32> undef, undef 358 %d16 = sub <16 x i32> undef, undef 359 %e16 = mul <16 x i32> undef, undef 360 %f16 = ashr <16 x i32> undef, undef 361 %g16 = lshr <16 x i32> undef, undef 362 %h16 = shl <16 x i32> undef, undef 363 %i16 = and <16 x i32> undef, undef 364 %j16 = or <16 x i32> undef, undef 365 %k16 = xor <16 x i32> undef, undef 366 ret void 367} 368 369define void @vi64() { 370; CHECK-LABEL: 'vi64' 371; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i64> undef, undef 372; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i64> undef, undef 373; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %e2 = mul <2 x i64> undef, undef 374; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i64> undef, undef 375; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i64> undef, undef 376; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i64> undef, undef 377; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i64> undef, undef 378; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i64> undef, undef 379; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i64> undef, undef 380; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %c4 = add <4 x i64> undef, undef 381; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %d4 = sub <4 x i64> undef, undef 382; CHECK-NEXT: Cost Model: Found an estimated cost of 28 for instruction: %e4 = mul <4 x i64> undef, undef 383; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f4 = ashr <4 x i64> undef, undef 384; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g4 = lshr <4 x i64> undef, undef 385; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h4 = shl <4 x i64> undef, undef 386; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %i4 = and <4 x i64> undef, undef 387; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %j4 = or <4 x i64> undef, undef 388; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %k4 = xor <4 x i64> undef, undef 389; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %c8 = add <8 x i64> undef, undef 390; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %d8 = sub <8 x i64> undef, undef 391; CHECK-NEXT: Cost Model: Found an estimated cost of 56 for instruction: %e8 = mul <8 x i64> undef, undef 392; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %f8 = ashr <8 x i64> undef, undef 393; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %g8 = lshr <8 x i64> undef, undef 394; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %h8 = shl <8 x i64> undef, undef 395; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %i8 = and <8 x i64> undef, undef 396; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %j8 = or <8 x i64> undef, undef 397; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %k8 = xor <8 x i64> undef, undef 398; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %c16 = add <16 x i64> undef, undef 399; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %d16 = sub <16 x i64> undef, undef 400; CHECK-NEXT: Cost Model: Found an estimated cost of 112 for instruction: %e16 = mul <16 x i64> undef, undef 401; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %f16 = ashr <16 x i64> undef, undef 402; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %g16 = lshr <16 x i64> undef, undef 403; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %h16 = shl <16 x i64> undef, undef 404; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %i16 = and <16 x i64> undef, undef 405; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %j16 = or <16 x i64> undef, undef 406; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %k16 = xor <16 x i64> undef, undef 407; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 408; 409 %c2 = add <2 x i64> undef, undef 410 %d2 = sub <2 x i64> undef, undef 411 %e2 = mul <2 x i64> undef, undef 412 %f2 = ashr <2 x i64> undef, undef 413 %g2 = lshr <2 x i64> undef, undef 414 %h2 = shl <2 x i64> undef, undef 415 %i2 = and <2 x i64> undef, undef 416 %j2 = or <2 x i64> undef, undef 417 %k2 = xor <2 x i64> undef, undef 418 %c4 = add <4 x i64> undef, undef 419 %d4 = sub <4 x i64> undef, undef 420 %e4 = mul <4 x i64> undef, undef 421 %f4 = ashr <4 x i64> undef, undef 422 %g4 = lshr <4 x i64> undef, undef 423 %h4 = shl <4 x i64> undef, undef 424 %i4 = and <4 x i64> undef, undef 425 %j4 = or <4 x i64> undef, undef 426 %k4 = xor <4 x i64> undef, undef 427 %c8 = add <8 x i64> undef, undef 428 %d8 = sub <8 x i64> undef, undef 429 %e8 = mul <8 x i64> undef, undef 430 %f8 = ashr <8 x i64> undef, undef 431 %g8 = lshr <8 x i64> undef, undef 432 %h8 = shl <8 x i64> undef, undef 433 %i8 = and <8 x i64> undef, undef 434 %j8 = or <8 x i64> undef, undef 435 %k8 = xor <8 x i64> undef, undef 436 %c16 = add <16 x i64> undef, undef 437 %d16 = sub <16 x i64> undef, undef 438 %e16 = mul <16 x i64> undef, undef 439 %f16 = ashr <16 x i64> undef, undef 440 %g16 = lshr <16 x i64> undef, undef 441 %h16 = shl <16 x i64> undef, undef 442 %i16 = and <16 x i64> undef, undef 443 %j16 = or <16 x i64> undef, undef 444 %k16 = xor <16 x i64> undef, undef 445 ret void 446} 447