aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/config
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2010-08-26 15:29:31 +0000
committerRainer Orth <ro@gcc.gnu.org>2010-08-26 15:29:31 +0000
commit7b4588decd2950e82f29c33abe6b39ea8bae8cd7 (patch)
treeb5c6112ab2df82d751a79ea1b3ab7719d620160e /libgfortran/config
parent4be4cd6dd7c87b0180f277432874bd21d6d9780d (diff)
downloadgcc-7b4588decd2950e82f29c33abe6b39ea8bae8cd7.zip
gcc-7b4588decd2950e82f29c33abe6b39ea8bae8cd7.tar.gz
gcc-7b4588decd2950e82f29c33abe6b39ea8bae8cd7.tar.bz2
fpu-387.h (has_sse): Remove cw_sse, unused.
* config/fpu-387.h (has_sse): Remove cw_sse, unused. Use fixed-length asm. From-SVN: r163566
Diffstat (limited to 'libgfortran/config')
-rw-r--r--libgfortran/config/fpu-387.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/libgfortran/config/fpu-387.h b/libgfortran/config/fpu-387.h
index 5fe51b2..2bd9efb 100644
--- a/libgfortran/config/fpu-387.h
+++ b/libgfortran/config/fpu-387.h
@@ -64,7 +64,6 @@ has_sse (void)
if (edx & bit_SSE)
{
struct sigaction act, oact;
- unsigned int cw_sse;
act.sa_handler = sigill_hdlr;
sigemptyset (&act.sa_mask);
@@ -72,7 +71,9 @@ has_sse (void)
act.sa_flags = SA_SIGINFO;
sigaction (SIGILL, &act, &oact);
- asm volatile ("stmxcsr %0" : "=m" (cw_sse));
+ /* We need a single SSE instruction here so the handler can safely skip
+ over it. */
+ __asm__ volatile ("movss %xmm2,%xmm1");
sigaction (SIGILL, &oact, NULL);