mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-24 05:14:58 +08:00
fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
* config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr. Change cw and cw_sse variables to unsigned. (SSE): New definition. (has_sse): Use it. From-SVN: r105402
This commit is contained in:
parent
76f5f4414f
commit
771c0562b5
@ -1,9 +1,16 @@
|
||||
2005-10-14 Uros Bizjak <uros@kss-loka.si>
|
||||
|
||||
* config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
|
||||
Change cw and cw_sse variables to unsigned.
|
||||
(SSE): New definition.
|
||||
(has_sse): Use it.
|
||||
|
||||
2005-10-13 Thomas Koenig <Thomas.Koenig@online.de>
|
||||
|
||||
* io/unix.c(fd_alloc_r_at): Use read() instead of do_read()
|
||||
only in case of special files (e.g. terminals).
|
||||
|
||||
2005-20-13 Uros Bizjak <uros@kss-loka.si>
|
||||
2005-10-13 Uros Bizjak <uros@kss-loka.si>
|
||||
|
||||
* config/fpu-387.h (set_fpu): Add "=m" for stmxcsr.
|
||||
|
||||
|
@ -28,6 +28,7 @@ License along with libgfortran; see the file COPYING. If not,
|
||||
write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
#define SSE (1 << 25)
|
||||
|
||||
static int
|
||||
has_sse (void)
|
||||
@ -58,7 +59,7 @@ has_sse (void)
|
||||
: "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
|
||||
: "0" (1));
|
||||
|
||||
if (edx & (1 << 25))
|
||||
if (edx & SSE)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
@ -67,8 +68,8 @@ has_sse (void)
|
||||
|
||||
void set_fpu (void)
|
||||
{
|
||||
short cw;
|
||||
int cw_sse;
|
||||
unsigned short cw;
|
||||
unsigned int cw_sse;
|
||||
|
||||
/* i387 -- see linux <fpu_control.h> header file for details. */
|
||||
#define _FPU_MASK_IM 0x01
|
||||
@ -90,7 +91,7 @@ void set_fpu (void)
|
||||
if (has_sse())
|
||||
{
|
||||
/* SSE */
|
||||
asm volatile ("stmxcsr %0" : : "=m" (cw_sse));
|
||||
asm volatile ("stmxcsr %0" : "=m" (cw_sse));
|
||||
cw_sse &= 0xFFFF0000;
|
||||
if (options.fpe & GFC_FPE_INVALID) cw_sse |= 1 << 7;
|
||||
if (options.fpe & GFC_FPE_DENORMAL) cw_sse |= 1 << 8;
|
||||
|
Loading…
Reference in New Issue
Block a user