2 This testcase was miscompiled because sse_mov?fcc_const0*
3 patterns were missing earlyclobber. */
4 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
5 /* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */
6 /* { dg-require-effective-target ilp32 } */
7 /* { dg-options "-march=pentium3 -msse -ffast-math -O2" } */
9 extern void abort (void);
10 extern void exit (int);
16 if (__builtin_memcmp (&one
, &f
, sizeof (float)))
30 void bail_if_no_sse (void)
34 /* See if we can use cpuid. */
35 __asm__ ("pushfl; pushfl; popl %0; movl %0,%1; xorl %2,%0;"
36 "pushl %0; popfl; pushfl; popl %0; popfl"
37 : "=&r" (fl1
), "=&r" (fl2
)
39 if (((fl1
^ fl2
) & 0x00200000) == 0)
42 /* See if cpuid gives capabilities. */
43 __asm__ ("cpuid" : "=a" (fl1
) : "0" (0) : "ebx", "ecx", "edx", "cc");
47 /* See if capabilities include SSE (25th bit; 26 for SSE2). */
48 __asm__ ("cpuid" : "=a" (fl1
), "=d" (fl2
) : "0" (1) : "ebx", "ecx", "cc");
49 if ((fl2
& (1 << 25)) == 0)
59 for (i
= 0; i
< 1; i
++)
62 x
[i
].t
= 0.f
> x
[i
].t
? 0.f
: x
[i
].t
;