Index: gcc/gcc/testsuite/gcc.target/i386/sse2-check.h |
diff --git a/gcc/gcc/testsuite/gcc.target/i386/sse2-check.h b/gcc/gcc/testsuite/gcc.target/i386/sse2-check.h |
index a69333e391a09ed05e90482b778cd3f06cdbe6b7..fd4a6ce1dbf64f14028fc27f0882607cbb6c0c9f 100644 |
--- a/gcc/gcc/testsuite/gcc.target/i386/sse2-check.h |
+++ b/gcc/gcc/testsuite/gcc.target/i386/sse2-check.h |
@@ -1,9 +1,17 @@ |
#include <stdlib.h> |
#include "cpuid.h" |
#include "m128-check.h" |
+#include "sse-os-support.h" |
static void sse2_test (void); |
+static void |
+__attribute__ ((noinline)) |
+do_test (void) |
+{ |
+ sse2_test (); |
+} |
+ |
int |
main () |
{ |
@@ -13,8 +21,8 @@ main () |
return 0; |
/* Run SSE2 test only if host has SSE2 support. */ |
- if (edx & bit_SSE2) |
- sse2_test (); |
+ if ((edx & bit_SSE2) && sse_os_support ()) |
+ do_test (); |
return 0; |
} |