diff options
author | Richard Stallman <rms@gnu.org> | 1992-09-23 03:39:59 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-09-23 03:39:59 +0000 |
commit | 8c153768f4f545dd2c50dc016d7def08348cb643 (patch) | |
tree | a8d2bd67e57743406ebc32585ea1a5856a78d794 | |
parent | a48bb578b49ae95bb737e6a27b1ee08f44b564c4 (diff) | |
download | gcc-8c153768f4f545dd2c50dc016d7def08348cb643.zip gcc-8c153768f4f545dd2c50dc016d7def08348cb643.tar.gz gcc-8c153768f4f545dd2c50dc016d7def08348cb643.tar.bz2 |
(perform_fixdfsi): Copy arg to memory variable.
From-SVN: r2209
-rw-r--r-- | gcc/config/i386/mach.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/i386/mach.h b/gcc/config/i386/mach.h index f87ecf2..6ee7f4a 100644 --- a/gcc/config/i386/mach.h +++ b/gcc/config/i386/mach.h @@ -63,15 +63,18 @@ auto unsigned short ostatus; \ auto unsigned short nstatus; \ auto int ret; \ + auto double tmp; \ \ &ostatus; /* guarantee these land in memory */ \ &nstatus; \ &ret; \ + &tmp; \ \ asm volatile ("fnstcw %0" : "=m" (ostatus)); \ nstatus = ostatus | 0x0c00; \ asm volatile ("fldcw %0" : /* no outputs */ : "m" (nstatus)); \ - asm volatile ("fldl %0" : /* no outputs */ : "m" (a)); \ + tmp = a; \ + asm volatile ("fldl %0" : /* no outputs */ : "m" (tmp)); \ asm volatile ("fistpl %0" : "=m" (ret)); \ asm volatile ("fldcw %0" : /* no outputs */ : "m" (ostatus)); \ \ |