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 | |
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 | |
17 | __w64d select(bool b, __w64d c, __w64d d) |
18 | { |
19 | return b ? c : d; |
20 | } |
21 | #endif |
22 | |