changeset 1573:3a08f5e2553b

Fixed iretq problem reported by wilkie of the XomB project
author Kelly Wilson <wilsonk cpsc.ucalgary.ca>
date Mon, 17 Aug 2009 13:42:19 -0600
parents 30bdcfb8299e
children 72f00d740665
files gen/asm-x86-64.h
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gen/asm-x86-64.h	Fri Aug 14 01:43:30 2009 +0200
+++ b/gen/asm-x86-64.h	Mon Aug 17 13:42:19 2009 -0600
@@ -330,6 +330,7 @@
         Op_insX,
         Op_iret,
         Op_iretd,
+        Op_iretq,
         Op_lods,
         Op_lodsX,
         Op_movs,
@@ -434,6 +435,7 @@
         Mn_fsetpm,
         Mn_iretw,
         Mn_iret,
+        Mn_iretq,
         Mn_lret,
         Mn_cmpxchg8b,
         N_AltMn
@@ -446,6 +448,7 @@
         ".byte 0xdb, 0xe4",
         "iretw",
         "iret",
+        "iretq",
         "lret",
         "cmpxchg8b"
     };
@@ -575,6 +578,7 @@
         /* Op_insX      */  {   0,   0,   0,     0, Clb_DI }, // output segment overrides %% needs work
         /* Op_iret      */  {   0,0,0,           0, 0, Out_Mnemonic, Mn_iretw },
         /* Op_iretd     */  {   0,0,0,           0, 0, Out_Mnemonic, Mn_iret },
+        /* Op_iretq     */  {   0,0,0,           0, 0, Out_Mnemonic, Mn_iretq },
         /* Op_lods      */  {   mem, 0,   0,     1, Clb_SI },
         /* Op_lodsX     */  {   0,   0,   0,     0, Clb_SI },
         /* Op_movs      */  {   mem, mem, 0,     1, Clb_DI|Clb_SI }, // only src/DS can be overridden