OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr40550.c
1 /* { dg-do run } */
2 /* { dg-options "-msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
3 /* { dg-require-effective-target sse { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
4
5 #ifdef __i386__
6 #include "cpuid.h"
7 #endif
8
9 typedef float v2sf __attribute__ ((vector_size (2 * sizeof(float))));
10
11 static void test (void)
12 {
13   v2sf a = {1.0, 0.0};
14   v2sf b = {0.0, 1.0};
15   v2sf d;
16   d = a + b;
17 }
18
19 int main ()
20 {
21
22 #ifdef __i386__
23   unsigned int eax, ebx, ecx, edx;
24
25   if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
26     return 0;
27
28   if (!(edx & bit_SSE))
29     return 0;
30 #endif
31
32   test ();
33
34   return 0;
35 }