* fix fullcycle after -Sew for the compiler was introduced

git-svn-id: trunk@19757 -
This commit is contained in:
florian 2011-12-04 21:17:40 +00:00
parent 14e6dcf816
commit aa529b0705

View File

@ -85,8 +85,8 @@ type
procedure g_flags2reg(list: TAsmList; size: TCgSize; const f: TResFlags; procedure g_flags2reg(list: TAsmList; size: TCgSize; const f: TResFlags;
reg: TRegister); override; reg: TRegister); override;
{ need to override this for ppc64 to avoid calling CG methods which allocate { need to override this for ppc64 to avoid calling CG methods which allocate
registers during creation of the interface wrappers to subtract ioffset from registers during creation of the interface wrappers to subtract ioffset from
the self pointer. But register allocation does not take place for them (which the self pointer. But register allocation does not take place for them (which
would probably be the generic fix) so we need to have a specialized method would probably be the generic fix) so we need to have a specialized method
that uses the R11 scratch register in these cases. that uses the R11 scratch register in these cases.
@ -149,7 +149,7 @@ type
procedure profilecode_savepara(para : tparavarsym; list : TAsmList); procedure profilecode_savepara(para : tparavarsym; list : TAsmList);
procedure profilecode_restorepara(para : tparavarsym; list : TAsmList); procedure profilecode_restorepara(para : tparavarsym; list : TAsmList);
end; end;
procedure create_codegen; procedure create_codegen;
const const
@ -192,7 +192,10 @@ begin
two_N_minus_1 := aWord(1) shl (N-1); two_N_minus_1 := aWord(1) shl (N-1);
magic_add := false; magic_add := false;
{$push}
{$warnings off }
nc := aWord(-1) - (-d) mod d; nc := aWord(-1) - (-d) mod d;
{$pop}
p := N-1; { initialize p } p := N-1; { initialize p }
q1 := two_N_minus_1 div nc; { initialize q1 = 2p/nc } q1 := two_N_minus_1 div nc; { initialize q1 = 2p/nc }
r1 := two_N_minus_1 - q1*nc; { initialize r1 = rem(2p,nc) } r1 := two_N_minus_1 - q1*nc; { initialize r1 = rem(2p,nc) }