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