diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2010-08-26 15:29:31 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2010-08-26 15:29:31 +0000 |
commit | 7b4588decd2950e82f29c33abe6b39ea8bae8cd7 (patch) | |
tree | b5c6112ab2df82d751a79ea1b3ab7719d620160e /libgfortran | |
parent | 4be4cd6dd7c87b0180f277432874bd21d6d9780d (diff) | |
download | gcc-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')
-rw-r--r-- | libgfortran/ChangeLog | 5 | ||||
-rw-r--r-- | libgfortran/config/fpu-387.h | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c79027a..0e5da98 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2010-08-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/fpu-387.h (has_sse): Remove cw_sse, unused. + Use fixed-length asm. + 2010-08-23 Tobias Burnus <burnus@net-b.de> PR fortran/45323 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); |