/* { dg-do run } */ /* { dg-options "-msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ #ifdef __i386__ #include "cpuid.h" #endif typedef float v2sf __attribute__ ((vector_size (2 * sizeof(float)))); static void test (void) { v2sf a = {1.0, 0.0}; v2sf b = {0.0, 1.0}; v2sf d; d = a + b; } int main () { #ifdef __i386__ unsigned int eax, ebx, ecx, edx; if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx)) return 0; if (!(edx & bit_SSE)) return 0; #endif test (); return 0; }