From 4e1859e1083affde4113b132c3d93856b4e54fa0 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 7 Feb 2009 22:57:59 +0000 Subject: [PATCH] * fixed spilling of "mov $64bitconst,%reg" on x86_64 git-svn-id: trunk@12711 - --- compiler/x86/rgx86.pas | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compiler/x86/rgx86.pas b/compiler/x86/rgx86.pas index 410c23cf32..005c8bd7b0 100644 --- a/compiler/x86/rgx86.pas +++ b/compiler/x86/rgx86.pas @@ -234,6 +234,15 @@ implementation A_ANDPD, A_ANDPS: replaceoper:=-1; +{$ifdef x86_64} + A_MOV: + { 64 bit constants can only be moved into registers } + if (oper[0]^.typ=top_const) and + (oper[1]^.typ=top_reg) and + ((oper[0]^.valhigh(longint))) then + replaceoper:=-1; +{$endif x86_64} end; end; end;