+ new fields for more precise control of alignment

+ support of new alignment control values for GNU AS writer
+ support of new alignment control values for binary writer
* better alignment settings on i386-win32
* improved inserted align directives for if nodes

git-svn-id: trunk@40159 -
This commit is contained in:
florian 2018-11-01 20:49:17 +00:00
parent 64e8557180
commit a092da723a
38 changed files with 335 additions and 11 deletions

View File

@ -3095,6 +3095,7 @@ implementation
fillsize:=0;
fillop:=0;
use_op:=false;
maxbytes:=aligntype;
end;
@ -3109,6 +3110,7 @@ implementation
fillsize:=0;
fillop:=_op;
use_op:=true;
maxbytes:=aligntype;
end;
@ -3138,6 +3140,7 @@ implementation
use_op:=true;
fillsize:=0;
fillop:=0;
maxbytes:=aligntype;
end;
@ -3157,6 +3160,7 @@ implementation
fillsize:=0;
fillop:=ppufile.getbyte;
use_op:=ppufile.getboolean;
maxbytes:=ppufile.getbyte;
end;
@ -3166,6 +3170,7 @@ implementation
ppufile.putbyte(aligntype);
ppufile.putbyte(fillop);
ppufile.putboolean(use_op);
ppufile.putbyte(maxbytes);
end;

View File

@ -620,9 +620,10 @@ implementation
end;
procedure doalign(alignment: byte; use_op: boolean; fillop: byte; out last_align: longint;lasthp:tai);
procedure doalign(alignment: byte; use_op: boolean; fillop: byte; maxbytes: byte; out last_align: longint;lasthp:tai);
var
i: longint;
alignment64 : int64;
{$ifdef m68k}
instr : string;
{$endif}
@ -649,14 +650,33 @@ implementation
else
begin
{$endif m68k}
writer.AsmWrite(#9'.balign '+tostr(alignment));
if use_op then
writer.AsmWrite(','+tostr(fillop))
alignment64:=alignment;
if (maxbytes<>alignment) and ispowerof2(alignment64,i) then
begin
if use_op then
begin
writer.AsmWrite(#9'.p2align '+tostr(i)+','+tostr(fillop)+','+tostr(maxbytes));
writer.AsmLn;
writer.AsmWrite(#9'.p2align '+tostr(i-1)+','+tostr(fillop));
end
else
begin
writer.AsmWrite(#9'.p2align '+tostr(i)+',,'+tostr(maxbytes));
writer.AsmLn;
writer.AsmWrite(#9'.p2align '+tostr(i-1));
end
end
else
begin
writer.AsmWrite(#9'.balign '+tostr(alignment));
if use_op then
writer.AsmWrite(','+tostr(fillop))
{$ifdef x86}
{ force NOP as alignment op code }
else if (LastSecType=sec_code) and (asminfo^.id<>as_solaris_as) then
writer.AsmWrite(',0x90');
{ force NOP as alignment op code }
else if (LastSecType=sec_code) and (asminfo^.id<>as_solaris_as) then
writer.AsmWrite(',0x90');
{$endif x86}
end;
{$ifdef m68k}
end;
{$endif m68k}
@ -746,7 +766,7 @@ implementation
ait_align :
begin
doalign(tai_align_abstract(hp).aligntype,tai_align_abstract(hp).use_op,tai_align_abstract(hp).fillop,last_align,lasthp);
doalign(tai_align_abstract(hp).aligntype,tai_align_abstract(hp).use_op,tai_align_abstract(hp).fillop,tai_align_abstract(hp).maxbytes,last_align,lasthp);
end;
ait_section :

View File

@ -1700,6 +1700,13 @@ Implementation
{ here we must determine the fillsize which is used in pass2 }
Tai_align_abstract(hp).fillsize:=align(ObjData.CurrObjSec.Size,Tai_align_abstract(hp).aligntype)-
ObjData.CurrObjSec.Size;
{ maximum number of bytes for alignment exeeded? }
if (Tai_align_abstract(hp).aligntype<>Tai_align_abstract(hp).maxbytes) and
(Tai_align_abstract(hp).fillsize>Tai_align_abstract(hp).maxbytes) then
Tai_align_abstract(hp).fillsize:=align(ObjData.CurrObjSec.Size,Byte(Tai_align_abstract(hp).aligntype div 2))-
ObjData.CurrObjSec.Size;
ObjData.alloc(Tai_align_abstract(hp).fillsize);
end;
end;

View File

@ -404,6 +404,9 @@ interface
procalign : 0;
loopalign : 0;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 0;
varalignmin : 0;

View File

@ -319,6 +319,8 @@ implementation
*)
;
hlcg.a_jmp_always(current_asmdata.CurrAsmList,hl);
if not(cs_opt_size in current_settings.optimizerswitches) then
current_asmdata.CurrAsmList.concat(cai_align.create_max(current_settings.alignment.jumpalign,current_settings.alignment.jumpalignmax));
end;
hlcg.a_label(current_asmdata.CurrAsmList,left.location.falselabel);
secondpass(t1);
@ -347,12 +349,15 @@ implementation
current_asmdata.CurrAsmList := TAsmList.create;
end;
*)
current_asmdata.CurrAsmList.concat(cai_align.create(current_settings.alignment.jumpalign));
if not(cs_opt_size in current_settings.optimizerswitches) then
current_asmdata.CurrAsmList.concat(cai_align.create_max(current_settings.alignment.coalescealign,current_settings.alignment.coalescealignmax));
hlcg.a_label(current_asmdata.CurrAsmList,left.location.falselabel);
end;
if not(assigned(right)) then
begin
hlcg.a_label(current_asmdata.CurrAsmList,left.location.truelabel);
if not(cs_opt_size in current_settings.optimizerswitches) then
current_asmdata.CurrAsmList.concat(cai_align.create_max(current_settings.alignment.coalescealign,current_settings.alignment.coalescealignmax));
hlcg.a_label(current_asmdata.CurrAsmList,left.location.truelabel);
end;
(*

View File

@ -4399,6 +4399,7 @@ begin
begin
init_settings.alignment.procalign:=1;
init_settings.alignment.jumpalign:=1;
init_settings.alignment.coalescealign:=1;
init_settings.alignment.loopalign:=1;
{$ifdef x86}
{ constalignmax=1 keeps the executable and thus the memory foot print small but

View File

@ -3042,6 +3042,9 @@ type
alignment.procalign:=tokenreadlongint;
alignment.loopalign:=tokenreadlongint;
alignment.jumpalign:=tokenreadlongint;
alignment.jumpalignmax:=tokenreadlongint;
alignment.coalescealign:=tokenreadlongint;
alignment.coalescealignmax:=tokenreadlongint;
alignment.constalignmin:=tokenreadlongint;
alignment.constalignmax:=tokenreadlongint;
alignment.varalignmin:=tokenreadlongint;
@ -3122,6 +3125,9 @@ type
tokenwritelongint(alignment.procalign);
tokenwritelongint(alignment.loopalign);
tokenwritelongint(alignment.jumpalign);
tokenwritelongint(alignment.jumpalignmax);
tokenwritelongint(alignment.coalescealign);
tokenwritelongint(alignment.coalescealignmax);
tokenwritelongint(alignment.constalignmin);
tokenwritelongint(alignment.constalignmax);
tokenwritelongint(alignment.varalignmin);

View File

@ -44,7 +44,18 @@ interface
talignmentinfo = packed record
procalign,
loopalign,
{ alignment for labels after unconditional jumps, this must be a power of two }
jumpalign,
{ max. alignment for labels after unconditional jumps:
the compiler tries to align jumpalign, however, to do so it inserts at maximum jumpalignmax bytes or uses
the next smaller power of two of jumpalign }
jumpalignmax,
{ alignment for labels where two flows of the program flow coalesce, this must be a power of two }
coalescealign,
{ max. alignment for labels where two flows of the program flow coalesce
the compiler tries to align to coalescealign, however, to do so it inserts at maximum coalescealignmax bytes or uses
the next smaller power of two of coalescealign }
coalescealignmax,
constalignmin,
constalignmax,
varalignmin,
@ -658,6 +669,14 @@ begin
jumpalign:=s.jumpalign
else if s.jumpalign<>0 then
result:=false;
if (s.coalescealign in [1,2,4,8,16,32,64,128]) or (s.coalescealign=256) then
coalescealign:=s.coalescealign
else if s.coalescealign<>0 then
result:=false;
if s.jumpalignmax>0 then
jumpalignmax:=s.jumpalignmax;
if s.coalescealign>0 then
coalescealignmax:=s.coalescealignmax;
{ general update rules:
minimum: if higher then update
maximum: if lower then update or if undefined then update }

View File

@ -76,6 +76,9 @@ unit i_aix;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -140,6 +143,9 @@ unit i_aix;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 8;
constalignmax : 16;
varalignmin : 8;

View File

@ -75,6 +75,9 @@ unit i_amiga;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -138,6 +141,9 @@ unit i_amiga;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -78,6 +78,9 @@ unit i_android;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -144,6 +147,9 @@ unit i_android;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -210,6 +216,9 @@ unit i_android;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -276,6 +285,9 @@ unit i_android;
procalign : 16;
loopalign : 8;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -341,6 +353,9 @@ unit i_android;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_aros;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -138,6 +141,9 @@ unit i_aros;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -200,6 +206,9 @@ unit i_aros;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_atari;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -76,6 +76,9 @@ unit i_beos;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -105,6 +105,9 @@ unit i_bsd;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -173,6 +176,9 @@ unit i_bsd;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -240,6 +246,9 @@ unit i_bsd;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -304,6 +313,9 @@ unit i_bsd;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -367,6 +379,9 @@ unit i_bsd;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -434,6 +449,9 @@ unit i_bsd;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -498,6 +516,9 @@ unit i_bsd;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 1;
varalignmin : 0;
@ -561,6 +582,9 @@ unit i_bsd;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -628,6 +652,9 @@ unit i_bsd;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -691,6 +718,9 @@ unit i_bsd;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -754,6 +784,9 @@ unit i_bsd;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -819,6 +852,9 @@ unit i_bsd;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -884,6 +920,9 @@ unit i_bsd;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -949,6 +988,9 @@ unit i_bsd;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 4;
constalignmax : 8;
varalignmin : 4;
@ -1014,6 +1056,9 @@ unit i_bsd;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -1078,6 +1123,9 @@ unit i_bsd;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -1142,6 +1190,9 @@ unit i_bsd;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -1207,6 +1258,9 @@ unit i_bsd;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;

View File

@ -82,6 +82,9 @@ unit i_embed;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -146,6 +149,9 @@ unit i_embed;
procalign : 1;
loopalign : 1;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 1;
varalignmin : 0;
@ -210,6 +216,9 @@ unit i_embed;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -274,6 +283,9 @@ unit i_embed;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -338,6 +350,9 @@ unit i_embed;
procalign : 16;
loopalign : 8;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -413,6 +428,9 @@ unit i_embed;
procalign : 1;
loopalign : 1;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 2;
varalignmin : 0;
@ -477,6 +495,9 @@ unit i_embed;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -86,6 +86,9 @@ unit i_emx;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -76,6 +76,9 @@ unit i_gba;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_go32v2;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -77,6 +77,9 @@ unit i_haiku;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -93,6 +93,9 @@ unit i_jvm;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 4;
@ -159,6 +162,9 @@ unit i_jvm;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 4;

View File

@ -81,6 +81,9 @@ unit i_linux;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -147,6 +150,9 @@ unit i_linux;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 16;
varalignmin : 0;
@ -213,6 +219,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -278,6 +287,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -342,6 +354,9 @@ unit i_linux;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 4;
constalignmax : 16;
varalignmin : 4;
@ -407,6 +422,9 @@ unit i_linux;
procalign : 16;
loopalign : 8;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -474,6 +492,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 4;
constalignmax : 8;
varalignmin : 4;
@ -541,6 +562,9 @@ unit i_linux;
procalign : 16;
loopalign : 8;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 4;
constalignmax : 16;
varalignmin : 4;
@ -608,6 +632,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -675,6 +702,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -742,6 +772,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -807,6 +840,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -878,6 +914,9 @@ unit i_linux;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -945,6 +984,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -1012,6 +1054,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -1078,6 +1123,9 @@ unit i_linux;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -1144,6 +1192,9 @@ unit i_linux;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 4;
constalignmax : 16;
varalignmin : 4;

View File

@ -74,6 +74,9 @@ unit i_macos;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -138,6 +141,9 @@ unit i_macos;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -76,6 +76,9 @@ unit i_morph;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -93,6 +93,9 @@ unit i_msdos;
procalign : 1;
loopalign : 1;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 2;
varalignmin : 0;

View File

@ -80,6 +80,9 @@ unit i_nativent;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 16;
varalignmin : 0;

View File

@ -76,6 +76,9 @@ unit i_nds;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;//4;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_nwl;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_nwm;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -86,6 +86,9 @@ unit i_os2;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -76,6 +76,9 @@ unit i_palmos;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -150,6 +153,9 @@ unit i_palmos;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -78,6 +78,9 @@ unit i_sunos;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -147,6 +150,9 @@ unit i_sunos;
procalign : 8;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
@ -215,6 +221,9 @@ unit i_sunos;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 4;
constalignmax : 8;
varalignmin : 4;

View File

@ -77,6 +77,9 @@ unit i_symbian;
procalign : 16;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 16;
varalignmin : 0;
@ -141,6 +144,9 @@ unit i_symbian;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_watcom;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_wdosx;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -75,6 +75,9 @@ unit i_wii;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -79,7 +79,10 @@ unit i_win;
(
procalign : 16;
loopalign : 8;
jumpalign : 4;
jumpalign : 16;
jumpalignmax : 10;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 16;
varalignmin : 0;
@ -148,6 +151,9 @@ unit i_win;
procalign : 16;
loopalign : 8;
jumpalign : 4;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 16;
varalignmin : 0;
@ -214,6 +220,9 @@ unit i_win;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
@ -280,6 +289,9 @@ unit i_win;
procalign : 4;
loopalign : 4;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;

View File

@ -94,6 +94,9 @@ unit i_win16;
procalign : 1;
loopalign : 1;
jumpalign : 0;
jumpalignmax : 0;
coalescealign : 0;
coalescealignmax: 0;
constalignmin : 0;
constalignmax : 2;
varalignmin : 0;