changeset 1058:8bc277ef23a5

Applied rev two operand form fstp fix to x86-64 asm
author Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
date Sun, 08 Mar 2009 02:46:37 +0100
parents ee310a79e9a1
children 7f0e5ae75fcc
files gen/asm-x86-64.h
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gen/asm-x86-64.h	Sun Mar 08 02:36:45 2009 +0100
+++ b/gen/asm-x86-64.h	Sun Mar 08 02:46:37 2009 +0100
@@ -287,6 +287,7 @@
         Op_FfdR,
         Op_Ffd_P,
         Op_FfdR_P,
+        Op_FfdRR_P,
         Op_Fd_P,
         Op_FdST,
         Op_FMath,
@@ -525,8 +526,9 @@
         /* Op_Fid_P     */  { D|mem, 0,    0,    FPInt_Types, Clb_ST }, // push and pop, fild so also 64 bit
         /* Op_Ffd       */  { D|mfp, 0,    0,    FP_Types, 0, Next_Form, Op_FfdR }, // only 16bit and 32bit, DMD defaults to 16bit, reg form doesn't need type
         /* Op_FfdR      */  { D|rfp, 0,    0  },
-        /* Op_Ffd_P     */  { D|mfp, 0,    0,    FP_Types, Clb_ST, Next_Form, Op_FfdR_P, }, // pop, fld so also 80 bit, "
-        /* Op_FfdR_P    */  { D|rfp, 0,    0,    0,        Clb_ST },
+        /* Op_Ffd_P     */  { D|mfp, 0,    0,    FP_Types, Clb_ST, Next_Form, Op_FfdR_P }, // pop, fld so also 80 bit, "
+        /* Op_FfdR_P    */  { D|rfp, 0,    0,    0,        Clb_ST, Next_Form, Op_FfdRR_P },
+        /* Op_FfdRR_P    */ { D|mfp|rfp,rfp,0,   0, Clb_ST },
         /* Op_Fd_P      */  { D|mem, 0,    0,    0, Clb_ST }, // "
         /* Op_FdST      */  { D|rfp, 0,    0  },
         /* Op_FMath     */  {   mfp, 0,    0,    FP_Types, Clb_ST, Next_Form, Op_FdSTiSTi  }, // and only single or double prec