mirror of
https://github.com/dlang/dmd.git
synced 2025-04-25 20:50:41 +03:00
29 lines
612 B
C++
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);
|
|
}
|