Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGen / attr-riscv-rvv-vector-bits-types.c
blob85a320ba50d243b7c041b32b64abd1a2d10e16ef
1 // RUN: %clang_cc1 -triple riscv64-none-linux-gnu -target-feature +f -target-feature +d -target-feature +zve64d -mvscale-min=1 -mvscale-max=1 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-64
2 // RUN: %clang_cc1 -triple riscv64-none-linux-gnu -target-feature +f -target-feature +d -target-feature +zve64d -mvscale-min=2 -mvscale-max=2 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-128
3 // RUN: %clang_cc1 -triple riscv64-none-linux-gnu -target-feature +f -target-feature +d -target-feature +zve64d -mvscale-min=4 -mvscale-max=4 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-256
4 // RUN: %clang_cc1 -triple riscv64-none-linux-gnu -target-feature +f -target-feature +d -target-feature +zve64d -mvscale-min=8 -mvscale-max=8 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-512
5 // RUN: %clang_cc1 -triple riscv64-none-linux-gnu -target-feature +f -target-feature +d -target-feature +zve64d -mvscale-min=16 -mvscale-max=16 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-1024
7 // REQUIRES: riscv-registered-target
9 #include <stdint.h>
11 typedef __rvv_int8mf8_t vint8mf8_t;
12 typedef __rvv_uint8mf8_t vuint8mf8_t;
14 typedef __rvv_int8mf4_t vint8mf4_t;
15 typedef __rvv_uint8mf4_t vuint8mf4_t;
16 typedef __rvv_int16mf4_t vint16mf4_t;
17 typedef __rvv_uint16mf4_t vuint16mf4_t;
19 typedef __rvv_int8mf2_t vint8mf2_t;
20 typedef __rvv_uint8mf2_t vuint8mf2_t;
21 typedef __rvv_int16mf2_t vint16mf2_t;
22 typedef __rvv_uint16mf2_t vuint16mf2_t;
23 typedef __rvv_int32mf2_t vint32mf2_t;
24 typedef __rvv_uint32mf2_t vuint32mf2_t;
25 typedef __rvv_float32mf2_t vfloat32mf2_t;
27 typedef __rvv_int8m1_t vint8m1_t;
28 typedef __rvv_uint8m1_t vuint8m1_t;
29 typedef __rvv_int16m1_t vint16m1_t;
30 typedef __rvv_uint16m1_t vuint16m1_t;
31 typedef __rvv_int32m1_t vint32m1_t;
32 typedef __rvv_uint32m1_t vuint32m1_t;
33 typedef __rvv_int64m1_t vint64m1_t;
34 typedef __rvv_uint64m1_t vuint64m1_t;
35 typedef __rvv_float32m1_t vfloat32m1_t;
36 typedef __rvv_float64m1_t vfloat64m1_t;
38 typedef __rvv_int8m2_t vint8m2_t;
39 typedef __rvv_uint8m2_t vuint8m2_t;
40 typedef __rvv_int16m2_t vint16m2_t;
41 typedef __rvv_uint16m2_t vuint16m2_t;
42 typedef __rvv_int32m2_t vint32m2_t;
43 typedef __rvv_uint32m2_t vuint32m2_t;
44 typedef __rvv_int64m2_t vint64m2_t;
45 typedef __rvv_uint64m2_t vuint64m2_t;
46 typedef __rvv_float32m2_t vfloat32m2_t;
47 typedef __rvv_float64m2_t vfloat64m2_t;
49 typedef __rvv_int8m4_t vint8m4_t;
50 typedef __rvv_uint8m4_t vuint8m4_t;
51 typedef __rvv_int16m4_t vint16m4_t;
52 typedef __rvv_uint16m4_t vuint16m4_t;
53 typedef __rvv_int32m4_t vint32m4_t;
54 typedef __rvv_uint32m4_t vuint32m4_t;
55 typedef __rvv_int64m4_t vint64m4_t;
56 typedef __rvv_uint64m4_t vuint64m4_t;
57 typedef __rvv_float32m4_t vfloat32m4_t;
58 typedef __rvv_float64m4_t vfloat64m4_t;
60 typedef __rvv_int8m8_t vint8m8_t;
61 typedef __rvv_uint8m8_t vuint8m8_t;
62 typedef __rvv_int16m8_t vint16m8_t;
63 typedef __rvv_uint16m8_t vuint16m8_t;
64 typedef __rvv_int32m8_t vint32m8_t;
65 typedef __rvv_uint32m8_t vuint32m8_t;
66 typedef __rvv_int64m8_t vint64m8_t;
67 typedef __rvv_uint64m8_t vuint64m8_t;
68 typedef __rvv_float32m8_t vfloat32m8_t;
69 typedef __rvv_float64m8_t vfloat64m8_t;
71 // Define valid fixed-width RVV types
72 typedef vint8mf8_t fixed_int8mf8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 8)));
74 typedef vuint8mf8_t fixed_uint8mf8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 8)));
76 typedef vint8mf4_t fixed_int8mf4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 4)));
77 typedef vint16mf4_t fixed_int16mf4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 4)));
79 typedef vuint8mf4_t fixed_uint8mf4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 4)));
80 typedef vuint16mf4_t fixed_uint16mf4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 4)));
82 typedef vint8mf2_t fixed_int8mf2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 2)));
83 typedef vint16mf2_t fixed_int16mf2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 2)));
84 typedef vint32mf2_t fixed_int32mf2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 2)));
86 typedef vuint8mf2_t fixed_uint8mf2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 2)));
87 typedef vuint16mf2_t fixed_uint16mf2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 2)));
88 typedef vuint32mf2_t fixed_uint32mf2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 2)));
90 typedef vfloat32mf2_t fixed_float32mf2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen / 2)));
92 typedef vint8m1_t fixed_int8m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
93 typedef vint16m1_t fixed_int16m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
94 typedef vint32m1_t fixed_int32m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
95 typedef vint64m1_t fixed_int64m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
97 typedef vuint8m1_t fixed_uint8m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
98 typedef vuint16m1_t fixed_uint16m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
99 typedef vuint32m1_t fixed_uint32m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
100 typedef vuint64m1_t fixed_uint64m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
102 typedef vfloat32m1_t fixed_float32m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
103 typedef vfloat64m1_t fixed_float64m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
105 typedef vint8m2_t fixed_int8m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
106 typedef vint16m2_t fixed_int16m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
107 typedef vint32m2_t fixed_int32m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
108 typedef vint64m2_t fixed_int64m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
110 typedef vuint8m2_t fixed_uint8m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
111 typedef vuint16m2_t fixed_uint16m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
112 typedef vuint32m2_t fixed_uint32m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
113 typedef vuint64m2_t fixed_uint64m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
115 typedef vfloat32m2_t fixed_float32m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
116 typedef vfloat64m2_t fixed_float64m2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 2)));
118 typedef vint8m4_t fixed_int8m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
119 typedef vint16m4_t fixed_int16m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
120 typedef vint32m4_t fixed_int32m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
121 typedef vint64m4_t fixed_int64m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
123 typedef vuint8m4_t fixed_uint8m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
124 typedef vuint16m4_t fixed_uint16m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
125 typedef vuint32m4_t fixed_uint32m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
126 typedef vuint64m4_t fixed_uint64m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
128 typedef vfloat32m4_t fixed_float32m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
129 typedef vfloat64m4_t fixed_float64m4_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 4)));
131 typedef vint8m8_t fixed_int8m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
132 typedef vint16m8_t fixed_int16m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
133 typedef vint32m8_t fixed_int32m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
134 typedef vint64m8_t fixed_int64m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
136 typedef vuint8m8_t fixed_uint8m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
137 typedef vuint16m8_t fixed_uint16m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
138 typedef vuint32m8_t fixed_uint32m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
139 typedef vuint64m8_t fixed_uint64m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
141 typedef vfloat32m8_t fixed_float32m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
142 typedef vfloat64m8_t fixed_float64m8_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * 8)));
144 //===----------------------------------------------------------------------===//
145 // Structs and unions
146 //===----------------------------------------------------------------------===//
147 #define DEFINE_STRUCT(ty) \
148 struct struct_##ty { \
149 fixed_##ty##_t x; \
150 } struct_##ty;
152 #define DEFINE_UNION(ty) \
153 union union_##ty { \
154 fixed_##ty##_t x; \
155 } union_##ty;
157 DEFINE_STRUCT(int8m1)
158 DEFINE_STRUCT(int16m1)
159 DEFINE_STRUCT(int32m1)
160 DEFINE_STRUCT(int64m1)
161 DEFINE_STRUCT(uint8m1)
162 DEFINE_STRUCT(uint16m1)
163 DEFINE_STRUCT(uint32m1)
164 DEFINE_STRUCT(uint64m1)
165 DEFINE_STRUCT(float32m1)
166 DEFINE_STRUCT(float64m1)
168 DEFINE_STRUCT(int8m2)
169 DEFINE_STRUCT(int16m2)
170 DEFINE_STRUCT(int32m2)
171 DEFINE_STRUCT(int64m2)
172 DEFINE_STRUCT(uint8m2)
173 DEFINE_STRUCT(uint16m2)
174 DEFINE_STRUCT(uint32m2)
175 DEFINE_STRUCT(uint64m2)
176 DEFINE_STRUCT(float32m2)
177 DEFINE_STRUCT(float64m2)
179 DEFINE_STRUCT(int8m4)
180 DEFINE_STRUCT(int16m4)
181 DEFINE_STRUCT(int32m4)
182 DEFINE_STRUCT(int64m4)
183 DEFINE_STRUCT(uint8m4)
184 DEFINE_STRUCT(uint16m4)
185 DEFINE_STRUCT(uint32m4)
186 DEFINE_STRUCT(uint64m4)
187 DEFINE_STRUCT(float32m4)
188 DEFINE_STRUCT(float64m4)
190 DEFINE_STRUCT(int8m8)
191 DEFINE_STRUCT(int16m8)
192 DEFINE_STRUCT(int32m8)
193 DEFINE_STRUCT(int64m8)
194 DEFINE_STRUCT(uint8m8)
195 DEFINE_STRUCT(uint16m8)
196 DEFINE_STRUCT(uint32m8)
197 DEFINE_STRUCT(uint64m8)
198 DEFINE_STRUCT(float32m8)
199 DEFINE_STRUCT(float64m8)
201 DEFINE_UNION(int8m1)
202 DEFINE_UNION(int16m1)
203 DEFINE_UNION(int32m1)
204 DEFINE_UNION(int64m1)
205 DEFINE_UNION(uint8m1)
206 DEFINE_UNION(uint16m1)
207 DEFINE_UNION(uint32m1)
208 DEFINE_UNION(uint64m1)
209 DEFINE_UNION(float32m1)
210 DEFINE_UNION(float64m1)
212 DEFINE_UNION(int8m2)
213 DEFINE_UNION(int16m2)
214 DEFINE_UNION(int32m2)
215 DEFINE_UNION(int64m2)
216 DEFINE_UNION(uint8m2)
217 DEFINE_UNION(uint16m2)
218 DEFINE_UNION(uint32m2)
219 DEFINE_UNION(uint64m2)
220 DEFINE_UNION(float32m2)
221 DEFINE_UNION(float64m2)
223 DEFINE_UNION(int8m4)
224 DEFINE_UNION(int16m4)
225 DEFINE_UNION(int32m4)
226 DEFINE_UNION(int64m4)
227 DEFINE_UNION(uint8m4)
228 DEFINE_UNION(uint16m4)
229 DEFINE_UNION(uint32m4)
230 DEFINE_UNION(uint64m4)
231 DEFINE_UNION(float32m4)
232 DEFINE_UNION(float64m4)
234 DEFINE_UNION(int8m8)
235 DEFINE_UNION(int16m8)
236 DEFINE_UNION(int32m8)
237 DEFINE_UNION(int64m8)
238 DEFINE_UNION(uint8m8)
239 DEFINE_UNION(uint16m8)
240 DEFINE_UNION(uint32m8)
241 DEFINE_UNION(uint64m8)
242 DEFINE_UNION(float32m8)
243 DEFINE_UNION(float64m8)
245 //===----------------------------------------------------------------------===//
246 // Global variables
247 //===----------------------------------------------------------------------===//
248 fixed_int8m1_t global_i8;
249 fixed_int16m1_t global_i16;
250 fixed_int32m1_t global_i32;
251 fixed_int64m1_t global_i64;
253 fixed_uint8m1_t global_u8;
254 fixed_uint16m1_t global_u16;
255 fixed_uint32m1_t global_u32;
256 fixed_uint64m1_t global_u64;
258 fixed_float32m1_t global_f32;
259 fixed_float64m1_t global_f64;
261 fixed_int8m2_t global_i8m2;
262 fixed_int16m2_t global_i16m2;
263 fixed_int32m2_t global_i32m2;
264 fixed_int64m2_t global_i64m2;
266 fixed_uint8m2_t global_u8m2;
267 fixed_uint16m2_t global_u16m2;
268 fixed_uint32m2_t global_u32m2;
269 fixed_uint64m2_t global_u64m2;
271 fixed_float32m2_t global_f32m2;
272 fixed_float64m2_t global_f64m2;
274 fixed_int8m4_t global_i8m4;
275 fixed_int16m4_t global_i16m4;
276 fixed_int32m4_t global_i32m4;
277 fixed_int64m4_t global_i64m4;
279 fixed_uint8m4_t global_u8m4;
280 fixed_uint16m4_t global_u16m4;
281 fixed_uint32m4_t global_u32m4;
282 fixed_uint64m4_t global_u64m4;
284 fixed_float32m4_t global_f32m4;
285 fixed_float64m4_t global_f64m4;
287 fixed_int8m8_t global_i8m8;
288 fixed_int16m8_t global_i16m8;
289 fixed_int32m8_t global_i32m8;
290 fixed_int64m8_t global_i64m8;
292 fixed_uint8m8_t global_u8m8;
293 fixed_uint16m8_t global_u16m8;
294 fixed_uint32m8_t global_u32m8;
295 fixed_uint64m8_t global_u64m8;
297 fixed_float32m8_t global_f32m8;
298 fixed_float64m8_t global_f64m8;
300 //===----------------------------------------------------------------------===//
301 // Global arrays
302 //===----------------------------------------------------------------------===//
303 fixed_int8m1_t global_arr_i8[3];
304 fixed_int16m1_t global_arr_i16[3];
305 fixed_int32m1_t global_arr_i32[3];
306 fixed_int64m1_t global_arr_i64[3];
308 fixed_uint8m1_t global_arr_u8[3];
309 fixed_uint16m1_t global_arr_u16[3];
310 fixed_uint32m1_t global_arr_u32[3];
311 fixed_uint64m1_t global_arr_u64[3];
313 fixed_float32m1_t global_arr_f32[3];
314 fixed_float64m1_t global_arr_f64[3];
316 fixed_int8m2_t global_arr_i8m2[3];
317 fixed_int16m2_t global_arr_i16m2[3];
318 fixed_int32m2_t global_arr_i32m2[3];
319 fixed_int64m2_t global_arr_i64m2[3];
321 fixed_uint8m2_t global_arr_u8m2[3];
322 fixed_uint16m2_t global_arr_u16m2[3];
323 fixed_uint32m2_t global_arr_u32m2[3];
324 fixed_uint64m2_t global_arr_u64m2[3];
326 fixed_float32m2_t global_arr_f32m2[3];
327 fixed_float64m2_t global_arr_f64m2[3];
329 fixed_int8m4_t global_arr_i8m4[3];
330 fixed_int16m4_t global_arr_i16m4[3];
331 fixed_int32m4_t global_arr_i32m4[3];
332 fixed_int64m4_t global_arr_i64m4[3];
334 fixed_uint8m4_t global_arr_u8m4[3];
335 fixed_uint16m4_t global_arr_u16m4[3];
336 fixed_uint32m4_t global_arr_u32m4[3];
337 fixed_uint64m4_t global_arr_u64m4[3];
339 fixed_float32m4_t global_arr_f32m4[3];
340 fixed_float64m4_t global_arr_f64m4[3];
342 fixed_int8m8_t global_arr_i8m8[3];
343 fixed_int16m8_t global_arr_i16m8[3];
344 fixed_int32m8_t global_arr_i32m8[3];
345 fixed_int64m8_t global_arr_i64m8[3];
347 fixed_uint8m8_t global_arr_u8m8[3];
348 fixed_uint16m8_t global_arr_u16m8[3];
349 fixed_uint32m8_t global_arr_u32m8[3];
350 fixed_uint64m8_t global_arr_u64m8[3];
352 fixed_float32m8_t global_arr_f32m8[3];
353 fixed_float64m8_t global_arr_f64m8[3];
355 //===----------------------------------------------------------------------===//
356 // Locals
357 //===----------------------------------------------------------------------===//
358 void f() {
359 // Variables
360 fixed_int8m1_t local_i8;
361 fixed_int16m1_t local_i16;
362 fixed_int32m1_t local_i32;
363 fixed_int64m1_t local_i64;
364 fixed_uint8m1_t local_u8;
365 fixed_uint16m1_t local_u16;
366 fixed_uint32m1_t local_u32;
367 fixed_uint64m1_t local_u64;
368 fixed_float32m1_t local_f32;
369 fixed_float64m1_t local_f64;
371 fixed_int8m2_t local_i8m2;
372 fixed_int16m2_t local_i16m2;
373 fixed_int32m2_t local_i32m2;
374 fixed_int64m2_t local_i64m2;
375 fixed_uint8m2_t local_u8m2;
376 fixed_uint16m2_t local_u16m2;
377 fixed_uint32m2_t local_u32m2;
378 fixed_uint64m2_t local_u64m2;
379 fixed_float32m2_t local_f32m2;
380 fixed_float64m2_t local_f64m2;
382 fixed_int8m4_t local_i8m4;
383 fixed_int16m4_t local_i16m4;
384 fixed_int32m4_t local_i32m4;
385 fixed_int64m4_t local_i64m4;
386 fixed_uint8m4_t local_u8m4;
387 fixed_uint16m4_t local_u16m4;
388 fixed_uint32m4_t local_u32m4;
389 fixed_uint64m4_t local_u64m4;
390 fixed_float32m4_t local_f32m4;
391 fixed_float64m4_t local_f64m4;
393 fixed_int8m8_t local_i8m8;
394 fixed_int16m8_t local_i16m8;
395 fixed_int32m8_t local_i32m8;
396 fixed_int64m8_t local_i64m8;
397 fixed_uint8m8_t local_u8m8;
398 fixed_uint16m8_t local_u16m8;
399 fixed_uint32m8_t local_u32m8;
400 fixed_uint64m8_t local_u64m8;
401 fixed_float32m8_t local_f32m8;
402 fixed_float64m8_t local_f64m8;
404 // Arrays
405 fixed_int8m1_t local_arr_i8[3];
406 fixed_int16m1_t local_arr_i16[3];
407 fixed_int32m1_t local_arr_i32[3];
408 fixed_int64m1_t local_arr_i64[3];
409 fixed_uint8m1_t local_arr_u8[3];
410 fixed_uint16m1_t local_arr_u16[3];
411 fixed_uint32m1_t local_arr_u32[3];
412 fixed_uint64m1_t local_arr_u64[3];
413 fixed_float32m1_t local_arr_f32[3];
414 fixed_float64m1_t local_arr_f64[3];
416 fixed_int8m2_t local_arr_i8m2[3];
417 fixed_int16m2_t local_arr_i16m2[3];
418 fixed_int32m2_t local_arr_i32m2[3];
419 fixed_int64m2_t local_arr_i64m2[3];
420 fixed_uint8m2_t local_arr_u8m2[3];
421 fixed_uint16m2_t local_arr_u16m2[3];
422 fixed_uint32m2_t local_arr_u32m2[3];
423 fixed_uint64m2_t local_arr_u64m2[3];
424 fixed_float32m2_t local_arr_f32m2[3];
425 fixed_float64m2_t local_arr_f64m2[3];
427 fixed_int8m4_t local_arr_i8m4[3];
428 fixed_int16m4_t local_arr_i16m4[3];
429 fixed_int32m4_t local_arr_i32m4[3];
430 fixed_int64m4_t local_arr_i64m4[3];
431 fixed_uint8m4_t local_arr_u8m4[3];
432 fixed_uint16m4_t local_arr_u16m4[3];
433 fixed_uint32m4_t local_arr_u32m4[3];
434 fixed_uint64m4_t local_arr_u64m4[3];
435 fixed_float32m4_t local_arr_f32m4[3];
436 fixed_float64m4_t local_arr_f64m4[3];
438 fixed_int8m8_t local_arr_i8m8[3];
439 fixed_int16m8_t local_arr_i16m8[3];
440 fixed_int32m8_t local_arr_i32m8[3];
441 fixed_int64m8_t local_arr_i64m8[3];
442 fixed_uint8m8_t local_arr_u8m8[3];
443 fixed_uint16m8_t local_arr_u16m8[3];
444 fixed_uint32m8_t local_arr_u32m8[3];
445 fixed_uint64m8_t local_arr_u64m8[3];
446 fixed_float32m8_t local_arr_f32m8[3];
447 fixed_float64m8_t local_arr_f64m8[3];
449 fixed_int8mf2_t local_arr_i8mf2[3];
450 fixed_int16mf2_t local_arr_i16mf2[3];
451 fixed_int32mf2_t local_arr_i32mf2[3];
452 fixed_uint8mf2_t local_arr_u8mf2[3];
453 fixed_uint16mf2_t local_arr_u16mf2[3];
454 fixed_uint32mf2_t local_arr_u32mf2[3];
455 fixed_float32mf2_t local_arr_f32mf2[3];
457 fixed_int8mf4_t local_arr_i8mf4[3];
458 fixed_int16mf4_t local_arr_i16mf4[3];
459 fixed_uint8mf4_t local_arr_u8mf4[3];
460 fixed_uint16mf4_t local_arr_u16mf4[3];
462 fixed_int8mf8_t local_arr_i8mf8[3];
463 fixed_uint8mf8_t local_arr_u8mf8[3];
466 //===----------------------------------------------------------------------===//
467 // Structs and unions
468 //===----------------------------------------------------------------------===//
469 // CHECK-64: %struct.struct_int8m1 = type { <8 x i8> }
470 // CHECK-64-NEXT: %struct.struct_int16m1 = type { <4 x i16> }
471 // CHECK-64-NEXT: %struct.struct_int32m1 = type { <2 x i32> }
472 // CHECK-64-NEXT: %struct.struct_int64m1 = type { <1 x i64> }
473 // CHECK-64-NEXT: %struct.struct_uint8m1 = type { <8 x i8> }
474 // CHECK-64-NEXT: %struct.struct_uint16m1 = type { <4 x i16> }
475 // CHECK-64-NEXT: %struct.struct_uint32m1 = type { <2 x i32> }
476 // CHECK-64-NEXT: %struct.struct_uint64m1 = type { <1 x i64> }
477 // CHECK-64-NEXT: %struct.struct_float32m1 = type { <2 x float> }
478 // CHECK-64-NEXT: %struct.struct_float64m1 = type { <1 x double> }
479 // CHECK-64-NEXT: %struct.struct_int8m2 = type { <16 x i8> }
480 // CHECK-64-NEXT: %struct.struct_int16m2 = type { <8 x i16> }
481 // CHECK-64-NEXT: %struct.struct_int32m2 = type { <4 x i32> }
482 // CHECK-64-NEXT: %struct.struct_int64m2 = type { <2 x i64> }
483 // CHECK-64-NEXT: %struct.struct_uint8m2 = type { <16 x i8> }
484 // CHECK-64-NEXT: %struct.struct_uint16m2 = type { <8 x i16> }
485 // CHECK-64-NEXT: %struct.struct_uint32m2 = type { <4 x i32> }
486 // CHECK-64-NEXT: %struct.struct_uint64m2 = type { <2 x i64> }
487 // CHECK-64-NEXT: %struct.struct_float32m2 = type { <4 x float> }
488 // CHECK-64-NEXT: %struct.struct_float64m2 = type { <2 x double> }
489 // CHECK-64-NEXT: %struct.struct_int8m4 = type { <32 x i8> }
490 // CHECK-64-NEXT: %struct.struct_int16m4 = type { <16 x i16> }
491 // CHECK-64-NEXT: %struct.struct_int32m4 = type { <8 x i32> }
492 // CHECK-64-NEXT: %struct.struct_int64m4 = type { <4 x i64> }
493 // CHECK-64-NEXT: %struct.struct_uint8m4 = type { <32 x i8> }
494 // CHECK-64-NEXT: %struct.struct_uint16m4 = type { <16 x i16> }
495 // CHECK-64-NEXT: %struct.struct_uint32m4 = type { <8 x i32> }
496 // CHECK-64-NEXT: %struct.struct_uint64m4 = type { <4 x i64> }
497 // CHECK-64-NEXT: %struct.struct_float32m4 = type { <8 x float> }
498 // CHECK-64-NEXT: %struct.struct_float64m4 = type { <4 x double> }
499 // CHECK-64-NEXT: %struct.struct_int8m8 = type { <64 x i8> }
500 // CHECK-64-NEXT: %struct.struct_int16m8 = type { <32 x i16> }
501 // CHECK-64-NEXT: %struct.struct_int32m8 = type { <16 x i32> }
502 // CHECK-64-NEXT: %struct.struct_int64m8 = type { <8 x i64> }
503 // CHECK-64-NEXT: %struct.struct_uint8m8 = type { <64 x i8> }
504 // CHECK-64-NEXT: %struct.struct_uint16m8 = type { <32 x i16> }
505 // CHECK-64-NEXT: %struct.struct_uint32m8 = type { <16 x i32> }
506 // CHECK-64-NEXT: %struct.struct_uint64m8 = type { <8 x i64> }
507 // CHECK-64-NEXT: %struct.struct_float32m8 = type { <16 x float> }
508 // CHECK-64-NEXT: %struct.struct_float64m8 = type { <8 x double> }
510 // CHECK-128: %struct.struct_int8m1 = type { <16 x i8> }
511 // CHECK-128-NEXT: %struct.struct_int16m1 = type { <8 x i16> }
512 // CHECK-128-NEXT: %struct.struct_int32m1 = type { <4 x i32> }
513 // CHECK-128-NEXT: %struct.struct_int64m1 = type { <2 x i64> }
514 // CHECK-128-NEXT: %struct.struct_uint8m1 = type { <16 x i8> }
515 // CHECK-128-NEXT: %struct.struct_uint16m1 = type { <8 x i16> }
516 // CHECK-128-NEXT: %struct.struct_uint32m1 = type { <4 x i32> }
517 // CHECK-128-NEXT: %struct.struct_uint64m1 = type { <2 x i64> }
518 // CHECK-128-NEXT: %struct.struct_float32m1 = type { <4 x float> }
519 // CHECK-128-NEXT: %struct.struct_float64m1 = type { <2 x double> }
520 // CHECK-128-NEXT: %struct.struct_int8m2 = type { <32 x i8> }
521 // CHECK-128-NEXT: %struct.struct_int16m2 = type { <16 x i16> }
522 // CHECK-128-NEXT: %struct.struct_int32m2 = type { <8 x i32> }
523 // CHECK-128-NEXT: %struct.struct_int64m2 = type { <4 x i64> }
524 // CHECK-128-NEXT: %struct.struct_uint8m2 = type { <32 x i8> }
525 // CHECK-128-NEXT: %struct.struct_uint16m2 = type { <16 x i16> }
526 // CHECK-128-NEXT: %struct.struct_uint32m2 = type { <8 x i32> }
527 // CHECK-128-NEXT: %struct.struct_uint64m2 = type { <4 x i64> }
528 // CHECK-128-NEXT: %struct.struct_float32m2 = type { <8 x float> }
529 // CHECK-128-NEXT: %struct.struct_float64m2 = type { <4 x double> }
530 // CHECK-128-NEXT: %struct.struct_int8m4 = type { <64 x i8> }
531 // CHECK-128-NEXT: %struct.struct_int16m4 = type { <32 x i16> }
532 // CHECK-128-NEXT: %struct.struct_int32m4 = type { <16 x i32> }
533 // CHECK-128-NEXT: %struct.struct_int64m4 = type { <8 x i64> }
534 // CHECK-128-NEXT: %struct.struct_uint8m4 = type { <64 x i8> }
535 // CHECK-128-NEXT: %struct.struct_uint16m4 = type { <32 x i16> }
536 // CHECK-128-NEXT: %struct.struct_uint32m4 = type { <16 x i32> }
537 // CHECK-128-NEXT: %struct.struct_uint64m4 = type { <8 x i64> }
538 // CHECK-128-NEXT: %struct.struct_float32m4 = type { <16 x float> }
539 // CHECK-128-NEXT: %struct.struct_float64m4 = type { <8 x double> }
540 // CHECK-128-NEXT: %struct.struct_int8m8 = type { <128 x i8> }
541 // CHECK-128-NEXT: %struct.struct_int16m8 = type { <64 x i16> }
542 // CHECK-128-NEXT: %struct.struct_int32m8 = type { <32 x i32> }
543 // CHECK-128-NEXT: %struct.struct_int64m8 = type { <16 x i64> }
544 // CHECK-128-NEXT: %struct.struct_uint8m8 = type { <128 x i8> }
545 // CHECK-128-NEXT: %struct.struct_uint16m8 = type { <64 x i16> }
546 // CHECK-128-NEXT: %struct.struct_uint32m8 = type { <32 x i32> }
547 // CHECK-128-NEXT: %struct.struct_uint64m8 = type { <16 x i64> }
548 // CHECK-128-NEXT: %struct.struct_float32m8 = type { <32 x float> }
549 // CHECK-128-NEXT: %struct.struct_float64m8 = type { <16 x double> }
551 // CHECK-256: %struct.struct_int8m1 = type { <32 x i8> }
552 // CHECK-256-NEXT: %struct.struct_int16m1 = type { <16 x i16> }
553 // CHECK-256-NEXT: %struct.struct_int32m1 = type { <8 x i32> }
554 // CHECK-256-NEXT: %struct.struct_int64m1 = type { <4 x i64> }
555 // CHECK-256-NEXT: %struct.struct_uint8m1 = type { <32 x i8> }
556 // CHECK-256-NEXT: %struct.struct_uint16m1 = type { <16 x i16> }
557 // CHECK-256-NEXT: %struct.struct_uint32m1 = type { <8 x i32> }
558 // CHECK-256-NEXT: %struct.struct_uint64m1 = type { <4 x i64> }
559 // CHECK-256-NEXT: %struct.struct_float32m1 = type { <8 x float> }
560 // CHECK-256-NEXT: %struct.struct_float64m1 = type { <4 x double> }
561 // CHECK-256-NEXT: %struct.struct_int8m2 = type { <64 x i8> }
562 // CHECK-256-NEXT: %struct.struct_int16m2 = type { <32 x i16> }
563 // CHECK-256-NEXT: %struct.struct_int32m2 = type { <16 x i32> }
564 // CHECK-256-NEXT: %struct.struct_int64m2 = type { <8 x i64> }
565 // CHECK-256-NEXT: %struct.struct_uint8m2 = type { <64 x i8> }
566 // CHECK-256-NEXT: %struct.struct_uint16m2 = type { <32 x i16> }
567 // CHECK-256-NEXT: %struct.struct_uint32m2 = type { <16 x i32> }
568 // CHECK-256-NEXT: %struct.struct_uint64m2 = type { <8 x i64> }
569 // CHECK-256-NEXT: %struct.struct_float32m2 = type { <16 x float> }
570 // CHECK-256-NEXT: %struct.struct_float64m2 = type { <8 x double> }
571 // CHECK-256-NEXT: %struct.struct_int8m4 = type { <128 x i8> }
572 // CHECK-256-NEXT: %struct.struct_int16m4 = type { <64 x i16> }
573 // CHECK-256-NEXT: %struct.struct_int32m4 = type { <32 x i32> }
574 // CHECK-256-NEXT: %struct.struct_int64m4 = type { <16 x i64> }
575 // CHECK-256-NEXT: %struct.struct_uint8m4 = type { <128 x i8> }
576 // CHECK-256-NEXT: %struct.struct_uint16m4 = type { <64 x i16> }
577 // CHECK-256-NEXT: %struct.struct_uint32m4 = type { <32 x i32> }
578 // CHECK-256-NEXT: %struct.struct_uint64m4 = type { <16 x i64> }
579 // CHECK-256-NEXT: %struct.struct_float32m4 = type { <32 x float> }
580 // CHECK-256-NEXT: %struct.struct_float64m4 = type { <16 x double> }
581 // CHECK-256-NEXT: %struct.struct_int8m8 = type { <256 x i8> }
582 // CHECK-256-NEXT: %struct.struct_int16m8 = type { <128 x i16> }
583 // CHECK-256-NEXT: %struct.struct_int32m8 = type { <64 x i32> }
584 // CHECK-256-NEXT: %struct.struct_int64m8 = type { <32 x i64> }
585 // CHECK-256-NEXT: %struct.struct_uint8m8 = type { <256 x i8> }
586 // CHECK-256-NEXT: %struct.struct_uint16m8 = type { <128 x i16> }
587 // CHECK-256-NEXT: %struct.struct_uint32m8 = type { <64 x i32> }
588 // CHECK-256-NEXT: %struct.struct_uint64m8 = type { <32 x i64> }
589 // CHECK-256-NEXT: %struct.struct_float32m8 = type { <64 x float> }
591 // CHECK-512: %struct.struct_int8m1 = type { <64 x i8> }
592 // CHECK-512-NEXT: %struct.struct_int16m1 = type { <32 x i16> }
593 // CHECK-512-NEXT: %struct.struct_int32m1 = type { <16 x i32> }
594 // CHECK-512-NEXT: %struct.struct_int64m1 = type { <8 x i64> }
595 // CHECK-512-NEXT: %struct.struct_uint8m1 = type { <64 x i8> }
596 // CHECK-512-NEXT: %struct.struct_uint16m1 = type { <32 x i16> }
597 // CHECK-512-NEXT: %struct.struct_uint32m1 = type { <16 x i32> }
598 // CHECK-512-NEXT: %struct.struct_uint64m1 = type { <8 x i64> }
599 // CHECK-512-NEXT: %struct.struct_float32m1 = type { <16 x float> }
600 // CHECK-512-NEXT: %struct.struct_float64m1 = type { <8 x double> }
601 // CHECK-512-NEXT: %struct.struct_int8m2 = type { <128 x i8> }
602 // CHECK-512-NEXT: %struct.struct_int16m2 = type { <64 x i16> }
603 // CHECK-512-NEXT: %struct.struct_int32m2 = type { <32 x i32> }
604 // CHECK-512-NEXT: %struct.struct_int64m2 = type { <16 x i64> }
605 // CHECK-512-NEXT: %struct.struct_uint8m2 = type { <128 x i8> }
606 // CHECK-512-NEXT: %struct.struct_uint16m2 = type { <64 x i16> }
607 // CHECK-512-NEXT: %struct.struct_uint32m2 = type { <32 x i32> }
608 // CHECK-512-NEXT: %struct.struct_uint64m2 = type { <16 x i64> }
609 // CHECK-512-NEXT: %struct.struct_float32m2 = type { <32 x float> }
610 // CHECK-512-NEXT: %struct.struct_float64m2 = type { <16 x double> }
611 // CHECK-512-NEXT: %struct.struct_int8m4 = type { <256 x i8> }
612 // CHECK-512-NEXT: %struct.struct_int16m4 = type { <128 x i16> }
613 // CHECK-512-NEXT: %struct.struct_int32m4 = type { <64 x i32> }
614 // CHECK-512-NEXT: %struct.struct_int64m4 = type { <32 x i64> }
615 // CHECK-512-NEXT: %struct.struct_uint8m4 = type { <256 x i8> }
616 // CHECK-512-NEXT: %struct.struct_uint16m4 = type { <128 x i16> }
617 // CHECK-512-NEXT: %struct.struct_uint32m4 = type { <64 x i32> }
618 // CHECK-512-NEXT: %struct.struct_uint64m4 = type { <32 x i64> }
619 // CHECK-512-NEXT: %struct.struct_float32m4 = type { <64 x float> }
620 // CHECK-512-NEXT: %struct.struct_float64m4 = type { <32 x double> }
621 // CHECK-512-NEXT: %struct.struct_int8m8 = type { <512 x i8> }
622 // CHECK-512-NEXT: %struct.struct_int16m8 = type { <256 x i16> }
623 // CHECK-512-NEXT: %struct.struct_int32m8 = type { <128 x i32> }
624 // CHECK-512-NEXT: %struct.struct_int64m8 = type { <64 x i64> }
625 // CHECK-512-NEXT: %struct.struct_uint8m8 = type { <512 x i8> }
626 // CHECK-512-NEXT: %struct.struct_uint16m8 = type { <256 x i16> }
627 // CHECK-512-NEXT: %struct.struct_uint32m8 = type { <128 x i32> }
628 // CHECK-512-NEXT: %struct.struct_uint64m8 = type { <64 x i64> }
629 // CHECK-512-NEXT: %struct.struct_float32m8 = type { <128 x float> }
631 // CHECK-1024: %struct.struct_int8m1 = type { <128 x i8> }
632 // CHECK-1024-NEXT: %struct.struct_int16m1 = type { <64 x i16> }
633 // CHECK-1024-NEXT: %struct.struct_int32m1 = type { <32 x i32> }
634 // CHECK-1024-NEXT: %struct.struct_int64m1 = type { <16 x i64> }
635 // CHECK-1024-NEXT: %struct.struct_uint8m1 = type { <128 x i8> }
636 // CHECK-1024-NEXT: %struct.struct_uint16m1 = type { <64 x i16> }
637 // CHECK-1024-NEXT: %struct.struct_uint32m1 = type { <32 x i32> }
638 // CHECK-1024-NEXT: %struct.struct_uint64m1 = type { <16 x i64> }
639 // CHECK-1024-NEXT: %struct.struct_float32m1 = type { <32 x float> }
640 // CHECK-1024-NEXT: %struct.struct_float64m1 = type { <16 x double> }
641 // CHECK-1024-NEXT: %struct.struct_int8m2 = type { <256 x i8> }
642 // CHECK-1024-NEXT: %struct.struct_int16m2 = type { <128 x i16> }
643 // CHECK-1024-NEXT: %struct.struct_int32m2 = type { <64 x i32> }
644 // CHECK-1024-NEXT: %struct.struct_int64m2 = type { <32 x i64> }
645 // CHECK-1024-NEXT: %struct.struct_uint8m2 = type { <256 x i8> }
646 // CHECK-1024-NEXT: %struct.struct_uint16m2 = type { <128 x i16> }
647 // CHECK-1024-NEXT: %struct.struct_uint32m2 = type { <64 x i32> }
648 // CHECK-1024-NEXT: %struct.struct_uint64m2 = type { <32 x i64> }
649 // CHECK-1024-NEXT: %struct.struct_float32m2 = type { <64 x float> }
650 // CHECK-1024-NEXT: %struct.struct_float64m2 = type { <32 x double> }
651 // CHECK-1024-NEXT: %struct.struct_int8m4 = type { <512 x i8> }
652 // CHECK-1024-NEXT: %struct.struct_int16m4 = type { <256 x i16> }
653 // CHECK-1024-NEXT: %struct.struct_int32m4 = type { <128 x i32> }
654 // CHECK-1024-NEXT: %struct.struct_int64m4 = type { <64 x i64> }
655 // CHECK-1024-NEXT: %struct.struct_uint8m4 = type { <512 x i8> }
656 // CHECK-1024-NEXT: %struct.struct_uint16m4 = type { <256 x i16> }
657 // CHECK-1024-NEXT: %struct.struct_uint32m4 = type { <128 x i32> }
658 // CHECK-1024-NEXT: %struct.struct_uint64m4 = type { <64 x i64> }
659 // CHECK-1024-NEXT: %struct.struct_float32m4 = type { <128 x float> }
660 // CHECK-1024-NEXT: %struct.struct_float64m4 = type { <64 x double> }
661 // CHECK-1024-NEXT: %struct.struct_int8m8 = type { <1024 x i8> }
662 // CHECK-1024-NEXT: %struct.struct_int16m8 = type { <512 x i16> }
663 // CHECK-1024-NEXT: %struct.struct_int32m8 = type { <256 x i32> }
664 // CHECK-1024-NEXT: %struct.struct_int64m8 = type { <128 x i64> }
665 // CHECK-1024-NEXT: %struct.struct_uint8m8 = type { <1024 x i8> }
666 // CHECK-1024-NEXT: %struct.struct_uint16m8 = type { <512 x i16> }
667 // CHECK-1024-NEXT: %struct.struct_uint32m8 = type { <256 x i32> }
668 // CHECK-1024-NEXT: %struct.struct_uint64m8 = type { <128 x i64> }
669 // CHECK-1024-NEXT: %struct.struct_float32m8 = type { <256 x float> }
671 // CHECK-64: %union.union_int8m1 = type { <8 x i8> }
672 // CHECK-64-NEXT: %union.union_int16m1 = type { <4 x i16> }
673 // CHECK-64-NEXT: %union.union_int32m1 = type { <2 x i32> }
674 // CHECK-64-NEXT: %union.union_int64m1 = type { <1 x i64> }
675 // CHECK-64-NEXT: %union.union_uint8m1 = type { <8 x i8> }
676 // CHECK-64-NEXT: %union.union_uint16m1 = type { <4 x i16> }
677 // CHECK-64-NEXT: %union.union_uint32m1 = type { <2 x i32> }
678 // CHECK-64-NEXT: %union.union_uint64m1 = type { <1 x i64> }
679 // CHECK-64-NEXT: %union.union_float32m1 = type { <2 x float> }
680 // CHECK-64-NEXT: %union.union_float64m1 = type { <1 x double> }
681 // CHECK-64-NEXT: %union.union_int8m2 = type { <16 x i8> }
682 // CHECK-64-NEXT: %union.union_int16m2 = type { <8 x i16> }
683 // CHECK-64-NEXT: %union.union_int32m2 = type { <4 x i32> }
684 // CHECK-64-NEXT: %union.union_int64m2 = type { <2 x i64> }
685 // CHECK-64-NEXT: %union.union_uint8m2 = type { <16 x i8> }
686 // CHECK-64-NEXT: %union.union_uint16m2 = type { <8 x i16> }
687 // CHECK-64-NEXT: %union.union_uint32m2 = type { <4 x i32> }
688 // CHECK-64-NEXT: %union.union_uint64m2 = type { <2 x i64> }
689 // CHECK-64-NEXT: %union.union_float32m2 = type { <4 x float> }
690 // CHECK-64-NEXT: %union.union_float64m2 = type { <2 x double> }
691 // CHECK-64-NEXT: %union.union_int8m4 = type { <32 x i8> }
692 // CHECK-64-NEXT: %union.union_int16m4 = type { <16 x i16> }
693 // CHECK-64-NEXT: %union.union_int32m4 = type { <8 x i32> }
694 // CHECK-64-NEXT: %union.union_int64m4 = type { <4 x i64> }
695 // CHECK-64-NEXT: %union.union_uint8m4 = type { <32 x i8> }
696 // CHECK-64-NEXT: %union.union_uint16m4 = type { <16 x i16> }
697 // CHECK-64-NEXT: %union.union_uint32m4 = type { <8 x i32> }
698 // CHECK-64-NEXT: %union.union_uint64m4 = type { <4 x i64> }
699 // CHECK-64-NEXT: %union.union_float32m4 = type { <8 x float> }
700 // CHECK-64-NEXT: %union.union_float64m4 = type { <4 x double> }
701 // CHECK-64-NEXT: %union.union_int8m8 = type { <64 x i8> }
702 // CHECK-64-NEXT: %union.union_int16m8 = type { <32 x i16> }
703 // CHECK-64-NEXT: %union.union_int32m8 = type { <16 x i32> }
704 // CHECK-64-NEXT: %union.union_int64m8 = type { <8 x i64> }
705 // CHECK-64-NEXT: %union.union_uint8m8 = type { <64 x i8> }
706 // CHECK-64-NEXT: %union.union_uint16m8 = type { <32 x i16> }
707 // CHECK-64-NEXT: %union.union_uint32m8 = type { <16 x i32> }
708 // CHECK-64-NEXT: %union.union_uint64m8 = type { <8 x i64> }
709 // CHECK-64-NEXT: %union.union_float32m8 = type { <16 x float> }
710 // CHECK-64-NEXT: %union.union_float64m8 = type { <8 x double> }
712 // CHECK-128: %union.union_int8m1 = type { <16 x i8> }
713 // CHECK-128-NEXT: %union.union_int16m1 = type { <8 x i16> }
714 // CHECK-128-NEXT: %union.union_int32m1 = type { <4 x i32> }
715 // CHECK-128-NEXT: %union.union_int64m1 = type { <2 x i64> }
716 // CHECK-128-NEXT: %union.union_uint8m1 = type { <16 x i8> }
717 // CHECK-128-NEXT: %union.union_uint16m1 = type { <8 x i16> }
718 // CHECK-128-NEXT: %union.union_uint32m1 = type { <4 x i32> }
719 // CHECK-128-NEXT: %union.union_uint64m1 = type { <2 x i64> }
720 // CHECK-128-NEXT: %union.union_float32m1 = type { <4 x float> }
721 // CHECK-128-NEXT: %union.union_float64m1 = type { <2 x double> }
722 // CHECK-128-NEXT: %union.union_int8m2 = type { <32 x i8> }
723 // CHECK-128-NEXT: %union.union_int16m2 = type { <16 x i16> }
724 // CHECK-128-NEXT: %union.union_int32m2 = type { <8 x i32> }
725 // CHECK-128-NEXT: %union.union_int64m2 = type { <4 x i64> }
726 // CHECK-128-NEXT: %union.union_uint8m2 = type { <32 x i8> }
727 // CHECK-128-NEXT: %union.union_uint16m2 = type { <16 x i16> }
728 // CHECK-128-NEXT: %union.union_uint32m2 = type { <8 x i32> }
729 // CHECK-128-NEXT: %union.union_uint64m2 = type { <4 x i64> }
730 // CHECK-128-NEXT: %union.union_float32m2 = type { <8 x float> }
731 // CHECK-128-NEXT: %union.union_float64m2 = type { <4 x double> }
732 // CHECK-128-NEXT: %union.union_int8m4 = type { <64 x i8> }
733 // CHECK-128-NEXT: %union.union_int16m4 = type { <32 x i16> }
734 // CHECK-128-NEXT: %union.union_int32m4 = type { <16 x i32> }
735 // CHECK-128-NEXT: %union.union_int64m4 = type { <8 x i64> }
736 // CHECK-128-NEXT: %union.union_uint8m4 = type { <64 x i8> }
737 // CHECK-128-NEXT: %union.union_uint16m4 = type { <32 x i16> }
738 // CHECK-128-NEXT: %union.union_uint32m4 = type { <16 x i32> }
739 // CHECK-128-NEXT: %union.union_uint64m4 = type { <8 x i64> }
740 // CHECK-128-NEXT: %union.union_float32m4 = type { <16 x float> }
741 // CHECK-128-NEXT: %union.union_float64m4 = type { <8 x double> }
742 // CHECK-128-NEXT: %union.union_int8m8 = type { <128 x i8> }
743 // CHECK-128-NEXT: %union.union_int16m8 = type { <64 x i16> }
744 // CHECK-128-NEXT: %union.union_int32m8 = type { <32 x i32> }
745 // CHECK-128-NEXT: %union.union_int64m8 = type { <16 x i64> }
746 // CHECK-128-NEXT: %union.union_uint8m8 = type { <128 x i8> }
747 // CHECK-128-NEXT: %union.union_uint16m8 = type { <64 x i16> }
748 // CHECK-128-NEXT: %union.union_uint32m8 = type { <32 x i32> }
749 // CHECK-128-NEXT: %union.union_uint64m8 = type { <16 x i64> }
750 // CHECK-128-NEXT: %union.union_float32m8 = type { <32 x float> }
751 // CHECK-128-NEXT: %union.union_float64m8 = type { <16 x double> }
753 // CHECK-256: %union.union_int8m1 = type { <32 x i8> }
754 // CHECK-256-NEXT: %union.union_int16m1 = type { <16 x i16> }
755 // CHECK-256-NEXT: %union.union_int32m1 = type { <8 x i32> }
756 // CHECK-256-NEXT: %union.union_int64m1 = type { <4 x i64> }
757 // CHECK-256-NEXT: %union.union_uint8m1 = type { <32 x i8> }
758 // CHECK-256-NEXT: %union.union_uint16m1 = type { <16 x i16> }
759 // CHECK-256-NEXT: %union.union_uint32m1 = type { <8 x i32> }
760 // CHECK-256-NEXT: %union.union_uint64m1 = type { <4 x i64> }
761 // CHECK-256-NEXT: %union.union_float32m1 = type { <8 x float> }
762 // CHECK-256-NEXT: %union.union_float64m1 = type { <4 x double> }
763 // CHECK-256-NEXT: %union.union_int8m2 = type { <64 x i8> }
764 // CHECK-256-NEXT: %union.union_int16m2 = type { <32 x i16> }
765 // CHECK-256-NEXT: %union.union_int32m2 = type { <16 x i32> }
766 // CHECK-256-NEXT: %union.union_int64m2 = type { <8 x i64> }
767 // CHECK-256-NEXT: %union.union_uint8m2 = type { <64 x i8> }
768 // CHECK-256-NEXT: %union.union_uint16m2 = type { <32 x i16> }
769 // CHECK-256-NEXT: %union.union_uint32m2 = type { <16 x i32> }
770 // CHECK-256-NEXT: %union.union_uint64m2 = type { <8 x i64> }
771 // CHECK-256-NEXT: %union.union_float32m2 = type { <16 x float> }
772 // CHECK-256-NEXT: %union.union_float64m2 = type { <8 x double> }
773 // CHECK-256-NEXT: %union.union_int8m4 = type { <128 x i8> }
774 // CHECK-256-NEXT: %union.union_int16m4 = type { <64 x i16> }
775 // CHECK-256-NEXT: %union.union_int32m4 = type { <32 x i32> }
776 // CHECK-256-NEXT: %union.union_int64m4 = type { <16 x i64> }
777 // CHECK-256-NEXT: %union.union_uint8m4 = type { <128 x i8> }
778 // CHECK-256-NEXT: %union.union_uint16m4 = type { <64 x i16> }
779 // CHECK-256-NEXT: %union.union_uint32m4 = type { <32 x i32> }
780 // CHECK-256-NEXT: %union.union_uint64m4 = type { <16 x i64> }
781 // CHECK-256-NEXT: %union.union_float32m4 = type { <32 x float> }
782 // CHECK-256-NEXT: %union.union_float64m4 = type { <16 x double> }
783 // CHECK-256-NEXT: %union.union_int8m8 = type { <256 x i8> }
784 // CHECK-256-NEXT: %union.union_int16m8 = type { <128 x i16> }
785 // CHECK-256-NEXT: %union.union_int32m8 = type { <64 x i32> }
786 // CHECK-256-NEXT: %union.union_int64m8 = type { <32 x i64> }
787 // CHECK-256-NEXT: %union.union_uint8m8 = type { <256 x i8> }
788 // CHECK-256-NEXT: %union.union_uint16m8 = type { <128 x i16> }
789 // CHECK-256-NEXT: %union.union_uint32m8 = type { <64 x i32> }
790 // CHECK-256-NEXT: %union.union_uint64m8 = type { <32 x i64> }
791 // CHECK-256-NEXT: %union.union_float32m8 = type { <64 x float> }
792 // CHECK-256-NEXT: %union.union_float64m8 = type { <32 x double> }
794 // CHECK-512: %union.union_int8m1 = type { <64 x i8> }
795 // CHECK-512-NEXT: %union.union_int16m1 = type { <32 x i16> }
796 // CHECK-512-NEXT: %union.union_int32m1 = type { <16 x i32> }
797 // CHECK-512-NEXT: %union.union_int64m1 = type { <8 x i64> }
798 // CHECK-512-NEXT: %union.union_uint8m1 = type { <64 x i8> }
799 // CHECK-512-NEXT: %union.union_uint16m1 = type { <32 x i16> }
800 // CHECK-512-NEXT: %union.union_uint32m1 = type { <16 x i32> }
801 // CHECK-512-NEXT: %union.union_uint64m1 = type { <8 x i64> }
802 // CHECK-512-NEXT: %union.union_float32m1 = type { <16 x float> }
803 // CHECK-512-NEXT: %union.union_float64m1 = type { <8 x double> }
804 // CHECK-512-NEXT: %union.union_int8m2 = type { <128 x i8> }
805 // CHECK-512-NEXT: %union.union_int16m2 = type { <64 x i16> }
806 // CHECK-512-NEXT: %union.union_int32m2 = type { <32 x i32> }
807 // CHECK-512-NEXT: %union.union_int64m2 = type { <16 x i64> }
808 // CHECK-512-NEXT: %union.union_uint8m2 = type { <128 x i8> }
809 // CHECK-512-NEXT: %union.union_uint16m2 = type { <64 x i16> }
810 // CHECK-512-NEXT: %union.union_uint32m2 = type { <32 x i32> }
811 // CHECK-512-NEXT: %union.union_uint64m2 = type { <16 x i64> }
812 // CHECK-512-NEXT: %union.union_float32m2 = type { <32 x float> }
813 // CHECK-512-NEXT: %union.union_float64m2 = type { <16 x double> }
814 // CHECK-512-NEXT: %union.union_int8m4 = type { <256 x i8> }
815 // CHECK-512-NEXT: %union.union_int16m4 = type { <128 x i16> }
816 // CHECK-512-NEXT: %union.union_int32m4 = type { <64 x i32> }
817 // CHECK-512-NEXT: %union.union_int64m4 = type { <32 x i64> }
818 // CHECK-512-NEXT: %union.union_uint8m4 = type { <256 x i8> }
819 // CHECK-512-NEXT: %union.union_uint16m4 = type { <128 x i16> }
820 // CHECK-512-NEXT: %union.union_uint32m4 = type { <64 x i32> }
821 // CHECK-512-NEXT: %union.union_uint64m4 = type { <32 x i64> }
822 // CHECK-512-NEXT: %union.union_float32m4 = type { <64 x float> }
823 // CHECK-512-NEXT: %union.union_float64m4 = type { <32 x double> }
824 // CHECK-512-NEXT: %union.union_int8m8 = type { <512 x i8> }
825 // CHECK-512-NEXT: %union.union_int16m8 = type { <256 x i16> }
826 // CHECK-512-NEXT: %union.union_int32m8 = type { <128 x i32> }
827 // CHECK-512-NEXT: %union.union_int64m8 = type { <64 x i64> }
828 // CHECK-512-NEXT: %union.union_uint8m8 = type { <512 x i8> }
829 // CHECK-512-NEXT: %union.union_uint16m8 = type { <256 x i16> }
830 // CHECK-512-NEXT: %union.union_uint32m8 = type { <128 x i32> }
831 // CHECK-512-NEXT: %union.union_uint64m8 = type { <64 x i64> }
832 // CHECK-512-NEXT: %union.union_float32m8 = type { <128 x float> }
833 // CHECK-512-NEXT: %union.union_float64m8 = type { <64 x double> }
835 // CHECK-1024: %union.union_int8m1 = type { <128 x i8> }
836 // CHECK-1024-NEXT: %union.union_int16m1 = type { <64 x i16> }
837 // CHECK-1024-NEXT: %union.union_int32m1 = type { <32 x i32> }
838 // CHECK-1024-NEXT: %union.union_int64m1 = type { <16 x i64> }
839 // CHECK-1024-NEXT: %union.union_uint8m1 = type { <128 x i8> }
840 // CHECK-1024-NEXT: %union.union_uint16m1 = type { <64 x i16> }
841 // CHECK-1024-NEXT: %union.union_uint32m1 = type { <32 x i32> }
842 // CHECK-1024-NEXT: %union.union_uint64m1 = type { <16 x i64> }
843 // CHECK-1024-NEXT: %union.union_float32m1 = type { <32 x float> }
844 // CHECK-1024-NEXT: %union.union_float64m1 = type { <16 x double> }
845 // CHECK-1024-NEXT: %union.union_int8m2 = type { <256 x i8> }
846 // CHECK-1024-NEXT: %union.union_int16m2 = type { <128 x i16> }
847 // CHECK-1024-NEXT: %union.union_int32m2 = type { <64 x i32> }
848 // CHECK-1024-NEXT: %union.union_int64m2 = type { <32 x i64> }
849 // CHECK-1024-NEXT: %union.union_uint8m2 = type { <256 x i8> }
850 // CHECK-1024-NEXT: %union.union_uint16m2 = type { <128 x i16> }
851 // CHECK-1024-NEXT: %union.union_uint32m2 = type { <64 x i32> }
852 // CHECK-1024-NEXT: %union.union_uint64m2 = type { <32 x i64> }
853 // CHECK-1024-NEXT: %union.union_float32m2 = type { <64 x float> }
854 // CHECK-1024-NEXT: %union.union_float64m2 = type { <32 x double> }
855 // CHECK-1024-NEXT: %union.union_int8m4 = type { <512 x i8> }
856 // CHECK-1024-NEXT: %union.union_int16m4 = type { <256 x i16> }
857 // CHECK-1024-NEXT: %union.union_int32m4 = type { <128 x i32> }
858 // CHECK-1024-NEXT: %union.union_int64m4 = type { <64 x i64> }
859 // CHECK-1024-NEXT: %union.union_uint8m4 = type { <512 x i8> }
860 // CHECK-1024-NEXT: %union.union_uint16m4 = type { <256 x i16> }
861 // CHECK-1024-NEXT: %union.union_uint32m4 = type { <128 x i32> }
862 // CHECK-1024-NEXT: %union.union_uint64m4 = type { <64 x i64> }
863 // CHECK-1024-NEXT: %union.union_float32m4 = type { <128 x float> }
864 // CHECK-1024-NEXT: %union.union_float64m4 = type { <64 x double> }
865 // CHECK-1024-NEXT: %union.union_int8m8 = type { <1024 x i8> }
866 // CHECK-1024-NEXT: %union.union_int16m8 = type { <512 x i16> }
867 // CHECK-1024-NEXT: %union.union_int32m8 = type { <256 x i32> }
868 // CHECK-1024-NEXT: %union.union_int64m8 = type { <128 x i64> }
869 // CHECK-1024-NEXT: %union.union_uint8m8 = type { <1024 x i8> }
870 // CHECK-1024-NEXT: %union.union_uint16m8 = type { <512 x i16> }
871 // CHECK-1024-NEXT: %union.union_uint32m8 = type { <256 x i32> }
872 // CHECK-1024-NEXT: %union.union_uint64m8 = type { <128 x i64> }
873 // CHECK-1024-NEXT: %union.union_float32m8 = type { <256 x float> }
874 // CHECK-1024-NEXT: %union.union_float64m8 = type { <128 x double> }
876 //===----------------------------------------------------------------------===//
877 // Global variables
878 //===----------------------------------------------------------------------===//
879 // CHECK-64: @global_i8 ={{.*}} global <8 x i8> zeroinitializer, align 8
880 // CHECK-64-NEXT: @global_i16 ={{.*}} global <4 x i16> zeroinitializer, align 8
881 // CHECK-64-NEXT: @global_i32 ={{.*}} global <2 x i32> zeroinitializer, align 8
882 // CHECK-64-NEXT: @global_i64 ={{.*}} global <1 x i64> zeroinitializer, align 8
883 // CHECK-64-NEXT: @global_u8 ={{.*}} global <8 x i8> zeroinitializer, align 8
884 // CHECK-64-NEXT: @global_u16 ={{.*}} global <4 x i16> zeroinitializer, align 8
885 // CHECK-64-NEXT: @global_u32 ={{.*}} global <2 x i32> zeroinitializer, align 8
886 // CHECK-64-NEXT: @global_u64 ={{.*}} global <1 x i64> zeroinitializer, align 8
887 // CHECK-64-NEXT: @global_f32 ={{.*}} global <2 x float> zeroinitializer, align 8
888 // CHECK-64-NEXT: @global_f64 ={{.*}} global <1 x double> zeroinitializer, align 8
889 // CHECK-64-NEXT: @global_i8m2 ={{.*}} global <16 x i8> zeroinitializer, align 8
890 // CHECK-64-NEXT: @global_i16m2 ={{.*}} global <8 x i16> zeroinitializer, align 8
891 // CHECK-64-NEXT: @global_i32m2 ={{.*}} global <4 x i32> zeroinitializer, align 8
892 // CHECK-64-NEXT: @global_i64m2 ={{.*}} global <2 x i64> zeroinitializer, align 8
893 // CHECK-64-NEXT: @global_u8m2 ={{.*}} global <16 x i8> zeroinitializer, align 8
894 // CHECK-64-NEXT: @global_u16m2 ={{.*}} global <8 x i16> zeroinitializer, align 8
895 // CHECK-64-NEXT: @global_u32m2 ={{.*}} global <4 x i32> zeroinitializer, align 8
896 // CHECK-64-NEXT: @global_u64m2 ={{.*}} global <2 x i64> zeroinitializer, align 8
897 // CHECK-64-NEXT: @global_f32m2 ={{.*}} global <4 x float> zeroinitializer, align 8
898 // CHECK-64-NEXT: @global_f64m2 ={{.*}} global <2 x double> zeroinitializer, align 8
899 // CHECK-64-NEXT: @global_i8m4 ={{.*}} global <32 x i8> zeroinitializer, align 8
900 // CHECK-64-NEXT: @global_i16m4 ={{.*}} global <16 x i16> zeroinitializer, align 8
901 // CHECK-64-NEXT: @global_i32m4 ={{.*}} global <8 x i32> zeroinitializer, align 8
902 // CHECK-64-NEXT: @global_i64m4 ={{.*}} global <4 x i64> zeroinitializer, align 8
903 // CHECK-64-NEXT: @global_u8m4 ={{.*}} global <32 x i8> zeroinitializer, align 8
904 // CHECK-64-NEXT: @global_u16m4 ={{.*}} global <16 x i16> zeroinitializer, align 8
905 // CHECK-64-NEXT: @global_u32m4 ={{.*}} global <8 x i32> zeroinitializer, align 8
906 // CHECK-64-NEXT: @global_u64m4 ={{.*}} global <4 x i64> zeroinitializer, align 8
907 // CHECK-64-NEXT: @global_f32m4 ={{.*}} global <8 x float> zeroinitializer, align 8
908 // CHECK-64-NEXT: @global_f64m4 ={{.*}} global <4 x double> zeroinitializer, align 8
909 // CHECK-64-NEXT: @global_i8m8 ={{.*}} global <64 x i8> zeroinitializer, align 8
910 // CHECK-64-NEXT: @global_i16m8 ={{.*}} global <32 x i16> zeroinitializer, align 8
911 // CHECK-64-NEXT: @global_i32m8 ={{.*}} global <16 x i32> zeroinitializer, align 8
912 // CHECK-64-NEXT: @global_i64m8 ={{.*}} global <8 x i64> zeroinitializer, align 8
913 // CHECK-64-NEXT: @global_u8m8 ={{.*}} global <64 x i8> zeroinitializer, align 8
914 // CHECK-64-NEXT: @global_u16m8 ={{.*}} global <32 x i16> zeroinitializer, align 8
915 // CHECK-64-NEXT: @global_u32m8 ={{.*}} global <16 x i32> zeroinitializer, align 8
916 // CHECK-64-NEXT: @global_u64m8 ={{.*}} global <8 x i64> zeroinitializer, align 8
917 // CHECK-64-NEXT: @global_f32m8 ={{.*}} global <16 x float> zeroinitializer, align 8
918 // CHECK-64-NEXT: @global_f64m8 ={{.*}} global <8 x double> zeroinitializer, align 8
920 // CHECK-128: @global_i8 ={{.*}} global <16 x i8> zeroinitializer, align 8
921 // CHECK-128-NEXT: @global_i16 ={{.*}} global <8 x i16> zeroinitializer, align 8
922 // CHECK-128-NEXT: @global_i32 ={{.*}} global <4 x i32> zeroinitializer, align 8
923 // CHECK-128-NEXT: @global_i64 ={{.*}} global <2 x i64> zeroinitializer, align 8
924 // CHECK-128-NEXT: @global_u8 ={{.*}} global <16 x i8> zeroinitializer, align 8
925 // CHECK-128-NEXT: @global_u16 ={{.*}} global <8 x i16> zeroinitializer, align 8
926 // CHECK-128-NEXT: @global_u32 ={{.*}} global <4 x i32> zeroinitializer, align 8
927 // CHECK-128-NEXT: @global_u64 ={{.*}} global <2 x i64> zeroinitializer, align 8
928 // CHECK-128-NEXT: @global_f32 ={{.*}} global <4 x float> zeroinitializer, align 8
929 // CHECK-128-NEXT: @global_f64 ={{.*}} global <2 x double> zeroinitializer, align 8
930 // CHECK-128-NEXT: @global_i8m2 ={{.*}} global <32 x i8> zeroinitializer, align 8
931 // CHECK-128-NEXT: @global_i16m2 ={{.*}} global <16 x i16> zeroinitializer, align 8
932 // CHECK-128-NEXT: @global_i32m2 ={{.*}} global <8 x i32> zeroinitializer, align 8
933 // CHECK-128-NEXT: @global_i64m2 ={{.*}} global <4 x i64> zeroinitializer, align 8
934 // CHECK-128-NEXT: @global_u8m2 ={{.*}} global <32 x i8> zeroinitializer, align 8
935 // CHECK-128-NEXT: @global_u16m2 ={{.*}} global <16 x i16> zeroinitializer, align 8
936 // CHECK-128-NEXT: @global_u32m2 ={{.*}} global <8 x i32> zeroinitializer, align 8
937 // CHECK-128-NEXT: @global_u64m2 ={{.*}} global <4 x i64> zeroinitializer, align 8
938 // CHECK-128-NEXT: @global_f32m2 ={{.*}} global <8 x float> zeroinitializer, align 8
939 // CHECK-128-NEXT: @global_f64m2 ={{.*}} global <4 x double> zeroinitializer, align 8
940 // CHECK-128-NEXT: @global_i8m4 ={{.*}} global <64 x i8> zeroinitializer, align 8
941 // CHECK-128-NEXT: @global_i16m4 ={{.*}} global <32 x i16> zeroinitializer, align 8
942 // CHECK-128-NEXT: @global_i32m4 ={{.*}} global <16 x i32> zeroinitializer, align 8
943 // CHECK-128-NEXT: @global_i64m4 ={{.*}} global <8 x i64> zeroinitializer, align 8
944 // CHECK-128-NEXT: @global_u8m4 ={{.*}} global <64 x i8> zeroinitializer, align 8
945 // CHECK-128-NEXT: @global_u16m4 ={{.*}} global <32 x i16> zeroinitializer, align 8
946 // CHECK-128-NEXT: @global_u32m4 ={{.*}} global <16 x i32> zeroinitializer, align 8
947 // CHECK-128-NEXT: @global_u64m4 ={{.*}} global <8 x i64> zeroinitializer, align 8
948 // CHECK-128-NEXT: @global_f32m4 ={{.*}} global <16 x float> zeroinitializer, align 8
949 // CHECK-128-NEXT: @global_f64m4 ={{.*}} global <8 x double> zeroinitializer, align 8
950 // CHECK-128-NEXT: @global_i8m8 ={{.*}} global <128 x i8> zeroinitializer, align 8
951 // CHECK-128-NEXT: @global_i16m8 ={{.*}} global <64 x i16> zeroinitializer, align 8
952 // CHECK-128-NEXT: @global_i32m8 ={{.*}} global <32 x i32> zeroinitializer, align 8
953 // CHECK-128-NEXT: @global_i64m8 ={{.*}} global <16 x i64> zeroinitializer, align 8
954 // CHECK-128-NEXT: @global_u8m8 ={{.*}} global <128 x i8> zeroinitializer, align 8
955 // CHECK-128-NEXT: @global_u16m8 ={{.*}} global <64 x i16> zeroinitializer, align 8
956 // CHECK-128-NEXT: @global_u32m8 ={{.*}} global <32 x i32> zeroinitializer, align 8
957 // CHECK-128-NEXT: @global_u64m8 ={{.*}} global <16 x i64> zeroinitializer, align 8
958 // CHECK-128-NEXT: @global_f32m8 ={{.*}} global <32 x float> zeroinitializer, align 8
959 // CHECK-128-NEXT: @global_f64m8 ={{.*}} global <16 x double> zeroinitializer, align 8
961 // CHECK-256: @global_i8 ={{.*}} global <32 x i8> zeroinitializer, align 8
962 // CHECK-256-NEXT: @global_i16 ={{.*}} global <16 x i16> zeroinitializer, align 8
963 // CHECK-256-NEXT: @global_i32 ={{.*}} global <8 x i32> zeroinitializer, align 8
964 // CHECK-256-NEXT: @global_i64 ={{.*}} global <4 x i64> zeroinitializer, align 8
965 // CHECK-256-NEXT: @global_u8 ={{.*}} global <32 x i8> zeroinitializer, align 8
966 // CHECK-256-NEXT: @global_u16 ={{.*}} global <16 x i16> zeroinitializer, align 8
967 // CHECK-256-NEXT: @global_u32 ={{.*}} global <8 x i32> zeroinitializer, align 8
968 // CHECK-256-NEXT: @global_u64 ={{.*}} global <4 x i64> zeroinitializer, align 8
969 // CHECK-256-NEXT: @global_f32 ={{.*}} global <8 x float> zeroinitializer, align 8
970 // CHECK-256-NEXT: @global_f64 ={{.*}} global <4 x double> zeroinitializer, align 8
971 // CHECK-256-NEXT: @global_i8m2 ={{.*}} global <64 x i8> zeroinitializer, align 8
972 // CHECK-256-NEXT: @global_i16m2 ={{.*}} global <32 x i16> zeroinitializer, align 8
973 // CHECK-256-NEXT: @global_i32m2 ={{.*}} global <16 x i32> zeroinitializer, align 8
974 // CHECK-256-NEXT: @global_i64m2 ={{.*}} global <8 x i64> zeroinitializer, align 8
975 // CHECK-256-NEXT: @global_u8m2 ={{.*}} global <64 x i8> zeroinitializer, align 8
976 // CHECK-256-NEXT: @global_u16m2 ={{.*}} global <32 x i16> zeroinitializer, align 8
977 // CHECK-256-NEXT: @global_u32m2 ={{.*}} global <16 x i32> zeroinitializer, align 8
978 // CHECK-256-NEXT: @global_u64m2 ={{.*}} global <8 x i64> zeroinitializer, align 8
979 // CHECK-256-NEXT: @global_f32m2 ={{.*}} global <16 x float> zeroinitializer, align 8
980 // CHECK-256-NEXT: @global_f64m2 ={{.*}} global <8 x double> zeroinitializer, align 8
981 // CHECK-256-NEXT: @global_i8m4 ={{.*}} global <128 x i8> zeroinitializer, align 8
982 // CHECK-256-NEXT: @global_i16m4 ={{.*}} global <64 x i16> zeroinitializer, align 8
983 // CHECK-256-NEXT: @global_i32m4 ={{.*}} global <32 x i32> zeroinitializer, align 8
984 // CHECK-256-NEXT: @global_i64m4 ={{.*}} global <16 x i64> zeroinitializer, align 8
985 // CHECK-256-NEXT: @global_u8m4 ={{.*}} global <128 x i8> zeroinitializer, align 8
986 // CHECK-256-NEXT: @global_u16m4 ={{.*}} global <64 x i16> zeroinitializer, align 8
987 // CHECK-256-NEXT: @global_u32m4 ={{.*}} global <32 x i32> zeroinitializer, align 8
988 // CHECK-256-NEXT: @global_u64m4 ={{.*}} global <16 x i64> zeroinitializer, align 8
989 // CHECK-256-NEXT: @global_f32m4 ={{.*}} global <32 x float> zeroinitializer, align 8
990 // CHECK-256-NEXT: @global_f64m4 ={{.*}} global <16 x double> zeroinitializer, align 8
991 // CHECK-256-NEXT: @global_i8m8 ={{.*}} global <256 x i8> zeroinitializer, align 8
992 // CHECK-256-NEXT: @global_i16m8 ={{.*}} global <128 x i16> zeroinitializer, align 8
993 // CHECK-256-NEXT: @global_i32m8 ={{.*}} global <64 x i32> zeroinitializer, align 8
994 // CHECK-256-NEXT: @global_i64m8 ={{.*}} global <32 x i64> zeroinitializer, align 8
995 // CHECK-256-NEXT: @global_u8m8 ={{.*}} global <256 x i8> zeroinitializer, align 8
996 // CHECK-256-NEXT: @global_u16m8 ={{.*}} global <128 x i16> zeroinitializer, align 8
997 // CHECK-256-NEXT: @global_u32m8 ={{.*}} global <64 x i32> zeroinitializer, align 8
998 // CHECK-256-NEXT: @global_u64m8 ={{.*}} global <32 x i64> zeroinitializer, align 8
999 // CHECK-256-NEXT: @global_f32m8 ={{.*}} global <64 x float> zeroinitializer, align 8
1000 // CHECK-256-NEXT: @global_f64m8 ={{.*}} global <32 x double> zeroinitializer, align 8
1002 // CHECK-512: @global_i8 ={{.*}} global <64 x i8> zeroinitializer, align 8
1003 // CHECK-512-NEXT: @global_i16 ={{.*}} global <32 x i16> zeroinitializer, align 8
1004 // CHECK-512-NEXT: @global_i32 ={{.*}} global <16 x i32> zeroinitializer, align 8
1005 // CHECK-512-NEXT: @global_i64 ={{.*}} global <8 x i64> zeroinitializer, align 8
1006 // CHECK-512-NEXT: @global_u8 ={{.*}} global <64 x i8> zeroinitializer, align 8
1007 // CHECK-512-NEXT: @global_u16 ={{.*}} global <32 x i16> zeroinitializer, align 8
1008 // CHECK-512-NEXT: @global_u32 ={{.*}} global <16 x i32> zeroinitializer, align 8
1009 // CHECK-512-NEXT: @global_u64 ={{.*}} global <8 x i64> zeroinitializer, align 8
1010 // CHECK-512-NEXT: @global_f32 ={{.*}} global <16 x float> zeroinitializer, align 8
1011 // CHECK-512-NEXT: @global_f64 ={{.*}} global <8 x double> zeroinitializer, align 8
1012 // CHECK-512-NEXT: @global_i8m2 ={{.*}} global <128 x i8> zeroinitializer, align 8
1013 // CHECK-512-NEXT: @global_i16m2 ={{.*}} global <64 x i16> zeroinitializer, align 8
1014 // CHECK-512-NEXT: @global_i32m2 ={{.*}} global <32 x i32> zeroinitializer, align 8
1015 // CHECK-512-NEXT: @global_i64m2 ={{.*}} global <16 x i64> zeroinitializer, align 8
1016 // CHECK-512-NEXT: @global_u8m2 ={{.*}} global <128 x i8> zeroinitializer, align 8
1017 // CHECK-512-NEXT: @global_u16m2 ={{.*}} global <64 x i16> zeroinitializer, align 8
1018 // CHECK-512-NEXT: @global_u32m2 ={{.*}} global <32 x i32> zeroinitializer, align 8
1019 // CHECK-512-NEXT: @global_u64m2 ={{.*}} global <16 x i64> zeroinitializer, align 8
1020 // CHECK-512-NEXT: @global_f32m2 ={{.*}} global <32 x float> zeroinitializer, align 8
1021 // CHECK-512-NEXT: @global_f64m2 ={{.*}} global <16 x double> zeroinitializer, align 8
1022 // CHECK-512-NEXT: @global_i8m4 ={{.*}} global <256 x i8> zeroinitializer, align 8
1023 // CHECK-512-NEXT: @global_i16m4 ={{.*}} global <128 x i16> zeroinitializer, align 8
1024 // CHECK-512-NEXT: @global_i32m4 ={{.*}} global <64 x i32> zeroinitializer, align 8
1025 // CHECK-512-NEXT: @global_i64m4 ={{.*}} global <32 x i64> zeroinitializer, align 8
1026 // CHECK-512-NEXT: @global_u8m4 ={{.*}} global <256 x i8> zeroinitializer, align 8
1027 // CHECK-512-NEXT: @global_u16m4 ={{.*}} global <128 x i16> zeroinitializer, align 8
1028 // CHECK-512-NEXT: @global_u32m4 ={{.*}} global <64 x i32> zeroinitializer, align 8
1029 // CHECK-512-NEXT: @global_u64m4 ={{.*}} global <32 x i64> zeroinitializer, align 8
1030 // CHECK-512-NEXT: @global_f32m4 ={{.*}} global <64 x float> zeroinitializer, align 8
1031 // CHECK-512-NEXT: @global_f64m4 ={{.*}} global <32 x double> zeroinitializer, align 8
1032 // CHECK-512-NEXT: @global_i8m8 ={{.*}} global <512 x i8> zeroinitializer, align 8
1033 // CHECK-512-NEXT: @global_i16m8 ={{.*}} global <256 x i16> zeroinitializer, align 8
1034 // CHECK-512-NEXT: @global_i32m8 ={{.*}} global <128 x i32> zeroinitializer, align 8
1035 // CHECK-512-NEXT: @global_i64m8 ={{.*}} global <64 x i64> zeroinitializer, align 8
1036 // CHECK-512-NEXT: @global_u8m8 ={{.*}} global <512 x i8> zeroinitializer, align 8
1037 // CHECK-512-NEXT: @global_u16m8 ={{.*}} global <256 x i16> zeroinitializer, align 8
1038 // CHECK-512-NEXT: @global_u32m8 ={{.*}} global <128 x i32> zeroinitializer, align 8
1039 // CHECK-512-NEXT: @global_u64m8 ={{.*}} global <64 x i64> zeroinitializer, align 8
1040 // CHECK-512-NEXT: @global_f32m8 ={{.*}} global <128 x float> zeroinitializer, align 8
1041 // CHECK-512-NEXT: @global_f64m8 ={{.*}} global <64 x double> zeroinitializer, align 8
1043 // CHECK-1024: @global_i8 ={{.*}} global <128 x i8> zeroinitializer, align 8
1044 // CHECK-1024-NEXT: @global_i16 ={{.*}} global <64 x i16> zeroinitializer, align 8
1045 // CHECK-1024-NEXT: @global_i32 ={{.*}} global <32 x i32> zeroinitializer, align 8
1046 // CHECK-1024-NEXT: @global_i64 ={{.*}} global <16 x i64> zeroinitializer, align 8
1047 // CHECK-1024-NEXT: @global_u8 ={{.*}} global <128 x i8> zeroinitializer, align 8
1048 // CHECK-1024-NEXT: @global_u16 ={{.*}} global <64 x i16> zeroinitializer, align 8
1049 // CHECK-1024-NEXT: @global_u32 ={{.*}} global <32 x i32> zeroinitializer, align 8
1050 // CHECK-1024-NEXT: @global_u64 ={{.*}} global <16 x i64> zeroinitializer, align 8
1051 // CHECK-1024-NEXT: @global_f32 ={{.*}} global <32 x float> zeroinitializer, align 8
1052 // CHECK-1024-NEXT: @global_f64 ={{.*}} global <16 x double> zeroinitializer, align 8
1053 // CHECK-1024-NEXT: @global_i8m2 ={{.*}} global <256 x i8> zeroinitializer, align 8
1054 // CHECK-1024-NEXT: @global_i16m2 ={{.*}} global <128 x i16> zeroinitializer, align 8
1055 // CHECK-1024-NEXT: @global_i32m2 ={{.*}} global <64 x i32> zeroinitializer, align 8
1056 // CHECK-1024-NEXT: @global_i64m2 ={{.*}} global <32 x i64> zeroinitializer, align 8
1057 // CHECK-1024-NEXT: @global_u8m2 ={{.*}} global <256 x i8> zeroinitializer, align 8
1058 // CHECK-1024-NEXT: @global_u16m2 ={{.*}} global <128 x i16> zeroinitializer, align 8
1059 // CHECK-1024-NEXT: @global_u32m2 ={{.*}} global <64 x i32> zeroinitializer, align 8
1060 // CHECK-1024-NEXT: @global_u64m2 ={{.*}} global <32 x i64> zeroinitializer, align 8
1061 // CHECK-1024-NEXT: @global_f32m2 ={{.*}} global <64 x float> zeroinitializer, align 8
1062 // CHECK-1024-NEXT: @global_f64m2 ={{.*}} global <32 x double> zeroinitializer, align 8
1063 // CHECK-1024-NEXT: @global_i8m4 ={{.*}} global <512 x i8> zeroinitializer, align 8
1064 // CHECK-1024-NEXT: @global_i16m4 ={{.*}} global <256 x i16> zeroinitializer, align 8
1065 // CHECK-1024-NEXT: @global_i32m4 ={{.*}} global <128 x i32> zeroinitializer, align 8
1066 // CHECK-1024-NEXT: @global_i64m4 ={{.*}} global <64 x i64> zeroinitializer, align 8
1067 // CHECK-1024-NEXT: @global_u8m4 ={{.*}} global <512 x i8> zeroinitializer, align 8
1068 // CHECK-1024-NEXT: @global_u16m4 ={{.*}} global <256 x i16> zeroinitializer, align 8
1069 // CHECK-1024-NEXT: @global_u32m4 ={{.*}} global <128 x i32> zeroinitializer, align 8
1070 // CHECK-1024-NEXT: @global_u64m4 ={{.*}} global <64 x i64> zeroinitializer, align 8
1071 // CHECK-1024-NEXT: @global_f32m4 ={{.*}} global <128 x float> zeroinitializer, align 8
1072 // CHECK-1024-NEXT: @global_f64m4 ={{.*}} global <64 x double> zeroinitializer, align 8
1073 // CHECK-1024-NEXT: @global_i8m8 ={{.*}} global <1024 x i8> zeroinitializer, align 8
1074 // CHECK-1024-NEXT: @global_i16m8 ={{.*}} global <512 x i16> zeroinitializer, align 8
1075 // CHECK-1024-NEXT: @global_i32m8 ={{.*}} global <256 x i32> zeroinitializer, align 8
1076 // CHECK-1024-NEXT: @global_i64m8 ={{.*}} global <128 x i64> zeroinitializer, align 8
1077 // CHECK-1024-NEXT: @global_u8m8 ={{.*}} global <1024 x i8> zeroinitializer, align 8
1078 // CHECK-1024-NEXT: @global_u16m8 ={{.*}} global <512 x i16> zeroinitializer, align 8
1079 // CHECK-1024-NEXT: @global_u32m8 ={{.*}} global <256 x i32> zeroinitializer, align 8
1080 // CHECK-1024-NEXT: @global_u64m8 ={{.*}} global <128 x i64> zeroinitializer, align 8
1081 // CHECK-1024-NEXT: @global_f32m8 ={{.*}} global <256 x float> zeroinitializer, align 8
1082 // CHECK-1024-NEXT: @global_f64m8 ={{.*}} global <128 x double> zeroinitializer, align 8
1084 //===----------------------------------------------------------------------===//
1085 // Global arrays
1086 //===----------------------------------------------------------------------===//
1087 // CHECK-64: @global_arr_i8 ={{.*}} global [3 x <8 x i8>] zeroinitializer, align 8
1088 // CHECK-64-NEXT: @global_arr_i16 ={{.*}} global [3 x <4 x i16>] zeroinitializer, align 8
1089 // CHECK-64-NEXT: @global_arr_i32 ={{.*}} global [3 x <2 x i32>] zeroinitializer, align 8
1090 // CHECK-64-NEXT: @global_arr_i64 ={{.*}} global [3 x <1 x i64>] zeroinitializer, align 8
1091 // CHECK-64-NEXT: @global_arr_u8 ={{.*}} global [3 x <8 x i8>] zeroinitializer, align 8
1092 // CHECK-64-NEXT: @global_arr_u16 ={{.*}} global [3 x <4 x i16>] zeroinitializer, align 8
1093 // CHECK-64-NEXT: @global_arr_u32 ={{.*}} global [3 x <2 x i32>] zeroinitializer, align 8
1094 // CHECK-64-NEXT: @global_arr_u64 ={{.*}} global [3 x <1 x i64>] zeroinitializer, align 8
1095 // CHECK-64-NEXT: @global_arr_f32 ={{.*}} global [3 x <2 x float>] zeroinitializer, align 8
1096 // CHECK-64-NEXT: @global_arr_f64 ={{.*}} global [3 x <1 x double>] zeroinitializer, align 8
1097 // CHECK-64-NEXT: @global_arr_i8m2 ={{.*}} global [3 x <16 x i8>] zeroinitializer, align 8
1098 // CHECK-64-NEXT: @global_arr_i16m2 ={{.*}} global [3 x <8 x i16>] zeroinitializer, align 8
1099 // CHECK-64-NEXT: @global_arr_i32m2 ={{.*}} global [3 x <4 x i32>] zeroinitializer, align 8
1100 // CHECK-64-NEXT: @global_arr_i64m2 ={{.*}} global [3 x <2 x i64>] zeroinitializer, align 8
1101 // CHECK-64-NEXT: @global_arr_u8m2 ={{.*}} global [3 x <16 x i8>] zeroinitializer, align 8
1102 // CHECK-64-NEXT: @global_arr_u16m2 ={{.*}} global [3 x <8 x i16>] zeroinitializer, align 8
1103 // CHECK-64-NEXT: @global_arr_u32m2 ={{.*}} global [3 x <4 x i32>] zeroinitializer, align 8
1104 // CHECK-64-NEXT: @global_arr_u64m2 ={{.*}} global [3 x <2 x i64>] zeroinitializer, align 8
1105 // CHECK-64-NEXT: @global_arr_f32m2 ={{.*}} global [3 x <4 x float>] zeroinitializer, align 8
1106 // CHECK-64-NEXT: @global_arr_f64m2 ={{.*}} global [3 x <2 x double>] zeroinitializer, align 8
1107 // CHECK-64-NEXT: @global_arr_i8m4 ={{.*}} global [3 x <32 x i8>] zeroinitializer, align 8
1108 // CHECK-64-NEXT: @global_arr_i16m4 ={{.*}} global [3 x <16 x i16>] zeroinitializer, align 8
1109 // CHECK-64-NEXT: @global_arr_i32m4 ={{.*}} global [3 x <8 x i32>] zeroinitializer, align 8
1110 // CHECK-64-NEXT: @global_arr_i64m4 ={{.*}} global [3 x <4 x i64>] zeroinitializer, align 8
1111 // CHECK-64-NEXT: @global_arr_u8m4 ={{.*}} global [3 x <32 x i8>] zeroinitializer, align 8
1112 // CHECK-64-NEXT: @global_arr_u16m4 ={{.*}} global [3 x <16 x i16>] zeroinitializer, align 8
1113 // CHECK-64-NEXT: @global_arr_u32m4 ={{.*}} global [3 x <8 x i32>] zeroinitializer, align 8
1114 // CHECK-64-NEXT: @global_arr_u64m4 ={{.*}} global [3 x <4 x i64>] zeroinitializer, align 8
1115 // CHECK-64-NEXT: @global_arr_f32m4 ={{.*}} global [3 x <8 x float>] zeroinitializer, align 8
1116 // CHECK-64-NEXT: @global_arr_f64m4 ={{.*}} global [3 x <4 x double>] zeroinitializer, align 8
1117 // CHECK-64-NEXT: @global_arr_i8m8 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1118 // CHECK-64-NEXT: @global_arr_i16m8 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1119 // CHECK-64-NEXT: @global_arr_i32m8 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1120 // CHECK-64-NEXT: @global_arr_i64m8 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1121 // CHECK-64-NEXT: @global_arr_u8m8 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1122 // CHECK-64-NEXT: @global_arr_u16m8 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1123 // CHECK-64-NEXT: @global_arr_u32m8 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1124 // CHECK-64-NEXT: @global_arr_u64m8 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1125 // CHECK-64-NEXT: @global_arr_f32m8 ={{.*}} global [3 x <16 x float>] zeroinitializer, align 8
1126 // CHECK-64-NEXT: @global_arr_f64m8 ={{.*}} global [3 x <8 x double>] zeroinitializer, align 8
1128 // CHECK-128: @global_arr_i8 ={{.*}} global [3 x <16 x i8>] zeroinitializer, align 8
1129 // CHECK-128-NEXT: @global_arr_i16 ={{.*}} global [3 x <8 x i16>] zeroinitializer, align 8
1130 // CHECK-128-NEXT: @global_arr_i32 ={{.*}} global [3 x <4 x i32>] zeroinitializer, align 8
1131 // CHECK-128-NEXT: @global_arr_i64 ={{.*}} global [3 x <2 x i64>] zeroinitializer, align 8
1132 // CHECK-128-NEXT: @global_arr_u8 ={{.*}} global [3 x <16 x i8>] zeroinitializer, align 8
1133 // CHECK-128-NEXT: @global_arr_u16 ={{.*}} global [3 x <8 x i16>] zeroinitializer, align 8
1134 // CHECK-128-NEXT: @global_arr_u32 ={{.*}} global [3 x <4 x i32>] zeroinitializer, align 8
1135 // CHECK-128-NEXT: @global_arr_u64 ={{.*}} global [3 x <2 x i64>] zeroinitializer, align 8
1136 // CHECK-128-NEXT: @global_arr_f32 ={{.*}} global [3 x <4 x float>] zeroinitializer, align 8
1137 // CHECK-128-NEXT: @global_arr_f64 ={{.*}} global [3 x <2 x double>] zeroinitializer, align 8
1138 // CHECK-128-NEXT: @global_arr_i8m2 ={{.*}} global [3 x <32 x i8>] zeroinitializer, align 8
1139 // CHECK-128-NEXT: @global_arr_i16m2 ={{.*}} global [3 x <16 x i16>] zeroinitializer, align 8
1140 // CHECK-128-NEXT: @global_arr_i32m2 ={{.*}} global [3 x <8 x i32>] zeroinitializer, align 8
1141 // CHECK-128-NEXT: @global_arr_i64m2 ={{.*}} global [3 x <4 x i64>] zeroinitializer, align 8
1142 // CHECK-128-NEXT: @global_arr_u8m2 ={{.*}} global [3 x <32 x i8>] zeroinitializer, align 8
1143 // CHECK-128-NEXT: @global_arr_u16m2 ={{.*}} global [3 x <16 x i16>] zeroinitializer, align 8
1144 // CHECK-128-NEXT: @global_arr_u32m2 ={{.*}} global [3 x <8 x i32>] zeroinitializer, align 8
1145 // CHECK-128-NEXT: @global_arr_u64m2 ={{.*}} global [3 x <4 x i64>] zeroinitializer, align 8
1146 // CHECK-128-NEXT: @global_arr_f32m2 ={{.*}} global [3 x <8 x float>] zeroinitializer, align 8
1147 // CHECK-128-NEXT: @global_arr_f64m2 ={{.*}} global [3 x <4 x double>] zeroinitializer, align 8
1148 // CHECK-128-NEXT: @global_arr_i8m4 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1149 // CHECK-128-NEXT: @global_arr_i16m4 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1150 // CHECK-128-NEXT: @global_arr_i32m4 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1151 // CHECK-128-NEXT: @global_arr_i64m4 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1152 // CHECK-128-NEXT: @global_arr_u8m4 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1153 // CHECK-128-NEXT: @global_arr_u16m4 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1154 // CHECK-128-NEXT: @global_arr_u32m4 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1155 // CHECK-128-NEXT: @global_arr_u64m4 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1156 // CHECK-128-NEXT: @global_arr_f32m4 ={{.*}} global [3 x <16 x float>] zeroinitializer, align 8
1157 // CHECK-128-NEXT: @global_arr_f64m4 ={{.*}} global [3 x <8 x double>] zeroinitializer, align 8
1158 // CHECK-128-NEXT: @global_arr_i8m8 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1159 // CHECK-128-NEXT: @global_arr_i16m8 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1160 // CHECK-128-NEXT: @global_arr_i32m8 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1161 // CHECK-128-NEXT: @global_arr_i64m8 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1162 // CHECK-128-NEXT: @global_arr_u8m8 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1163 // CHECK-128-NEXT: @global_arr_u16m8 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1164 // CHECK-128-NEXT: @global_arr_u32m8 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1165 // CHECK-128-NEXT: @global_arr_u64m8 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1166 // CHECK-128-NEXT: @global_arr_f32m8 ={{.*}} global [3 x <32 x float>] zeroinitializer, align 8
1167 // CHECK-128-NEXT: @global_arr_f64m8 ={{.*}} global [3 x <16 x double>] zeroinitializer, align 8
1169 // CHECK-256: @global_arr_i8 ={{.*}} global [3 x <32 x i8>] zeroinitializer, align 8
1170 // CHECK-256-NEXT: @global_arr_i16 ={{.*}} global [3 x <16 x i16>] zeroinitializer, align 8
1171 // CHECK-256-NEXT: @global_arr_i32 ={{.*}} global [3 x <8 x i32>] zeroinitializer, align 8
1172 // CHECK-256-NEXT: @global_arr_i64 ={{.*}} global [3 x <4 x i64>] zeroinitializer, align 8
1173 // CHECK-256-NEXT: @global_arr_u8 ={{.*}} global [3 x <32 x i8>] zeroinitializer, align 8
1174 // CHECK-256-NEXT: @global_arr_u16 ={{.*}} global [3 x <16 x i16>] zeroinitializer, align 8
1175 // CHECK-256-NEXT: @global_arr_u32 ={{.*}} global [3 x <8 x i32>] zeroinitializer, align 8
1176 // CHECK-256-NEXT: @global_arr_u64 ={{.*}} global [3 x <4 x i64>] zeroinitializer, align 8
1177 // CHECK-256-NEXT: @global_arr_f32 ={{.*}} global [3 x <8 x float>] zeroinitializer, align 8
1178 // CHECK-256-NEXT: @global_arr_f64 ={{.*}} global [3 x <4 x double>] zeroinitializer, align 8
1179 // CHECK-256-NEXT: @global_arr_i8m2 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1180 // CHECK-256-NEXT: @global_arr_i16m2 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1181 // CHECK-256-NEXT: @global_arr_i32m2 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1182 // CHECK-256-NEXT: @global_arr_i64m2 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1183 // CHECK-256-NEXT: @global_arr_u8m2 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1184 // CHECK-256-NEXT: @global_arr_u16m2 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1185 // CHECK-256-NEXT: @global_arr_u32m2 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1186 // CHECK-256-NEXT: @global_arr_u64m2 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1187 // CHECK-256-NEXT: @global_arr_f32m2 ={{.*}} global [3 x <16 x float>] zeroinitializer, align 8
1188 // CHECK-256-NEXT: @global_arr_f64m2 ={{.*}} global [3 x <8 x double>] zeroinitializer, align 8
1189 // CHECK-256-NEXT: @global_arr_i8m4 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1190 // CHECK-256-NEXT: @global_arr_i16m4 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1191 // CHECK-256-NEXT: @global_arr_i32m4 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1192 // CHECK-256-NEXT: @global_arr_i64m4 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1193 // CHECK-256-NEXT: @global_arr_u8m4 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1194 // CHECK-256-NEXT: @global_arr_u16m4 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1195 // CHECK-256-NEXT: @global_arr_u32m4 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1196 // CHECK-256-NEXT: @global_arr_u64m4 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1197 // CHECK-256-NEXT: @global_arr_f32m4 ={{.*}} global [3 x <32 x float>] zeroinitializer, align 8
1198 // CHECK-256-NEXT: @global_arr_f64m4 ={{.*}} global [3 x <16 x double>] zeroinitializer, align 8
1199 // CHECK-256-NEXT: @global_arr_i8m8 ={{.*}} global [3 x <256 x i8>] zeroinitializer, align 8
1200 // CHECK-256-NEXT: @global_arr_i16m8 ={{.*}} global [3 x <128 x i16>] zeroinitializer, align 8
1201 // CHECK-256-NEXT: @global_arr_i32m8 ={{.*}} global [3 x <64 x i32>] zeroinitializer, align 8
1202 // CHECK-256-NEXT: @global_arr_i64m8 ={{.*}} global [3 x <32 x i64>] zeroinitializer, align 8
1203 // CHECK-256-NEXT: @global_arr_u8m8 ={{.*}} global [3 x <256 x i8>] zeroinitializer, align 8
1204 // CHECK-256-NEXT: @global_arr_u16m8 ={{.*}} global [3 x <128 x i16>] zeroinitializer, align 8
1205 // CHECK-256-NEXT: @global_arr_u32m8 ={{.*}} global [3 x <64 x i32>] zeroinitializer, align 8
1206 // CHECK-256-NEXT: @global_arr_u64m8 ={{.*}} global [3 x <32 x i64>] zeroinitializer, align 8
1207 // CHECK-256-NEXT: @global_arr_f32m8 ={{.*}} global [3 x <64 x float>] zeroinitializer, align 8
1208 // CHECK-256-NEXT: @global_arr_f64m8 ={{.*}} global [3 x <32 x double>] zeroinitializer, align 8
1209 // CHECK-512: @global_arr_i8 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1210 // CHECK-512-NEXT: @global_arr_i16 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1211 // CHECK-512-NEXT: @global_arr_i32 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1212 // CHECK-512-NEXT: @global_arr_i64 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1213 // CHECK-512-NEXT: @global_arr_u8 ={{.*}} global [3 x <64 x i8>] zeroinitializer, align 8
1214 // CHECK-512-NEXT: @global_arr_u16 ={{.*}} global [3 x <32 x i16>] zeroinitializer, align 8
1215 // CHECK-512-NEXT: @global_arr_u32 ={{.*}} global [3 x <16 x i32>] zeroinitializer, align 8
1216 // CHECK-512-NEXT: @global_arr_u64 ={{.*}} global [3 x <8 x i64>] zeroinitializer, align 8
1217 // CHECK-512-NEXT: @global_arr_f32 ={{.*}} global [3 x <16 x float>] zeroinitializer, align 8
1218 // CHECK-512-NEXT: @global_arr_f64 ={{.*}} global [3 x <8 x double>] zeroinitializer, align 8
1219 // CHECK-512-NEXT: @global_arr_i8m2 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1220 // CHECK-512-NEXT: @global_arr_i16m2 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1221 // CHECK-512-NEXT: @global_arr_i32m2 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1222 // CHECK-512-NEXT: @global_arr_i64m2 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1223 // CHECK-512-NEXT: @global_arr_u8m2 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1224 // CHECK-512-NEXT: @global_arr_u16m2 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1225 // CHECK-512-NEXT: @global_arr_u32m2 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1226 // CHECK-512-NEXT: @global_arr_u64m2 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1227 // CHECK-512-NEXT: @global_arr_f32m2 ={{.*}} global [3 x <32 x float>] zeroinitializer, align 8
1228 // CHECK-512-NEXT: @global_arr_f64m2 ={{.*}} global [3 x <16 x double>] zeroinitializer, align 8
1229 // CHECK-512-NEXT: @global_arr_i8m4 ={{.*}} global [3 x <256 x i8>] zeroinitializer, align 8
1230 // CHECK-512-NEXT: @global_arr_i16m4 ={{.*}} global [3 x <128 x i16>] zeroinitializer, align 8
1231 // CHECK-512-NEXT: @global_arr_i32m4 ={{.*}} global [3 x <64 x i32>] zeroinitializer, align 8
1232 // CHECK-512-NEXT: @global_arr_i64m4 ={{.*}} global [3 x <32 x i64>] zeroinitializer, align 8
1233 // CHECK-512-NEXT: @global_arr_u8m4 ={{.*}} global [3 x <256 x i8>] zeroinitializer, align 8
1234 // CHECK-512-NEXT: @global_arr_u16m4 ={{.*}} global [3 x <128 x i16>] zeroinitializer, align 8
1235 // CHECK-512-NEXT: @global_arr_u32m4 ={{.*}} global [3 x <64 x i32>] zeroinitializer, align 8
1236 // CHECK-512-NEXT: @global_arr_u64m4 ={{.*}} global [3 x <32 x i64>] zeroinitializer, align 8
1237 // CHECK-512-NEXT: @global_arr_f32m4 ={{.*}} global [3 x <64 x float>] zeroinitializer, align 8
1238 // CHECK-512-NEXT: @global_arr_f64m4 ={{.*}} global [3 x <32 x double>] zeroinitializer, align 8
1239 // CHECK-512-NEXT: @global_arr_i8m8 ={{.*}} global [3 x <512 x i8>] zeroinitializer, align 8
1240 // CHECK-512-NEXT: @global_arr_i16m8 ={{.*}} global [3 x <256 x i16>] zeroinitializer, align 8
1241 // CHECK-512-NEXT: @global_arr_i32m8 ={{.*}} global [3 x <128 x i32>] zeroinitializer, align 8
1242 // CHECK-512-NEXT: @global_arr_i64m8 ={{.*}} global [3 x <64 x i64>] zeroinitializer, align 8
1243 // CHECK-512-NEXT: @global_arr_u8m8 ={{.*}} global [3 x <512 x i8>] zeroinitializer, align 8
1244 // CHECK-512-NEXT: @global_arr_u16m8 ={{.*}} global [3 x <256 x i16>] zeroinitializer, align 8
1245 // CHECK-512-NEXT: @global_arr_u32m8 ={{.*}} global [3 x <128 x i32>] zeroinitializer, align 8
1246 // CHECK-512-NEXT: @global_arr_u64m8 ={{.*}} global [3 x <64 x i64>] zeroinitializer, align 8
1247 // CHECK-512-NEXT: @global_arr_f32m8 ={{.*}} global [3 x <128 x float>] zeroinitializer, align 8
1248 // CHECK-512-NEXT: @global_arr_f64m8 ={{.*}} global [3 x <64 x double>] zeroinitializer, align 8
1250 // CHECK-1024: @global_arr_i8 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1251 // CHECK-1024-NEXT: @global_arr_i16 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1252 // CHECK-1024-NEXT: @global_arr_i32 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1253 // CHECK-1024-NEXT: @global_arr_i64 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1254 // CHECK-1024-NEXT: @global_arr_u8 ={{.*}} global [3 x <128 x i8>] zeroinitializer, align 8
1255 // CHECK-1024-NEXT: @global_arr_u16 ={{.*}} global [3 x <64 x i16>] zeroinitializer, align 8
1256 // CHECK-1024-NEXT: @global_arr_u32 ={{.*}} global [3 x <32 x i32>] zeroinitializer, align 8
1257 // CHECK-1024-NEXT: @global_arr_u64 ={{.*}} global [3 x <16 x i64>] zeroinitializer, align 8
1258 // CHECK-1024-NEXT: @global_arr_f32 ={{.*}} global [3 x <32 x float>] zeroinitializer, align 8
1259 // CHECK-1024-NEXT: @global_arr_f64 ={{.*}} global [3 x <16 x double>] zeroinitializer, align 8
1260 // CHECK-1024-NEXT: @global_arr_i8m2 ={{.*}} global [3 x <256 x i8>] zeroinitializer, align 8
1261 // CHECK-1024-NEXT: @global_arr_i16m2 ={{.*}} global [3 x <128 x i16>] zeroinitializer, align 8
1262 // CHECK-1024-NEXT: @global_arr_i32m2 ={{.*}} global [3 x <64 x i32>] zeroinitializer, align 8
1263 // CHECK-1024-NEXT: @global_arr_i64m2 ={{.*}} global [3 x <32 x i64>] zeroinitializer, align 8
1264 // CHECK-1024-NEXT: @global_arr_u8m2 ={{.*}} global [3 x <256 x i8>] zeroinitializer, align 8
1265 // CHECK-1024-NEXT: @global_arr_u16m2 ={{.*}} global [3 x <128 x i16>] zeroinitializer, align 8
1266 // CHECK-1024-NEXT: @global_arr_u32m2 ={{.*}} global [3 x <64 x i32>] zeroinitializer, align 8
1267 // CHECK-1024-NEXT: @global_arr_u64m2 ={{.*}} global [3 x <32 x i64>] zeroinitializer, align 8
1268 // CHECK-1024-NEXT: @global_arr_f32m2 ={{.*}} global [3 x <64 x float>] zeroinitializer, align 8
1269 // CHECK-1024-NEXT: @global_arr_f64m2 ={{.*}} global [3 x <32 x double>] zeroinitializer, align 8
1270 // CHECK-1024-NEXT: @global_arr_i8m4 ={{.*}} global [3 x <512 x i8>] zeroinitializer, align 8
1271 // CHECK-1024-NEXT: @global_arr_i16m4 ={{.*}} global [3 x <256 x i16>] zeroinitializer, align 8
1272 // CHECK-1024-NEXT: @global_arr_i32m4 ={{.*}} global [3 x <128 x i32>] zeroinitializer, align 8
1273 // CHECK-1024-NEXT: @global_arr_i64m4 ={{.*}} global [3 x <64 x i64>] zeroinitializer, align 8
1274 // CHECK-1024-NEXT: @global_arr_u8m4 ={{.*}} global [3 x <512 x i8>] zeroinitializer, align 8
1275 // CHECK-1024-NEXT: @global_arr_u16m4 ={{.*}} global [3 x <256 x i16>] zeroinitializer, align 8
1276 // CHECK-1024-NEXT: @global_arr_u32m4 ={{.*}} global [3 x <128 x i32>] zeroinitializer, align 8
1277 // CHECK-1024-NEXT: @global_arr_u64m4 ={{.*}} global [3 x <64 x i64>] zeroinitializer, align 8
1278 // CHECK-1024-NEXT: @global_arr_f32m4 ={{.*}} global [3 x <128 x float>] zeroinitializer, align 8
1279 // CHECK-1024-NEXT: @global_arr_f64m4 ={{.*}} global [3 x <64 x double>] zeroinitializer, align 8
1280 // CHECK-1024-NEXT: @global_arr_i8m8 ={{.*}} global [3 x <1024 x i8>] zeroinitializer, align 8
1281 // CHECK-1024-NEXT: @global_arr_i16m8 ={{.*}} global [3 x <512 x i16>] zeroinitializer, align 8
1282 // CHECK-1024-NEXT: @global_arr_i32m8 ={{.*}} global [3 x <256 x i32>] zeroinitializer, align 8
1283 // CHECK-1024-NEXT: @global_arr_i64m8 ={{.*}} global [3 x <128 x i64>] zeroinitializer, align 8
1284 // CHECK-1024-NEXT: @global_arr_u8m8 ={{.*}} global [3 x <1024 x i8>] zeroinitializer, align 8
1285 // CHECK-1024-NEXT: @global_arr_u16m8 ={{.*}} global [3 x <512 x i16>] zeroinitializer, align 8
1286 // CHECK-1024-NEXT: @global_arr_u32m8 ={{.*}} global [3 x <256 x i32>] zeroinitializer, align 8
1287 // CHECK-1024-NEXT: @global_arr_u64m8 ={{.*}} global [3 x <128 x i64>] zeroinitializer, align 8
1288 // CHECK-1024-NEXT: @global_arr_f32m8 ={{.*}} global [3 x <256 x float>] zeroinitializer, align 8
1289 // CHECK-1024-NEXT: @global_arr_f64m8 ={{.*}} global [3 x <128 x double>] zeroinitializer, align 8
1291 //===----------------------------------------------------------------------===//
1292 // Local variables
1293 //===----------------------------------------------------------------------===//
1294 // CHECK-64: %local_i8 = alloca <8 x i8>, align 8
1295 // CHECK-64-NEXT: %local_i16 = alloca <4 x i16>, align 8
1296 // CHECK-64-NEXT: %local_i32 = alloca <2 x i32>, align 8
1297 // CHECK-64-NEXT: %local_i64 = alloca <1 x i64>, align 8
1298 // CHECK-64-NEXT: %local_u8 = alloca <8 x i8>, align 8
1299 // CHECK-64-NEXT: %local_u16 = alloca <4 x i16>, align 8
1300 // CHECK-64-NEXT: %local_u32 = alloca <2 x i32>, align 8
1301 // CHECK-64-NEXT: %local_u64 = alloca <1 x i64>, align 8
1302 // CHECK-64-NEXT: %local_f32 = alloca <2 x float>, align 8
1303 // CHECK-64-NEXT: %local_f64 = alloca <1 x double>, align 8
1304 // CHECK-64-NEXT: %local_i8m2 = alloca <16 x i8>, align 8
1305 // CHECK-64-NEXT: %local_i16m2 = alloca <8 x i16>, align 8
1306 // CHECK-64-NEXT: %local_i32m2 = alloca <4 x i32>, align 8
1307 // CHECK-64-NEXT: %local_i64m2 = alloca <2 x i64>, align 8
1308 // CHECK-64-NEXT: %local_u8m2 = alloca <16 x i8>, align 8
1309 // CHECK-64-NEXT: %local_u16m2 = alloca <8 x i16>, align 8
1310 // CHECK-64-NEXT: %local_u32m2 = alloca <4 x i32>, align 8
1311 // CHECK-64-NEXT: %local_u64m2 = alloca <2 x i64>, align 8
1312 // CHECK-64-NEXT: %local_f32m2 = alloca <4 x float>, align 8
1313 // CHECK-64-NEXT: %local_f64m2 = alloca <2 x double>, align 8
1314 // CHECK-64-NEXT: %local_i8m4 = alloca <32 x i8>, align 8
1315 // CHECK-64-NEXT: %local_i16m4 = alloca <16 x i16>, align 8
1316 // CHECK-64-NEXT: %local_i32m4 = alloca <8 x i32>, align 8
1317 // CHECK-64-NEXT: %local_i64m4 = alloca <4 x i64>, align 8
1318 // CHECK-64-NEXT: %local_u8m4 = alloca <32 x i8>, align 8
1319 // CHECK-64-NEXT: %local_u16m4 = alloca <16 x i16>, align 8
1320 // CHECK-64-NEXT: %local_u32m4 = alloca <8 x i32>, align 8
1321 // CHECK-64-NEXT: %local_u64m4 = alloca <4 x i64>, align 8
1322 // CHECK-64-NEXT: %local_f32m4 = alloca <8 x float>, align 8
1323 // CHECK-64-NEXT: %local_f64m4 = alloca <4 x double>, align 8
1324 // CHECK-64-NEXT: %local_i8m8 = alloca <64 x i8>, align 8
1325 // CHECK-64-NEXT: %local_i16m8 = alloca <32 x i16>, align 8
1326 // CHECK-64-NEXT: %local_i32m8 = alloca <16 x i32>, align 8
1327 // CHECK-64-NEXT: %local_i64m8 = alloca <8 x i64>, align 8
1328 // CHECK-64-NEXT: %local_u8m8 = alloca <64 x i8>, align 8
1329 // CHECK-64-NEXT: %local_u16m8 = alloca <32 x i16>, align 8
1330 // CHECK-64-NEXT: %local_u32m8 = alloca <16 x i32>, align 8
1331 // CHECK-64-NEXT: %local_u64m8 = alloca <8 x i64>, align 8
1332 // CHECK-64-NEXT: %local_f32m8 = alloca <16 x float>, align 8
1333 // CHECK-64-NEXT: %local_f64m8 = alloca <8 x double>, align 8
1335 // CHECK-128: %local_i8 = alloca <16 x i8>, align 8
1336 // CHECK-128-NEXT: %local_i16 = alloca <8 x i16>, align 8
1337 // CHECK-128-NEXT: %local_i32 = alloca <4 x i32>, align 8
1338 // CHECK-128-NEXT: %local_i64 = alloca <2 x i64>, align 8
1339 // CHECK-128-NEXT: %local_u8 = alloca <16 x i8>, align 8
1340 // CHECK-128-NEXT: %local_u16 = alloca <8 x i16>, align 8
1341 // CHECK-128-NEXT: %local_u32 = alloca <4 x i32>, align 8
1342 // CHECK-128-NEXT: %local_u64 = alloca <2 x i64>, align 8
1343 // CHECK-128-NEXT: %local_f32 = alloca <4 x float>, align 8
1344 // CHECK-128-NEXT: %local_f64 = alloca <2 x double>, align 8
1345 // CHECK-128-NEXT: %local_i8m2 = alloca <32 x i8>, align 8
1346 // CHECK-128-NEXT: %local_i16m2 = alloca <16 x i16>, align 8
1347 // CHECK-128-NEXT: %local_i32m2 = alloca <8 x i32>, align 8
1348 // CHECK-128-NEXT: %local_i64m2 = alloca <4 x i64>, align 8
1349 // CHECK-128-NEXT: %local_u8m2 = alloca <32 x i8>, align 8
1350 // CHECK-128-NEXT: %local_u16m2 = alloca <16 x i16>, align 8
1351 // CHECK-128-NEXT: %local_u32m2 = alloca <8 x i32>, align 8
1352 // CHECK-128-NEXT: %local_u64m2 = alloca <4 x i64>, align 8
1353 // CHECK-128-NEXT: %local_f32m2 = alloca <8 x float>, align 8
1354 // CHECK-128-NEXT: %local_f64m2 = alloca <4 x double>, align 8
1355 // CHECK-128-NEXT: %local_i8m4 = alloca <64 x i8>, align 8
1356 // CHECK-128-NEXT: %local_i16m4 = alloca <32 x i16>, align 8
1357 // CHECK-128-NEXT: %local_i32m4 = alloca <16 x i32>, align 8
1358 // CHECK-128-NEXT: %local_i64m4 = alloca <8 x i64>, align 8
1359 // CHECK-128-NEXT: %local_u8m4 = alloca <64 x i8>, align 8
1360 // CHECK-128-NEXT: %local_u16m4 = alloca <32 x i16>, align 8
1361 // CHECK-128-NEXT: %local_u32m4 = alloca <16 x i32>, align 8
1362 // CHECK-128-NEXT: %local_u64m4 = alloca <8 x i64>, align 8
1363 // CHECK-128-NEXT: %local_f32m4 = alloca <16 x float>, align 8
1364 // CHECK-128-NEXT: %local_f64m4 = alloca <8 x double>, align 8
1365 // CHECK-128-NEXT: %local_i8m8 = alloca <128 x i8>, align 8
1366 // CHECK-128-NEXT: %local_i16m8 = alloca <64 x i16>, align 8
1367 // CHECK-128-NEXT: %local_i32m8 = alloca <32 x i32>, align 8
1368 // CHECK-128-NEXT: %local_i64m8 = alloca <16 x i64>, align 8
1369 // CHECK-128-NEXT: %local_u8m8 = alloca <128 x i8>, align 8
1370 // CHECK-128-NEXT: %local_u16m8 = alloca <64 x i16>, align 8
1371 // CHECK-128-NEXT: %local_u32m8 = alloca <32 x i32>, align 8
1372 // CHECK-128-NEXT: %local_u64m8 = alloca <16 x i64>, align 8
1373 // CHECK-128-NEXT: %local_f32m8 = alloca <32 x float>, align 8
1374 // CHECK-128-NEXT: %local_f64m8 = alloca <16 x double>, align 8
1376 // CHECK-256: %local_i8 = alloca <32 x i8>, align 8
1377 // CHECK-256-NEXT: %local_i16 = alloca <16 x i16>, align 8
1378 // CHECK-256-NEXT: %local_i32 = alloca <8 x i32>, align 8
1379 // CHECK-256-NEXT: %local_i64 = alloca <4 x i64>, align 8
1380 // CHECK-256-NEXT: %local_u8 = alloca <32 x i8>, align 8
1381 // CHECK-256-NEXT: %local_u16 = alloca <16 x i16>, align 8
1382 // CHECK-256-NEXT: %local_u32 = alloca <8 x i32>, align 8
1383 // CHECK-256-NEXT: %local_u64 = alloca <4 x i64>, align 8
1384 // CHECK-256-NEXT: %local_f32 = alloca <8 x float>, align 8
1385 // CHECK-256-NEXT: %local_f64 = alloca <4 x double>, align 8
1386 // CHECK-256-NEXT: %local_i8m2 = alloca <64 x i8>, align 8
1387 // CHECK-256-NEXT: %local_i16m2 = alloca <32 x i16>, align 8
1388 // CHECK-256-NEXT: %local_i32m2 = alloca <16 x i32>, align 8
1389 // CHECK-256-NEXT: %local_i64m2 = alloca <8 x i64>, align 8
1390 // CHECK-256-NEXT: %local_u8m2 = alloca <64 x i8>, align 8
1391 // CHECK-256-NEXT: %local_u16m2 = alloca <32 x i16>, align 8
1392 // CHECK-256-NEXT: %local_u32m2 = alloca <16 x i32>, align 8
1393 // CHECK-256-NEXT: %local_u64m2 = alloca <8 x i64>, align 8
1394 // CHECK-256-NEXT: %local_f32m2 = alloca <16 x float>, align 8
1395 // CHECK-256-NEXT: %local_f64m2 = alloca <8 x double>, align 8
1396 // CHECK-256-NEXT: %local_i8m4 = alloca <128 x i8>, align 8
1397 // CHECK-256-NEXT: %local_i16m4 = alloca <64 x i16>, align 8
1398 // CHECK-256-NEXT: %local_i32m4 = alloca <32 x i32>, align 8
1399 // CHECK-256-NEXT: %local_i64m4 = alloca <16 x i64>, align 8
1400 // CHECK-256-NEXT: %local_u8m4 = alloca <128 x i8>, align 8
1401 // CHECK-256-NEXT: %local_u16m4 = alloca <64 x i16>, align 8
1402 // CHECK-256-NEXT: %local_u32m4 = alloca <32 x i32>, align 8
1403 // CHECK-256-NEXT: %local_u64m4 = alloca <16 x i64>, align 8
1404 // CHECK-256-NEXT: %local_f32m4 = alloca <32 x float>, align 8
1405 // CHECK-256-NEXT: %local_f64m4 = alloca <16 x double>, align 8
1406 // CHECK-256-NEXT: %local_i8m8 = alloca <256 x i8>, align 8
1407 // CHECK-256-NEXT: %local_i16m8 = alloca <128 x i16>, align 8
1408 // CHECK-256-NEXT: %local_i32m8 = alloca <64 x i32>, align 8
1409 // CHECK-256-NEXT: %local_i64m8 = alloca <32 x i64>, align 8
1410 // CHECK-256-NEXT: %local_u8m8 = alloca <256 x i8>, align 8
1411 // CHECK-256-NEXT: %local_u16m8 = alloca <128 x i16>, align 8
1412 // CHECK-256-NEXT: %local_u32m8 = alloca <64 x i32>, align 8
1413 // CHECK-256-NEXT: %local_u64m8 = alloca <32 x i64>, align 8
1414 // CHECK-256-NEXT: %local_f32m8 = alloca <64 x float>, align 8
1415 // CHECK-256-NEXT: %local_f64m8 = alloca <32 x double>, align 8
1417 // CHECK-512: %local_i8 = alloca <64 x i8>, align 8
1418 // CHECK-512-NEXT: %local_i16 = alloca <32 x i16>, align 8
1419 // CHECK-512-NEXT: %local_i32 = alloca <16 x i32>, align 8
1420 // CHECK-512-NEXT: %local_i64 = alloca <8 x i64>, align 8
1421 // CHECK-512-NEXT: %local_u8 = alloca <64 x i8>, align 8
1422 // CHECK-512-NEXT: %local_u16 = alloca <32 x i16>, align 8
1423 // CHECK-512-NEXT: %local_u32 = alloca <16 x i32>, align 8
1424 // CHECK-512-NEXT: %local_u64 = alloca <8 x i64>, align 8
1425 // CHECK-512-NEXT: %local_f32 = alloca <16 x float>, align 8
1426 // CHECK-512-NEXT: %local_f64 = alloca <8 x double>, align 8
1427 // CHECK-512-NEXT: %local_i8m2 = alloca <128 x i8>, align 8
1428 // CHECK-512-NEXT: %local_i16m2 = alloca <64 x i16>, align 8
1429 // CHECK-512-NEXT: %local_i32m2 = alloca <32 x i32>, align 8
1430 // CHECK-512-NEXT: %local_i64m2 = alloca <16 x i64>, align 8
1431 // CHECK-512-NEXT: %local_u8m2 = alloca <128 x i8>, align 8
1432 // CHECK-512-NEXT: %local_u16m2 = alloca <64 x i16>, align 8
1433 // CHECK-512-NEXT: %local_u32m2 = alloca <32 x i32>, align 8
1434 // CHECK-512-NEXT: %local_u64m2 = alloca <16 x i64>, align 8
1435 // CHECK-512-NEXT: %local_f32m2 = alloca <32 x float>, align 8
1436 // CHECK-512-NEXT: %local_f64m2 = alloca <16 x double>, align 8
1437 // CHECK-512-NEXT: %local_i8m4 = alloca <256 x i8>, align 8
1438 // CHECK-512-NEXT: %local_i16m4 = alloca <128 x i16>, align 8
1439 // CHECK-512-NEXT: %local_i32m4 = alloca <64 x i32>, align 8
1440 // CHECK-512-NEXT: %local_i64m4 = alloca <32 x i64>, align 8
1441 // CHECK-512-NEXT: %local_u8m4 = alloca <256 x i8>, align 8
1442 // CHECK-512-NEXT: %local_u16m4 = alloca <128 x i16>, align 8
1443 // CHECK-512-NEXT: %local_u32m4 = alloca <64 x i32>, align 8
1444 // CHECK-512-NEXT: %local_u64m4 = alloca <32 x i64>, align 8
1445 // CHECK-512-NEXT: %local_f32m4 = alloca <64 x float>, align 8
1446 // CHECK-512-NEXT: %local_f64m4 = alloca <32 x double>, align 8
1447 // CHECK-512-NEXT: %local_i8m8 = alloca <512 x i8>, align 8
1448 // CHECK-512-NEXT: %local_i16m8 = alloca <256 x i16>, align 8
1449 // CHECK-512-NEXT: %local_i32m8 = alloca <128 x i32>, align 8
1450 // CHECK-512-NEXT: %local_i64m8 = alloca <64 x i64>, align 8
1451 // CHECK-512-NEXT: %local_u8m8 = alloca <512 x i8>, align 8
1452 // CHECK-512-NEXT: %local_u16m8 = alloca <256 x i16>, align 8
1453 // CHECK-512-NEXT: %local_u32m8 = alloca <128 x i32>, align 8
1454 // CHECK-512-NEXT: %local_u64m8 = alloca <64 x i64>, align 8
1455 // CHECK-512-NEXT: %local_f32m8 = alloca <128 x float>, align 8
1456 // CHECK-512-NEXT: %local_f64m8 = alloca <64 x double>, align 8
1458 // CHECK-1024: %local_i8 = alloca <128 x i8>, align 8
1459 // CHECK-1024-NEXT: %local_i16 = alloca <64 x i16>, align 8
1460 // CHECK-1024-NEXT: %local_i32 = alloca <32 x i32>, align 8
1461 // CHECK-1024-NEXT: %local_i64 = alloca <16 x i64>, align 8
1462 // CHECK-1024-NEXT: %local_u8 = alloca <128 x i8>, align 8
1463 // CHECK-1024-NEXT: %local_u16 = alloca <64 x i16>, align 8
1464 // CHECK-1024-NEXT: %local_u32 = alloca <32 x i32>, align 8
1465 // CHECK-1024-NEXT: %local_u64 = alloca <16 x i64>, align 8
1466 // CHECK-1024-NEXT: %local_f32 = alloca <32 x float>, align 8
1467 // CHECK-1024-NEXT: %local_f64 = alloca <16 x double>, align 8
1468 // CHECK-1024-NEXT: %local_i8m2 = alloca <256 x i8>, align 8
1469 // CHECK-1024-NEXT: %local_i16m2 = alloca <128 x i16>, align 8
1470 // CHECK-1024-NEXT: %local_i32m2 = alloca <64 x i32>, align 8
1471 // CHECK-1024-NEXT: %local_i64m2 = alloca <32 x i64>, align 8
1472 // CHECK-1024-NEXT: %local_u8m2 = alloca <256 x i8>, align 8
1473 // CHECK-1024-NEXT: %local_u16m2 = alloca <128 x i16>, align 8
1474 // CHECK-1024-NEXT: %local_u32m2 = alloca <64 x i32>, align 8
1475 // CHECK-1024-NEXT: %local_u64m2 = alloca <32 x i64>, align 8
1476 // CHECK-1024-NEXT: %local_f32m2 = alloca <64 x float>, align 8
1477 // CHECK-1024-NEXT: %local_f64m2 = alloca <32 x double>, align 8
1478 // CHECK-1024-NEXT: %local_i8m4 = alloca <512 x i8>, align 8
1479 // CHECK-1024-NEXT: %local_i16m4 = alloca <256 x i16>, align 8
1480 // CHECK-1024-NEXT: %local_i32m4 = alloca <128 x i32>, align 8
1481 // CHECK-1024-NEXT: %local_i64m4 = alloca <64 x i64>, align 8
1482 // CHECK-1024-NEXT: %local_u8m4 = alloca <512 x i8>, align 8
1483 // CHECK-1024-NEXT: %local_u16m4 = alloca <256 x i16>, align 8
1484 // CHECK-1024-NEXT: %local_u32m4 = alloca <128 x i32>, align 8
1485 // CHECK-1024-NEXT: %local_u64m4 = alloca <64 x i64>, align 8
1486 // CHECK-1024-NEXT: %local_f32m4 = alloca <128 x float>, align 8
1487 // CHECK-1024-NEXT: %local_f64m4 = alloca <64 x double>, align 8
1488 // CHECK-1024-NEXT: %local_i8m8 = alloca <1024 x i8>, align 8
1489 // CHECK-1024-NEXT: %local_i16m8 = alloca <512 x i16>, align 8
1490 // CHECK-1024-NEXT: %local_i32m8 = alloca <256 x i32>, align 8
1491 // CHECK-1024-NEXT: %local_i64m8 = alloca <128 x i64>, align 8
1492 // CHECK-1024-NEXT: %local_u8m8 = alloca <1024 x i8>, align 8
1493 // CHECK-1024-NEXT: %local_u16m8 = alloca <512 x i16>, align 8
1494 // CHECK-1024-NEXT: %local_u32m8 = alloca <256 x i32>, align 8
1495 // CHECK-1024-NEXT: %local_u64m8 = alloca <128 x i64>, align 8
1496 // CHECK-1024-NEXT: %local_f32m8 = alloca <256 x float>, align 8
1497 // CHECK-1024-NEXT: %local_f64m8 = alloca <128 x double>, align 8
1499 //===----------------------------------------------------------------------===//
1500 // Local arrays
1501 //===----------------------------------------------------------------------===//
1502 // CHECK-64: %local_arr_i8 = alloca [3 x <8 x i8>], align 8
1503 // CHECK-64-NEXT: %local_arr_i16 = alloca [3 x <4 x i16>], align 8
1504 // CHECK-64-NEXT: %local_arr_i32 = alloca [3 x <2 x i32>], align 8
1505 // CHECK-64-NEXT: %local_arr_i64 = alloca [3 x <1 x i64>], align 8
1506 // CHECK-64-NEXT: %local_arr_u8 = alloca [3 x <8 x i8>], align 8
1507 // CHECK-64-NEXT: %local_arr_u16 = alloca [3 x <4 x i16>], align 8
1508 // CHECK-64-NEXT: %local_arr_u32 = alloca [3 x <2 x i32>], align 8
1509 // CHECK-64-NEXT: %local_arr_u64 = alloca [3 x <1 x i64>], align 8
1510 // CHECK-64-NEXT: %local_arr_f32 = alloca [3 x <2 x float>], align 8
1511 // CHECK-64-NEXT: %local_arr_f64 = alloca [3 x <1 x double>], align 8
1512 // CHECK-64-NEXT: %local_arr_i8m2 = alloca [3 x <16 x i8>], align 8
1513 // CHECK-64-NEXT: %local_arr_i16m2 = alloca [3 x <8 x i16>], align 8
1514 // CHECK-64-NEXT: %local_arr_i32m2 = alloca [3 x <4 x i32>], align 8
1515 // CHECK-64-NEXT: %local_arr_i64m2 = alloca [3 x <2 x i64>], align 8
1516 // CHECK-64-NEXT: %local_arr_u8m2 = alloca [3 x <16 x i8>], align 8
1517 // CHECK-64-NEXT: %local_arr_u16m2 = alloca [3 x <8 x i16>], align 8
1518 // CHECK-64-NEXT: %local_arr_u32m2 = alloca [3 x <4 x i32>], align 8
1519 // CHECK-64-NEXT: %local_arr_u64m2 = alloca [3 x <2 x i64>], align 8
1520 // CHECK-64-NEXT: %local_arr_f32m2 = alloca [3 x <4 x float>], align 8
1521 // CHECK-64-NEXT: %local_arr_f64m2 = alloca [3 x <2 x double>], align 8
1522 // CHECK-64-NEXT: %local_arr_i8m4 = alloca [3 x <32 x i8>], align 8
1523 // CHECK-64-NEXT: %local_arr_i16m4 = alloca [3 x <16 x i16>], align 8
1524 // CHECK-64-NEXT: %local_arr_i32m4 = alloca [3 x <8 x i32>], align 8
1525 // CHECK-64-NEXT: %local_arr_i64m4 = alloca [3 x <4 x i64>], align 8
1526 // CHECK-64-NEXT: %local_arr_u8m4 = alloca [3 x <32 x i8>], align 8
1527 // CHECK-64-NEXT: %local_arr_u16m4 = alloca [3 x <16 x i16>], align 8
1528 // CHECK-64-NEXT: %local_arr_u32m4 = alloca [3 x <8 x i32>], align 8
1529 // CHECK-64-NEXT: %local_arr_u64m4 = alloca [3 x <4 x i64>], align 8
1530 // CHECK-64-NEXT: %local_arr_f32m4 = alloca [3 x <8 x float>], align 8
1531 // CHECK-64-NEXT: %local_arr_f64m4 = alloca [3 x <4 x double>], align 8
1532 // CHECK-64-NEXT: %local_arr_i8m8 = alloca [3 x <64 x i8>], align 8
1533 // CHECK-64-NEXT: %local_arr_i16m8 = alloca [3 x <32 x i16>], align 8
1534 // CHECK-64-NEXT: %local_arr_i32m8 = alloca [3 x <16 x i32>], align 8
1535 // CHECK-64-NEXT: %local_arr_i64m8 = alloca [3 x <8 x i64>], align 8
1536 // CHECK-64-NEXT: %local_arr_u8m8 = alloca [3 x <64 x i8>], align 8
1537 // CHECK-64-NEXT: %local_arr_u16m8 = alloca [3 x <32 x i16>], align 8
1538 // CHECK-64-NEXT: %local_arr_u32m8 = alloca [3 x <16 x i32>], align 8
1539 // CHECK-64-NEXT: %local_arr_u64m8 = alloca [3 x <8 x i64>], align 8
1540 // CHECK-64-NEXT: %local_arr_f32m8 = alloca [3 x <16 x float>], align 8
1541 // CHECK-64-NEXT: %local_arr_f64m8 = alloca [3 x <8 x double>], align 8
1542 // CHECK-64-NEXT: %local_arr_i8mf2 = alloca [3 x <4 x i8>], align 4
1543 // CHECK-64-NEXT: %local_arr_i16mf2 = alloca [3 x <2 x i16>], align 4
1544 // CHECK-64-NEXT: %local_arr_i32mf2 = alloca [3 x <1 x i32>], align 4
1545 // CHECK-64-NEXT: %local_arr_u8mf2 = alloca [3 x <4 x i8>], align 4
1546 // CHECK-64-NEXT: %local_arr_u16mf2 = alloca [3 x <2 x i16>], align 4
1547 // CHECK-64-NEXT: %local_arr_u32mf2 = alloca [3 x <1 x i32>], align 4
1548 // CHECK-64-NEXT: %local_arr_f32mf2 = alloca [3 x <1 x float>], align 4
1549 // CHECK-64-NEXT: %local_arr_i8mf4 = alloca [3 x <2 x i8>], align 2
1550 // CHECK-64-NEXT: %local_arr_i16mf4 = alloca [3 x <1 x i16>], align 2
1551 // CHECK-64-NEXT: %local_arr_u8mf4 = alloca [3 x <2 x i8>], align 2
1552 // CHECK-64-NEXT: %local_arr_u16mf4 = alloca [3 x <1 x i16>], align 2
1553 // CHECK-64-NEXT: %local_arr_i8mf8 = alloca [3 x <1 x i8>], align 1
1554 // CHECK-64-NEXT: %local_arr_u8mf8 = alloca [3 x <1 x i8>], align 1
1556 // CHECK-128: %local_arr_i8 = alloca [3 x <16 x i8>], align 8
1557 // CHECK-128-NEXT: %local_arr_i16 = alloca [3 x <8 x i16>], align 8
1558 // CHECK-128-NEXT: %local_arr_i32 = alloca [3 x <4 x i32>], align 8
1559 // CHECK-128-NEXT: %local_arr_i64 = alloca [3 x <2 x i64>], align 8
1560 // CHECK-128-NEXT: %local_arr_u8 = alloca [3 x <16 x i8>], align 8
1561 // CHECK-128-NEXT: %local_arr_u16 = alloca [3 x <8 x i16>], align 8
1562 // CHECK-128-NEXT: %local_arr_u32 = alloca [3 x <4 x i32>], align 8
1563 // CHECK-128-NEXT: %local_arr_u64 = alloca [3 x <2 x i64>], align 8
1564 // CHECK-128-NEXT: %local_arr_f32 = alloca [3 x <4 x float>], align 8
1565 // CHECK-128-NEXT: %local_arr_f64 = alloca [3 x <2 x double>], align 8
1566 // CHECK-128-NEXT: %local_arr_i8m2 = alloca [3 x <32 x i8>], align 8
1567 // CHECK-128-NEXT: %local_arr_i16m2 = alloca [3 x <16 x i16>], align 8
1568 // CHECK-128-NEXT: %local_arr_i32m2 = alloca [3 x <8 x i32>], align 8
1569 // CHECK-128-NEXT: %local_arr_i64m2 = alloca [3 x <4 x i64>], align 8
1570 // CHECK-128-NEXT: %local_arr_u8m2 = alloca [3 x <32 x i8>], align 8
1571 // CHECK-128-NEXT: %local_arr_u16m2 = alloca [3 x <16 x i16>], align 8
1572 // CHECK-128-NEXT: %local_arr_u32m2 = alloca [3 x <8 x i32>], align 8
1573 // CHECK-128-NEXT: %local_arr_u64m2 = alloca [3 x <4 x i64>], align 8
1574 // CHECK-128-NEXT: %local_arr_f32m2 = alloca [3 x <8 x float>], align 8
1575 // CHECK-128-NEXT: %local_arr_f64m2 = alloca [3 x <4 x double>], align 8
1576 // CHECK-128-NEXT: %local_arr_i8m4 = alloca [3 x <64 x i8>], align 8
1577 // CHECK-128-NEXT: %local_arr_i16m4 = alloca [3 x <32 x i16>], align 8
1578 // CHECK-128-NEXT: %local_arr_i32m4 = alloca [3 x <16 x i32>], align 8
1579 // CHECK-128-NEXT: %local_arr_i64m4 = alloca [3 x <8 x i64>], align 8
1580 // CHECK-128-NEXT: %local_arr_u8m4 = alloca [3 x <64 x i8>], align 8
1581 // CHECK-128-NEXT: %local_arr_u16m4 = alloca [3 x <32 x i16>], align 8
1582 // CHECK-128-NEXT: %local_arr_u32m4 = alloca [3 x <16 x i32>], align 8
1583 // CHECK-128-NEXT: %local_arr_u64m4 = alloca [3 x <8 x i64>], align 8
1584 // CHECK-128-NEXT: %local_arr_f32m4 = alloca [3 x <16 x float>], align 8
1585 // CHECK-128-NEXT: %local_arr_f64m4 = alloca [3 x <8 x double>], align 8
1586 // CHECK-128-NEXT: %local_arr_i8m8 = alloca [3 x <128 x i8>], align 8
1587 // CHECK-128-NEXT: %local_arr_i16m8 = alloca [3 x <64 x i16>], align 8
1588 // CHECK-128-NEXT: %local_arr_i32m8 = alloca [3 x <32 x i32>], align 8
1589 // CHECK-128-NEXT: %local_arr_i64m8 = alloca [3 x <16 x i64>], align 8
1590 // CHECK-128-NEXT: %local_arr_u8m8 = alloca [3 x <128 x i8>], align 8
1591 // CHECK-128-NEXT: %local_arr_u16m8 = alloca [3 x <64 x i16>], align 8
1592 // CHECK-128-NEXT: %local_arr_u32m8 = alloca [3 x <32 x i32>], align 8
1593 // CHECK-128-NEXT: %local_arr_u64m8 = alloca [3 x <16 x i64>], align 8
1594 // CHECK-128-NEXT: %local_arr_f32m8 = alloca [3 x <32 x float>], align 8
1595 // CHECK-128-NEXT: %local_arr_f64m8 = alloca [3 x <16 x double>], align 8
1596 // CHECK-128-NEXT: %local_arr_i8mf2 = alloca [3 x <8 x i8>], align 8
1597 // CHECK-128-NEXT: %local_arr_i16mf2 = alloca [3 x <4 x i16>], align 8
1598 // CHECK-128-NEXT: %local_arr_i32mf2 = alloca [3 x <2 x i32>], align 8
1599 // CHECK-128-NEXT: %local_arr_u8mf2 = alloca [3 x <8 x i8>], align 8
1600 // CHECK-128-NEXT: %local_arr_u16mf2 = alloca [3 x <4 x i16>], align 8
1601 // CHECK-128-NEXT: %local_arr_u32mf2 = alloca [3 x <2 x i32>], align 8
1602 // CHECK-128-NEXT: %local_arr_f32mf2 = alloca [3 x <2 x float>], align 8
1603 // CHECK-128-NEXT: %local_arr_i8mf4 = alloca [3 x <4 x i8>], align 4
1604 // CHECK-128-NEXT: %local_arr_i16mf4 = alloca [3 x <2 x i16>], align 4
1605 // CHECK-128-NEXT: %local_arr_u8mf4 = alloca [3 x <4 x i8>], align 4
1606 // CHECK-128-NEXT: %local_arr_u16mf4 = alloca [3 x <2 x i16>], align 4
1607 // CHECK-128-NEXT: %local_arr_i8mf8 = alloca [3 x <2 x i8>], align 2
1608 // CHECK-128-NEXT: %local_arr_u8mf8 = alloca [3 x <2 x i8>], align 2
1610 // CHECK-256: %local_arr_i8 = alloca [3 x <32 x i8>], align 8
1611 // CHECK-256-NEXT: %local_arr_i16 = alloca [3 x <16 x i16>], align 8
1612 // CHECK-256-NEXT: %local_arr_i32 = alloca [3 x <8 x i32>], align 8
1613 // CHECK-256-NEXT: %local_arr_i64 = alloca [3 x <4 x i64>], align 8
1614 // CHECK-256-NEXT: %local_arr_u8 = alloca [3 x <32 x i8>], align 8
1615 // CHECK-256-NEXT: %local_arr_u16 = alloca [3 x <16 x i16>], align 8
1616 // CHECK-256-NEXT: %local_arr_u32 = alloca [3 x <8 x i32>], align 8
1617 // CHECK-256-NEXT: %local_arr_u64 = alloca [3 x <4 x i64>], align 8
1618 // CHECK-256-NEXT: %local_arr_f32 = alloca [3 x <8 x float>], align 8
1619 // CHECK-256-NEXT: %local_arr_f64 = alloca [3 x <4 x double>], align 8
1620 // CHECK-256-NEXT: %local_arr_i8m2 = alloca [3 x <64 x i8>], align 8
1621 // CHECK-256-NEXT: %local_arr_i16m2 = alloca [3 x <32 x i16>], align 8
1622 // CHECK-256-NEXT: %local_arr_i32m2 = alloca [3 x <16 x i32>], align 8
1623 // CHECK-256-NEXT: %local_arr_i64m2 = alloca [3 x <8 x i64>], align 8
1624 // CHECK-256-NEXT: %local_arr_u8m2 = alloca [3 x <64 x i8>], align 8
1625 // CHECK-256-NEXT: %local_arr_u16m2 = alloca [3 x <32 x i16>], align 8
1626 // CHECK-256-NEXT: %local_arr_u32m2 = alloca [3 x <16 x i32>], align 8
1627 // CHECK-256-NEXT: %local_arr_u64m2 = alloca [3 x <8 x i64>], align 8
1628 // CHECK-256-NEXT: %local_arr_f32m2 = alloca [3 x <16 x float>], align 8
1629 // CHECK-256-NEXT: %local_arr_f64m2 = alloca [3 x <8 x double>], align 8
1630 // CHECK-256-NEXT: %local_arr_i8m4 = alloca [3 x <128 x i8>], align 8
1631 // CHECK-256-NEXT: %local_arr_i16m4 = alloca [3 x <64 x i16>], align 8
1632 // CHECK-256-NEXT: %local_arr_i32m4 = alloca [3 x <32 x i32>], align 8
1633 // CHECK-256-NEXT: %local_arr_i64m4 = alloca [3 x <16 x i64>], align 8
1634 // CHECK-256-NEXT: %local_arr_u8m4 = alloca [3 x <128 x i8>], align 8
1635 // CHECK-256-NEXT: %local_arr_u16m4 = alloca [3 x <64 x i16>], align 8
1636 // CHECK-256-NEXT: %local_arr_u32m4 = alloca [3 x <32 x i32>], align 8
1637 // CHECK-256-NEXT: %local_arr_u64m4 = alloca [3 x <16 x i64>], align 8
1638 // CHECK-256-NEXT: %local_arr_f32m4 = alloca [3 x <32 x float>], align 8
1639 // CHECK-256-NEXT: %local_arr_f64m4 = alloca [3 x <16 x double>], align 8
1640 // CHECK-256-NEXT: %local_arr_i8m8 = alloca [3 x <256 x i8>], align 8
1641 // CHECK-256-NEXT: %local_arr_i16m8 = alloca [3 x <128 x i16>], align 8
1642 // CHECK-256-NEXT: %local_arr_i32m8 = alloca [3 x <64 x i32>], align 8
1643 // CHECK-256-NEXT: %local_arr_i64m8 = alloca [3 x <32 x i64>], align 8
1644 // CHECK-256-NEXT: %local_arr_u8m8 = alloca [3 x <256 x i8>], align 8
1645 // CHECK-256-NEXT: %local_arr_u16m8 = alloca [3 x <128 x i16>], align 8
1646 // CHECK-256-NEXT: %local_arr_u32m8 = alloca [3 x <64 x i32>], align 8
1647 // CHECK-256-NEXT: %local_arr_u64m8 = alloca [3 x <32 x i64>], align 8
1648 // CHECK-256-NEXT: %local_arr_f32m8 = alloca [3 x <64 x float>], align 8
1649 // CHECK-256-NEXT: %local_arr_f64m8 = alloca [3 x <32 x double>], align 8
1650 // CHECK-256-NEXT: %local_arr_i8mf2 = alloca [3 x <16 x i8>], align 8
1651 // CHECK-256-NEXT: %local_arr_i16mf2 = alloca [3 x <8 x i16>], align 8
1652 // CHECK-256-NEXT: %local_arr_i32mf2 = alloca [3 x <4 x i32>], align 8
1653 // CHECK-256-NEXT: %local_arr_u8mf2 = alloca [3 x <16 x i8>], align 8
1654 // CHECK-256-NEXT: %local_arr_u16mf2 = alloca [3 x <8 x i16>], align 8
1655 // CHECK-256-NEXT: %local_arr_u32mf2 = alloca [3 x <4 x i32>], align 8
1656 // CHECK-256-NEXT: %local_arr_f32mf2 = alloca [3 x <4 x float>], align 8
1657 // CHECK-256-NEXT: %local_arr_i8mf4 = alloca [3 x <8 x i8>], align 8
1658 // CHECK-256-NEXT: %local_arr_i16mf4 = alloca [3 x <4 x i16>], align 8
1659 // CHECK-256-NEXT: %local_arr_u8mf4 = alloca [3 x <8 x i8>], align 8
1660 // CHECK-256-NEXT: %local_arr_u16mf4 = alloca [3 x <4 x i16>], align 8
1661 // CHECK-256-NEXT: %local_arr_i8mf8 = alloca [3 x <4 x i8>], align 4
1662 // CHECK-256-NEXT: %local_arr_u8mf8 = alloca [3 x <4 x i8>], align 4
1664 // CHECK-512: %local_arr_i8 = alloca [3 x <64 x i8>], align 8
1665 // CHECK-512-NEXT: %local_arr_i16 = alloca [3 x <32 x i16>], align 8
1666 // CHECK-512-NEXT: %local_arr_i32 = alloca [3 x <16 x i32>], align 8
1667 // CHECK-512-NEXT: %local_arr_i64 = alloca [3 x <8 x i64>], align 8
1668 // CHECK-512-NEXT: %local_arr_u8 = alloca [3 x <64 x i8>], align 8
1669 // CHECK-512-NEXT: %local_arr_u16 = alloca [3 x <32 x i16>], align 8
1670 // CHECK-512-NEXT: %local_arr_u32 = alloca [3 x <16 x i32>], align 8
1671 // CHECK-512-NEXT: %local_arr_u64 = alloca [3 x <8 x i64>], align 8
1672 // CHECK-512-NEXT: %local_arr_f32 = alloca [3 x <16 x float>], align 8
1673 // CHECK-512-NEXT: %local_arr_f64 = alloca [3 x <8 x double>], align 8
1674 // CHECK-512-NEXT: %local_arr_i8m2 = alloca [3 x <128 x i8>], align 8
1675 // CHECK-512-NEXT: %local_arr_i16m2 = alloca [3 x <64 x i16>], align 8
1676 // CHECK-512-NEXT: %local_arr_i32m2 = alloca [3 x <32 x i32>], align 8
1677 // CHECK-512-NEXT: %local_arr_i64m2 = alloca [3 x <16 x i64>], align 8
1678 // CHECK-512-NEXT: %local_arr_u8m2 = alloca [3 x <128 x i8>], align 8
1679 // CHECK-512-NEXT: %local_arr_u16m2 = alloca [3 x <64 x i16>], align 8
1680 // CHECK-512-NEXT: %local_arr_u32m2 = alloca [3 x <32 x i32>], align 8
1681 // CHECK-512-NEXT: %local_arr_u64m2 = alloca [3 x <16 x i64>], align 8
1682 // CHECK-512-NEXT: %local_arr_f32m2 = alloca [3 x <32 x float>], align 8
1683 // CHECK-512-NEXT: %local_arr_f64m2 = alloca [3 x <16 x double>], align 8
1684 // CHECK-512-NEXT: %local_arr_i8m4 = alloca [3 x <256 x i8>], align 8
1685 // CHECK-512-NEXT: %local_arr_i16m4 = alloca [3 x <128 x i16>], align 8
1686 // CHECK-512-NEXT: %local_arr_i32m4 = alloca [3 x <64 x i32>], align 8
1687 // CHECK-512-NEXT: %local_arr_i64m4 = alloca [3 x <32 x i64>], align 8
1688 // CHECK-512-NEXT: %local_arr_u8m4 = alloca [3 x <256 x i8>], align 8
1689 // CHECK-512-NEXT: %local_arr_u16m4 = alloca [3 x <128 x i16>], align 8
1690 // CHECK-512-NEXT: %local_arr_u32m4 = alloca [3 x <64 x i32>], align 8
1691 // CHECK-512-NEXT: %local_arr_u64m4 = alloca [3 x <32 x i64>], align 8
1692 // CHECK-512-NEXT: %local_arr_f32m4 = alloca [3 x <64 x float>], align 8
1693 // CHECK-512-NEXT: %local_arr_f64m4 = alloca [3 x <32 x double>], align 8
1694 // CHECK-512-NEXT: %local_arr_i8m8 = alloca [3 x <512 x i8>], align 8
1695 // CHECK-512-NEXT: %local_arr_i16m8 = alloca [3 x <256 x i16>], align 8
1696 // CHECK-512-NEXT: %local_arr_i32m8 = alloca [3 x <128 x i32>], align 8
1697 // CHECK-512-NEXT: %local_arr_i64m8 = alloca [3 x <64 x i64>], align 8
1698 // CHECK-512-NEXT: %local_arr_u8m8 = alloca [3 x <512 x i8>], align 8
1699 // CHECK-512-NEXT: %local_arr_u16m8 = alloca [3 x <256 x i16>], align 8
1700 // CHECK-512-NEXT: %local_arr_u32m8 = alloca [3 x <128 x i32>], align 8
1701 // CHECK-512-NEXT: %local_arr_u64m8 = alloca [3 x <64 x i64>], align 8
1702 // CHECK-512-NEXT: %local_arr_f32m8 = alloca [3 x <128 x float>], align 8
1703 // CHECK-512-NEXT: %local_arr_f64m8 = alloca [3 x <64 x double>], align 8
1704 // CHECK-512-NEXT: %local_arr_i8mf2 = alloca [3 x <32 x i8>], align 8
1705 // CHECK-512-NEXT: %local_arr_i16mf2 = alloca [3 x <16 x i16>], align 8
1706 // CHECK-512-NEXT: %local_arr_i32mf2 = alloca [3 x <8 x i32>], align 8
1707 // CHECK-512-NEXT: %local_arr_u8mf2 = alloca [3 x <32 x i8>], align 8
1708 // CHECK-512-NEXT: %local_arr_u16mf2 = alloca [3 x <16 x i16>], align 8
1709 // CHECK-512-NEXT: %local_arr_u32mf2 = alloca [3 x <8 x i32>], align 8
1710 // CHECK-512-NEXT: %local_arr_f32mf2 = alloca [3 x <8 x float>], align 8
1711 // CHECK-512-NEXT: %local_arr_i8mf4 = alloca [3 x <16 x i8>], align 8
1712 // CHECK-512-NEXT: %local_arr_i16mf4 = alloca [3 x <8 x i16>], align 8
1713 // CHECK-512-NEXT: %local_arr_u8mf4 = alloca [3 x <16 x i8>], align 8
1714 // CHECK-512-NEXT: %local_arr_u16mf4 = alloca [3 x <8 x i16>], align 8
1715 // CHECK-512-NEXT: %local_arr_i8mf8 = alloca [3 x <8 x i8>], align 8
1716 // CHECK-512-NEXT: %local_arr_u8mf8 = alloca [3 x <8 x i8>], align 8
1718 // CHECK-1024: %local_arr_i8 = alloca [3 x <128 x i8>], align 8
1719 // CHECK-1024-NEXT: %local_arr_i16 = alloca [3 x <64 x i16>], align 8
1720 // CHECK-1024-NEXT: %local_arr_i32 = alloca [3 x <32 x i32>], align 8
1721 // CHECK-1024-NEXT: %local_arr_i64 = alloca [3 x <16 x i64>], align 8
1722 // CHECK-1024-NEXT: %local_arr_u8 = alloca [3 x <128 x i8>], align 8
1723 // CHECK-1024-NEXT: %local_arr_u16 = alloca [3 x <64 x i16>], align 8
1724 // CHECK-1024-NEXT: %local_arr_u32 = alloca [3 x <32 x i32>], align 8
1725 // CHECK-1024-NEXT: %local_arr_u64 = alloca [3 x <16 x i64>], align 8
1726 // CHECK-1024-NEXT: %local_arr_f32 = alloca [3 x <32 x float>], align 8
1727 // CHECK-1024-NEXT: %local_arr_f64 = alloca [3 x <16 x double>], align 8
1728 // CHECK-1024-NEXT: %local_arr_i8m2 = alloca [3 x <256 x i8>], align 8
1729 // CHECK-1024-NEXT: %local_arr_i16m2 = alloca [3 x <128 x i16>], align 8
1730 // CHECK-1024-NEXT: %local_arr_i32m2 = alloca [3 x <64 x i32>], align 8
1731 // CHECK-1024-NEXT: %local_arr_i64m2 = alloca [3 x <32 x i64>], align 8
1732 // CHECK-1024-NEXT: %local_arr_u8m2 = alloca [3 x <256 x i8>], align 8
1733 // CHECK-1024-NEXT: %local_arr_u16m2 = alloca [3 x <128 x i16>], align 8
1734 // CHECK-1024-NEXT: %local_arr_u32m2 = alloca [3 x <64 x i32>], align 8
1735 // CHECK-1024-NEXT: %local_arr_u64m2 = alloca [3 x <32 x i64>], align 8
1736 // CHECK-1024-NEXT: %local_arr_f32m2 = alloca [3 x <64 x float>], align 8
1737 // CHECK-1024-NEXT: %local_arr_f64m2 = alloca [3 x <32 x double>], align 8
1738 // CHECK-1024-NEXT: %local_arr_i8m4 = alloca [3 x <512 x i8>], align 8
1739 // CHECK-1024-NEXT: %local_arr_i16m4 = alloca [3 x <256 x i16>], align 8
1740 // CHECK-1024-NEXT: %local_arr_i32m4 = alloca [3 x <128 x i32>], align 8
1741 // CHECK-1024-NEXT: %local_arr_i64m4 = alloca [3 x <64 x i64>], align 8
1742 // CHECK-1024-NEXT: %local_arr_u8m4 = alloca [3 x <512 x i8>], align 8
1743 // CHECK-1024-NEXT: %local_arr_u16m4 = alloca [3 x <256 x i16>], align 8
1744 // CHECK-1024-NEXT: %local_arr_u32m4 = alloca [3 x <128 x i32>], align 8
1745 // CHECK-1024-NEXT: %local_arr_u64m4 = alloca [3 x <64 x i64>], align 8
1746 // CHECK-1024-NEXT: %local_arr_f32m4 = alloca [3 x <128 x float>], align 8
1747 // CHECK-1024-NEXT: %local_arr_f64m4 = alloca [3 x <64 x double>], align 8
1748 // CHECK-1024-NEXT: %local_arr_i8m8 = alloca [3 x <1024 x i8>], align 8
1749 // CHECK-1024-NEXT: %local_arr_i16m8 = alloca [3 x <512 x i16>], align 8
1750 // CHECK-1024-NEXT: %local_arr_i32m8 = alloca [3 x <256 x i32>], align 8
1751 // CHECK-1024-NEXT: %local_arr_i64m8 = alloca [3 x <128 x i64>], align 8
1752 // CHECK-1024-NEXT: %local_arr_u8m8 = alloca [3 x <1024 x i8>], align 8
1753 // CHECK-1024-NEXT: %local_arr_u16m8 = alloca [3 x <512 x i16>], align 8
1754 // CHECK-1024-NEXT: %local_arr_u32m8 = alloca [3 x <256 x i32>], align 8
1755 // CHECK-1024-NEXT: %local_arr_u64m8 = alloca [3 x <128 x i64>], align 8
1756 // CHECK-1024-NEXT: %local_arr_f32m8 = alloca [3 x <256 x float>], align 8
1757 // CHECK-1024-NEXT: %local_arr_f64m8 = alloca [3 x <128 x double>], align 8
1758 // CHECK-1024-NEXT: %local_arr_i8mf2 = alloca [3 x <64 x i8>], align 8
1759 // CHECK-1024-NEXT: %local_arr_i16mf2 = alloca [3 x <32 x i16>], align 8
1760 // CHECK-1024-NEXT: %local_arr_i32mf2 = alloca [3 x <16 x i32>], align 8
1761 // CHECK-1024-NEXT: %local_arr_u8mf2 = alloca [3 x <64 x i8>], align 8
1762 // CHECK-1024-NEXT: %local_arr_u16mf2 = alloca [3 x <32 x i16>], align 8
1763 // CHECK-1024-NEXT: %local_arr_u32mf2 = alloca [3 x <16 x i32>], align 8
1764 // CHECK-1024-NEXT: %local_arr_f32mf2 = alloca [3 x <16 x float>], align 8
1765 // CHECK-1024-NEXT: %local_arr_i8mf4 = alloca [3 x <32 x i8>], align 8
1766 // CHECK-1024-NEXT: %local_arr_i16mf4 = alloca [3 x <16 x i16>], align 8
1767 // CHECK-1024-NEXT: %local_arr_u8mf4 = alloca [3 x <32 x i8>], align 8
1768 // CHECK-1024-NEXT: %local_arr_u16mf4 = alloca [3 x <16 x i16>], align 8
1769 // CHECK-1024-NEXT: %local_arr_i8mf8 = alloca [3 x <16 x i8>], align 8
1770 // CHECK-1024-NEXT: %local_arr_u8mf8 = alloca [3 x <16 x i8>], align 8