OSDN Git Service

(perform_fixdfsi): Copy arg to memory variable.
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Sep 1992 03:39:59 +0000 (03:39 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Sep 1992 03:39:59 +0000 (03:39 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2209 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/i386/mach.h

index f87ecf2..6ee7f4a 100644 (file)
   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));                \
                                                                        \