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