OSDN Git Service

PR rtl-optimization/323
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / float128-1.c
1 /* { dg-do run { target *-*-linux* } } */
2 /* { dg-options "-O2 -msse2" } */
3
4 #include "sse2-check.h"
5
6 extern void abort (void);
7
8 typedef _Complex float __attribute__((mode(TC))) _Complex128;
9
10 _Complex128 __attribute__ ((noinline))
11 foo (_Complex128 x, _Complex128 y)
12 {
13   return x * y;
14 }
15
16 static void
17 sse2_test (void)
18 {
19   _Complex128 a = 1.3q + 3.4qi, b = 5.6q + 7.8qi, c;
20
21   c = foo (a, b);
22   if (__real__(c) == 0.0q || __imag__ (c) == 0.0q)
23     abort ();
24 }