xref: /llvm-project/llvm/test/Analysis/CostModel/AMDGPU/addrspacecast.ll (revision 68c50b111d74afb9489cf97770fa917d0a1c7f77)
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=kaveri < %s | FileCheck -check-prefixes=ALL %s
3; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=kaveri < %s | FileCheck -check-prefixes=ALL-SIZE %s
4; END.
5
6define void @addrspacecast_global_to_flat() #0 {
7; ALL-LABEL: 'addrspacecast_global_to_flat'
8; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i8ptr = addrspacecast ptr addrspace(1) undef to ptr
9; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i8ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
10; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i8ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
11; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i8ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
12; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i8ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
13; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i16ptr = addrspacecast ptr addrspace(1) undef to ptr
14; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i16ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
15; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i16ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
16; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i16ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
17; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i16ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
18; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i32ptr = addrspacecast ptr addrspace(1) undef to ptr
19; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i32ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
20; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i32ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
21; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i32ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
22; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i32ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
23; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i64ptr = addrspacecast ptr addrspace(1) undef to ptr
24; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i64ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
25; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i64ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
26; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i64ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
27; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i64ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
28; ALL-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: ret void
29;
30; ALL-SIZE-LABEL: 'addrspacecast_global_to_flat'
31; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i8ptr = addrspacecast ptr addrspace(1) undef to ptr
32; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i8ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
33; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i8ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
34; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i8ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
35; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i8ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
36; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i16ptr = addrspacecast ptr addrspace(1) undef to ptr
37; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i16ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
38; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i16ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
39; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i16ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
40; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i16ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
41; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i32ptr = addrspacecast ptr addrspace(1) undef to ptr
42; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i32ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
43; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i32ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
44; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i32ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
45; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i32ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
46; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i64ptr = addrspacecast ptr addrspace(1) undef to ptr
47; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i64ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
48; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i64ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
49; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i64ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
50; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i64ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
51; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: ret void
52;
53  %i8ptr = addrspacecast ptr addrspace(1) undef to ptr
54  %v2i8ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
55  %v3i8ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
56  %v4i8ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
57  %v32i8ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
58  %i16ptr = addrspacecast ptr addrspace(1) undef to ptr
59  %v2i16ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
60  %v3i16ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
61  %v4i16ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
62  %v32i16ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
63  %i32ptr = addrspacecast ptr addrspace(1) undef to ptr
64  %v2i32ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
65  %v3i32ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
66  %v4i32ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
67  %v32i32ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
68  %i64ptr = addrspacecast ptr addrspace(1) undef to ptr
69  %v2i64ptr = addrspacecast <2 x ptr addrspace(1)> undef to <2 x ptr>
70  %v3i64ptr = addrspacecast <3 x ptr addrspace(1)> undef to <3 x ptr>
71  %v4i64ptr = addrspacecast <4 x ptr addrspace(1)> undef to <4 x ptr>
72  %v32i64ptr = addrspacecast <32 x ptr addrspace(1)> undef to <32 x ptr>
73  ret void
74}
75
76define void @addrspacecast_local_to_flat() #0 {
77; ALL-LABEL: 'addrspacecast_local_to_flat'
78; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i8ptr = addrspacecast ptr addrspace(3) undef to ptr
79; ALL-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i8ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
80; ALL-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i8ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
81; ALL-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i8ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
82; ALL-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i8ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
83; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i16ptr = addrspacecast ptr addrspace(3) undef to ptr
84; ALL-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i16ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
85; ALL-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i16ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
86; ALL-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i16ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
87; ALL-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i16ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
88; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i32ptr = addrspacecast ptr addrspace(3) undef to ptr
89; ALL-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i32ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
90; ALL-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i32ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
91; ALL-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i32ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
92; ALL-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i32ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
93; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i64ptr = addrspacecast ptr addrspace(3) undef to ptr
94; ALL-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i64ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
95; ALL-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i64ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
96; ALL-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i64ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
97; ALL-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i64ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
98; ALL-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: ret void
99;
100; ALL-SIZE-LABEL: 'addrspacecast_local_to_flat'
101; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i8ptr = addrspacecast ptr addrspace(3) undef to ptr
102; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i8ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
103; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i8ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
104; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i8ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
105; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i8ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
106; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i16ptr = addrspacecast ptr addrspace(3) undef to ptr
107; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i16ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
108; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i16ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
109; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i16ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
110; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i16ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
111; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i32ptr = addrspacecast ptr addrspace(3) undef to ptr
112; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i32ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
113; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i32ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
114; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i32ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
115; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i32ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
116; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i64ptr = addrspacecast ptr addrspace(3) undef to ptr
117; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %v2i64ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
118; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %v3i64ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
119; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v4i64ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
120; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %v32i64ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
121; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: ret void
122;
123  %i8ptr = addrspacecast ptr addrspace(3) undef to ptr
124  %v2i8ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
125  %v3i8ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
126  %v4i8ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
127  %v32i8ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
128  %i16ptr = addrspacecast ptr addrspace(3) undef to ptr
129  %v2i16ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
130  %v3i16ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
131  %v4i16ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
132  %v32i16ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
133  %i32ptr = addrspacecast ptr addrspace(3) undef to ptr
134  %v2i32ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
135  %v3i32ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
136  %v4i32ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
137  %v32i32ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
138  %i64ptr = addrspacecast ptr addrspace(3) undef to ptr
139  %v2i64ptr = addrspacecast <2 x ptr addrspace(3)> undef to <2 x ptr>
140  %v3i64ptr = addrspacecast <3 x ptr addrspace(3)> undef to <3 x ptr>
141  %v4i64ptr = addrspacecast <4 x ptr addrspace(3)> undef to <4 x ptr>
142  %v32i64ptr = addrspacecast <32 x ptr addrspace(3)> undef to <32 x ptr>
143  ret void
144}
145
146define void @addrspacecast_flat_to_local() #0 {
147; ALL-LABEL: 'addrspacecast_flat_to_local'
148; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i8ptr = addrspacecast ptr undef to ptr addrspace(3)
149; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i8ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
150; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i8ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
151; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i8ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
152; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i8ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
153; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i16ptr = addrspacecast ptr undef to ptr addrspace(3)
154; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i16ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
155; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i16ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
156; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i16ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
157; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i16ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
158; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i32ptr = addrspacecast ptr undef to ptr addrspace(3)
159; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i32ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
160; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i32ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
161; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i32ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
162; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i32ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
163; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i64ptr = addrspacecast ptr undef to ptr addrspace(3)
164; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i64ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
165; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i64ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
166; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i64ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
167; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i64ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
168; ALL-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: ret void
169;
170; ALL-SIZE-LABEL: 'addrspacecast_flat_to_local'
171; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i8ptr = addrspacecast ptr undef to ptr addrspace(3)
172; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i8ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
173; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i8ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
174; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i8ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
175; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i8ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
176; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i16ptr = addrspacecast ptr undef to ptr addrspace(3)
177; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i16ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
178; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i16ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
179; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i16ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
180; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i16ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
181; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i32ptr = addrspacecast ptr undef to ptr addrspace(3)
182; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i32ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
183; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i32ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
184; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i32ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
185; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i32ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
186; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %i64ptr = addrspacecast ptr undef to ptr addrspace(3)
187; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2i64ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
188; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3i64ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
189; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v4i64ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
190; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v32i64ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
191; ALL-SIZE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: ret void
192;
193  %i8ptr = addrspacecast ptr undef to ptr addrspace(3)
194  %v2i8ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
195  %v3i8ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
196  %v4i8ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
197  %v32i8ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
198  %i16ptr = addrspacecast ptr undef to ptr addrspace(3)
199  %v2i16ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
200  %v3i16ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
201  %v4i16ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
202  %v32i16ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
203  %i32ptr = addrspacecast ptr undef to ptr addrspace(3)
204  %v2i32ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
205  %v3i32ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
206  %v4i32ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
207  %v32i32ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
208  %i64ptr = addrspacecast ptr undef to ptr addrspace(3)
209  %v2i64ptr = addrspacecast <2 x ptr> undef to <2 x ptr addrspace(3)>
210  %v3i64ptr = addrspacecast <3 x ptr> undef to <3 x ptr addrspace(3)>
211  %v4i64ptr = addrspacecast <4 x ptr> undef to <4 x ptr addrspace(3)>
212  %v32i64ptr = addrspacecast <32 x ptr> undef to <32 x ptr addrspace(3)>
213  ret void
214}
215
216attributes #0 = { nounwind readnone }
217