dmd/compiler/test/runnable_cxx/extra-files/test20652.cpp
2024-05-25 19:34:44 +02:00

29 lines
612 B
C++

#include <assert.h>
// Inline the typedef of __m128 instead of including immintrin.h.
#if defined(__GNUC__) || defined(__clang__)
typedef float __m128 __attribute__((__vector_size__(16), __may_alias__));
#elif defined(_MSC_VER)
typedef union __declspec(intrin_type) __declspec(align(16)) __m128 {
float m128_f32[4];
} __m128;
#else
#error "Unknown vendor"
#endif
void test20652(const __m128& a)
{
union
{
__m128 value;
float array[4];
} b;
b.value = a;
assert(b.array[0] == 1);
assert(b.array[1] == 1);
assert(b.array[2] == 1);
assert(b.array[3] == 1);
}