1 // RUN: %clangxx_msan -O0 %s -c -o %t
2 // RUN: %clangxx_msan -O3 %s -c -o %t
3 
4 // Regression test for MemorySanitizer instrumentation of a select instruction
5 // with vector arguments.
6 
7 #if defined(__x86_64__)
8 #include <emmintrin.h>
9 
select(bool b,__m128d c,__m128d d)10 __m128d select(bool b, __m128d c, __m128d d)
11 {
12   return b ? c : d;
13 }
14 #elif defined (__mips64) || defined (__powerpc64__)
15 typedef double __w64d __attribute__ ((vector_size(16)));
16 
select(bool b,__w64d c,__w64d d)17 __w64d select(bool b, __w64d c, __w64d d)
18 {
19   return b ? c : d;
20 }
21 #endif
22