From 57cf1e75a7f1d945de3af2c93c313bad77a4027e Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 7 Aug 1999 11:29:26 +0000 Subject: [PATCH] * better fix for muln register allocation --- compiler/cg386add.pas | 7 ++++++- compiler/tcadd.pas | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/compiler/cg386add.pas b/compiler/cg386add.pas index ac19cfadac..430233e4ec 100644 --- a/compiler/cg386add.pas +++ b/compiler/cg386add.pas @@ -1015,6 +1015,8 @@ implementation popedx:=false; { here you need to free the symbol first } clear_location(p^.location); + release_loc(p^.right^.location); + release_loc(p^.left^.location); p^.location.register:=getregister32; p^.location.loc:=LOC_REGISTER; {$IfNDef NoShlMul} @@ -2122,7 +2124,10 @@ implementation end. { $Log$ - Revision 1.72 1999-08-04 13:45:17 florian + Revision 1.73 1999-08-07 11:29:26 peter + * better fix for muln register allocation + + Revision 1.72 1999/08/04 13:45:17 florian + floating point register variables !! * pairegalloc is now generated for register variables diff --git a/compiler/tcadd.pas b/compiler/tcadd.pas index 0d9a69ea68..576dc5e96a 100644 --- a/compiler/tcadd.pas +++ b/compiler/tcadd.pas @@ -505,7 +505,7 @@ implementation end; calcregisters(p,1,0,0); { for unsigned mul we need an extra register } - p^.registers32:=p^.left^.registers32+p^.right^.registers32; +{ p^.registers32:=p^.left^.registers32+p^.right^.registers32; } if p^.treetype=muln then inc(p^.registers32); convdone:=true; @@ -1115,7 +1115,10 @@ implementation end. { $Log$ - Revision 1.41 1999-08-05 21:58:57 peter + Revision 1.42 1999-08-07 11:29:27 peter + * better fix for muln register allocation + + Revision 1.41 1999/08/05 21:58:57 peter * fixed register count ord*ord Revision 1.40 1999/08/04 13:03:13 jonas