From: rms Date: Wed, 23 Sep 1992 03:39:59 +0000 (+0000) Subject: (perform_fixdfsi): Copy arg to memory variable. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2ede35ad8a037704f85496844c2c7676f0eaae36;p=platform%2Fupstream%2Flinaro-gcc.git (perform_fixdfsi): Copy arg to memory variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2209 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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)); \ \