1; RUN: opt < %s -passes='print<cost-model>' 2>&1 -disable-output -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s 2 3define void @store() { 4 store i8 undef, i8* undef 5 store i16 undef, i16* undef 6 store i32 undef, i32* undef 7 store i64 undef, i64* undef 8 store float undef, float* undef 9 store double undef, double* undef 10 store fp128 undef, fp128* undef 11 store <2 x i8> undef, <2 x i8>* undef 12 store <2 x i16> undef, <2 x i16>* undef 13 store <2 x i32> undef, <2 x i32>* undef 14 store <2 x i64> undef, <2 x i64>* undef 15 store <2 x float> undef, <2 x float>* undef 16 store <2 x double> undef, <2 x double>* undef 17 store <4 x i8> undef, <4 x i8>* undef 18 store <4 x i16> undef, <4 x i16>* undef 19 store <4 x i32> undef, <4 x i32>* undef 20 store <4 x i64> undef, <4 x i64>* undef 21 store <4 x float> undef, <4 x float>* undef 22 store <4 x double> undef, <4 x double>* undef 23 store <8 x i8> undef, <8 x i8>* undef 24 store <8 x i16> undef, <8 x i16>* undef 25 store <8 x i32> undef, <8 x i32>* undef 26 store <8 x i64> undef, <8 x i64>* undef 27 store <8 x float> undef, <8 x float>* undef 28 store <8 x double> undef, <8 x double>* undef 29 store <16 x i8> undef, <16 x i8>* undef 30 store <16 x i16> undef, <16 x i16>* undef 31 store <16 x i32> undef, <16 x i32>* undef 32 store <16 x i64> undef, <16 x i64>* undef 33 store <16 x float> undef, <16 x float>* undef 34 store <16 x double> undef, <16 x double>* undef 35 36; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store i8 undef, i8* undef 37; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store i16 undef, i16* undef 38; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store i32 undef, i32* undef 39; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store i64 undef, i64* undef 40; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store float undef, float* undef 41; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store double undef, double* undef 42; CHECK: Cost Model: Found an estimated cost of 2 for instruction: store fp128 undef, fp128* undef 43; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> undef, <2 x i8>* undef 44; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> undef, <2 x i16>* undef 45; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> undef, <2 x i32>* undef 46; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i64> undef, <2 x i64>* undef 47; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <2 x float> undef, <2 x float>* undef 48; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <2 x double> undef, <2 x double>* undef 49; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> undef, <4 x i8>* undef 50; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> undef, <4 x i16>* undef 51; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> undef, <4 x i32>* undef 52; CHECK: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i64> undef, <4 x i64>* undef 53; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <4 x float> undef, <4 x float>* undef 54; CHECK: Cost Model: Found an estimated cost of 2 for instruction: store <4 x double> undef, <4 x double>* undef 55; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i8> undef, <8 x i8>* undef 56; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i16> undef, <8 x i16>* undef 57; CHECK: Cost Model: Found an estimated cost of 2 for instruction: store <8 x i32> undef, <8 x i32>* undef 58; CHECK: Cost Model: Found an estimated cost of 4 for instruction: store <8 x i64> undef, <8 x i64>* undef 59; CHECK: Cost Model: Found an estimated cost of 2 for instruction: store <8 x float> undef, <8 x float>* undef 60; CHECK: Cost Model: Found an estimated cost of 4 for instruction: store <8 x double> undef, <8 x double>* undef 61; CHECK: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i8> undef, <16 x i8>* undef 62; CHECK: Cost Model: Found an estimated cost of 2 for instruction: store <16 x i16> undef, <16 x i16>* undef 63; CHECK: Cost Model: Found an estimated cost of 4 for instruction: store <16 x i32> undef, <16 x i32>* undef 64; CHECK: Cost Model: Found an estimated cost of 8 for instruction: store <16 x i64> undef, <16 x i64>* undef 65; CHECK: Cost Model: Found an estimated cost of 4 for instruction: store <16 x float> undef, <16 x float>* undef 66; CHECK: Cost Model: Found an estimated cost of 8 for instruction: store <16 x double> undef, <16 x double>* undef 67 68 ret void; 69} 70 71define void @load() { 72 load i8, i8* undef 73 load i16, i16* undef 74 load i32, i32* undef 75 load i64, i64* undef 76 load float, float* undef 77 load double, double* undef 78 load fp128, fp128* undef 79 load <2 x i8>, <2 x i8>* undef 80 load <2 x i16>, <2 x i16>* undef 81 load <2 x i32>, <2 x i32>* undef 82 load <2 x i64>, <2 x i64>* undef 83 load <2 x float>, <2 x float>* undef 84 load <2 x double>, <2 x double>* undef 85 load <4 x i8>, <4 x i8>* undef 86 load <4 x i16>, <4 x i16>* undef 87 load <4 x i32>, <4 x i32>* undef 88 load <4 x i64>, <4 x i64>* undef 89 load <4 x float>, <4 x float>* undef 90 load <4 x double>, <4 x double>* undef 91 load <8 x i8>, <8 x i8>* undef 92 load <8 x i16>, <8 x i16>* undef 93 load <8 x i32>, <8 x i32>* undef 94 load <8 x i64>, <8 x i64>* undef 95 load <8 x float>, <8 x float>* undef 96 load <8 x double>, <8 x double>* undef 97 load <16 x i8>, <16 x i8>* undef 98 load <16 x i16>, <16 x i16>* undef 99 load <16 x i32>, <16 x i32>* undef 100 load <16 x i64>, <16 x i64>* undef 101 load <16 x float>, <16 x float>* undef 102 load <16 x double>, <16 x double>* undef 103 104; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %1 = load i8, i8* undef 105; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %2 = load i16, i16* undef 106; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %3 = load i32, i32* undef 107; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %4 = load i64, i64* undef 108; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %5 = load float, float* undef 109; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %6 = load double, double* undef 110; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %7 = load fp128, fp128* undef 111; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %8 = load <2 x i8>, <2 x i8>* undef 112; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %9 = load <2 x i16>, <2 x i16>* undef 113; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %10 = load <2 x i32>, <2 x i32>* undef 114; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %11 = load <2 x i64>, <2 x i64>* undef 115; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %12 = load <2 x float>, <2 x float>* undef 116; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %13 = load <2 x double>, <2 x double>* undef 117; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %14 = load <4 x i8>, <4 x i8>* undef 118; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %15 = load <4 x i16>, <4 x i16>* undef 119; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %16 = load <4 x i32>, <4 x i32>* undef 120; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %17 = load <4 x i64>, <4 x i64>* undef 121; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %18 = load <4 x float>, <4 x float>* undef 122; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %19 = load <4 x double>, <4 x double>* undef 123; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %20 = load <8 x i8>, <8 x i8>* undef 124; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %21 = load <8 x i16>, <8 x i16>* undef 125; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %22 = load <8 x i32>, <8 x i32>* undef 126; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %23 = load <8 x i64>, <8 x i64>* undef 127; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %24 = load <8 x float>, <8 x float>* undef 128; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %25 = load <8 x double>, <8 x double>* undef 129; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %26 = load <16 x i8>, <16 x i8>* undef 130; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %27 = load <16 x i16>, <16 x i16>* undef 131; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %28 = load <16 x i32>, <16 x i32>* undef 132; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %29 = load <16 x i64>, <16 x i64>* undef 133; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %30 = load <16 x float>, <16 x float>* undef 134; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %31 = load <16 x double>, <16 x double>* undef 135 136 ret void; 137} 138