blob: 4bfeba69ccb5be1c8e405fff016bb75d5a7ba198 [file] [log] [blame]
Pirama Arumuga Nainar7c915052015-04-08 08:58:29 -07001// RUN: %clangxx_msan -O0 %s -c -o %t
2// RUN: %clangxx_msan -O3 %s -c -o %t
Evgeniy Stepanovfa33a8c2013-10-14 09:53:39 +00003
4// Regression test for MemorySanitizer instrumentation of a select instruction
5// with vector arguments.
6
Stephen Hines86277eb2015-03-23 12:06:32 -07007#if defined(__x86_64__)
Evgeniy Stepanovfa33a8c2013-10-14 09:53:39 +00008#include <emmintrin.h>
9
10__m128d select(bool b, __m128d c, __m128d d)
11{
12 return b ? c : d;
13}
Stephen Hines86277eb2015-03-23 12:06:32 -070014#elif defined (__mips64)
15typedef double __w64d __attribute__ ((vector_size(16)));
Evgeniy Stepanovfa33a8c2013-10-14 09:53:39 +000016
Stephen Hines86277eb2015-03-23 12:06:32 -070017__w64d select(bool b, __w64d c, __w64d d)
18{
19 return b ? c : d;
20}
21#endif