From: Chris Hanson Date: Wed, 4 Nov 2009 07:06:26 +0000 (-0800) Subject: Work around problem with SDX addressing mode under MacOS. X-Git-Tag: 20100708-Gtk~267 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=c43de2dc4144cc7405c55c908e2340a2daf6762a;p=mit-scheme.git Work around problem with SDX addressing mode under MacOS. --- diff --git a/src/microcode/cmpauxmd/x86-64.m4 b/src/microcode/cmpauxmd/x86-64.m4 index 5560acfc8..58d7faf23 100644 --- a/src/microcode/cmpauxmd/x86-64.m4 +++ b/src/microcode/cmpauxmd/x86-64.m4 @@ -275,8 +275,8 @@ ifdef(`DASM', `define(IDX,`($1,$2)')') ifdef(`DASM', - `define(SDX,`dword ptr $1[$2*$3]')', - `define(SDX,`$1(,$2,$3)')') + `define(SDX,`dword ptr $1[$2+$3*$4]')', + `define(SDX,`$1($2,$3,$4)')') ifdef(`DASM', `define(IJMP,`$1')', @@ -612,7 +612,8 @@ scheme_to_interface_proceed: OP(xor,q) TW(REG(rcx),REG(rcx)) OP(mov,b) TW(REG(al),REG(cl)) - OP(mov,q) TW(SDX(EVR(utility_table),REG(rcx),8),REG(rax)) + OP(lea,q) TW(ABS(EVR(utility_table)),REG(rax)) + OP(mov,q) TW(SDX(,REG(rax),REG(rcx),8),REG(rax)) OP(mov,q) TW(REG(rsp),REG(rdi)) OP(mov,q) TW(DOF(REGBLOCK_UTILITY_ARG4(),regs),REG(r8))