blob: 10a8ecc378f0f4e52a721ebfd28a3c1dc8a7f50f [file] [log] [blame]
Ted Kremenekc9dcb452011-03-17 04:16:45 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -fsyntax-only -Wuninitialized -fsyntax-only %s -verify
Ted Kremenek1cbc3152011-03-17 03:06:11 +00002
Ted Kremenekc9dcb452011-03-17 04:16:45 +00003typedef int __v4si __attribute__((__vector_size__(16)));
4typedef float __m128 __attribute__((__vector_size__(16)));
5__m128 _mm_xor_ps(__m128 a, __m128 b);
6__m128 _mm_loadu_ps(const float *p);
Ted Kremenek1cbc3152011-03-17 03:06:11 +00007
8void test1(float *input) {
9 __m128 x, y, z, w, X; // expected-note {{variable 'x' is declared here}} expected-note {{variable 'y' is declared here}} expected-note {{variable 'w' is declared here}} expected-note {{variable 'z' is declared here}}
Chandler Carruthf04eb2d2011-04-08 06:33:38 +000010 x = _mm_xor_ps(x,x); // expected-warning {{variable 'x' is uninitialized when used here}}
11 y = _mm_xor_ps(y,y); // expected-warning {{variable 'y' is uninitialized when used here}}
12 z = _mm_xor_ps(z,z); // expected-warning {{variable 'z' is uninitialized when used here}}
13 w = _mm_xor_ps(w,w); // expected-warning {{variable 'w' is uninitialized when used here}}
Ted Kremenek1cbc3152011-03-17 03:06:11 +000014 X = _mm_loadu_ps(&input[0]);
15 X = _mm_xor_ps(X,X); // no-warning
16}
17