[lit] Factor out separate methods for parallel and serial execution
[llvm-complete.git] / test / Analysis / CostModel / SystemZ / load_store.ll
blob1ac92292c829bab85c87b89658bde67022d8f03a
1 ; RUN: opt < %s -cost-model -analyze -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s
3 define 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
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
68   ret void;
71 define 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
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
136   ret void;