xref: /aosp_15_r20/external/clang/test/CodeGen/union-align.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm %s -o - | grep load | grep "4 x float" | not grep "align 4"
2*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm %s -o - | grep load | grep "4 x float" | grep "align 16"
3*67e74705SXin Li // PR3432
4*67e74705SXin Li // rdar://6536377
5*67e74705SXin Li 
6*67e74705SXin Li typedef float __m128 __attribute__ ((__vector_size__ (16)));
7*67e74705SXin Li 
8*67e74705SXin Li typedef union
9*67e74705SXin Li {
10*67e74705SXin Li   int i[4];
11*67e74705SXin Li   float f[4];
12*67e74705SXin Li   __m128 v;
13*67e74705SXin Li } u_t;
14*67e74705SXin Li 
t(u_t * a)15*67e74705SXin Li __m128 t(u_t *a) {
16*67e74705SXin Li   return a->v;
17*67e74705SXin Li }
18