OSDN Git Service

* gcc.dg/tls/tls.exp: Remove temporary file.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / i386-sse-10.c
1 /* PR 17930 */
2 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
3 /* { dg-options "-O1 -msse2 -mfpmath=sse -mno-accumulate-outgoing-args" } */
4
5 #include "i386-cpuid.h"
6
7 typedef _Complex double complex_16;
8
9 void NOINLINE
10 test (complex_16 a[5][5])
11 {
12   int i, j, k;
13   complex_16 x;
14
15   for (j = 0; j < 5; j++)
16     for (i = 0; i < 5; i++)
17       {
18         for (k = 0; k < j - 1; ++k)
19           x = a[k][i] * ~a[k][j];
20         a[j][i] = x;
21       }
22 }
23
24 int main()
25 {
26   static complex_16 work[5][5];
27   unsigned long cpu_facilities;
28
29   cpu_facilities = i386_cpuid ();
30   if (cpu_facilities & bit_SSE2)
31     test (work); 
32
33   return 0;
34 }