[Liboil-commit] orc/orcprogram-x86.c

David Schleef ds at kemper.freedesktop.org
Fri May 23 15:22:44 PDT 2008


 orc/orcprogram-x86.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 5daeffaf9ad18cc9e5c4d22fe928c284bdb4102a
Author: David Schleef <ds at bigkitten.com>
Date:   Fri May 23 15:22:41 2008 -0700

    [orc] fixes on x86-64

diff --git a/orc/orcprogram-x86.c b/orc/orcprogram-x86.c
index bad1b51..67ddd49 100644
--- a/orc/orcprogram-x86.c
+++ b/orc/orcprogram-x86.c
@@ -71,9 +71,10 @@ enum {
   X86_MM6,
   X86_MM7,
   X86_XMM0 = ORC_VEC2_REG_BASE,
+  X86_XMM1
 };
 
-#ifdef HAVE_X86_64
+#ifdef HAVE_AMD64
 static int x86_64 = 1;
 static int x86_ptr_size = 8;
 static int x86_exec_ptr = X86_EDI;
@@ -295,6 +296,12 @@ orc_program_x86_init (OrcProgram *program)
     for(i=X86_XMM0;i<X86_XMM0+16;i++){
       program->valid_regs[i] = 1;
     }
+    program->save_regs[X86_EBX] = 1;
+    program->save_regs[X86_EBP] = 1;
+    program->save_regs[X86_R12] = 1;
+    program->save_regs[X86_R13] = 1;
+    program->save_regs[X86_R14] = 1;
+    program->save_regs[X86_R15] = 1;
   } else {
     for(i=ORC_GP_REG_BASE;i<ORC_GP_REG_BASE+8;i++){
       program->valid_regs[i] = 1;
@@ -305,6 +312,9 @@ orc_program_x86_init (OrcProgram *program)
     for(i=X86_XMM0;i<X86_XMM0+8;i++){
       program->valid_regs[i] = 1;
     }
+    program->save_regs[X86_EBX] = 1;
+    program->save_regs[X86_EDI] = 1;
+    program->save_regs[X86_EBP] = 1;
   }
   for(i=X86_MM0;i<X86_MM0+8;i++){
     program->valid_regs[i] = 1;


More information about the Liboil-commit mailing list