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