mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 19:48:49 +02:00
* R_SUB_FS added to make a difference between double and single
floats, required for sparc only
This commit is contained in:
parent
6ab944bfcf
commit
d68c75f65a
@ -123,7 +123,9 @@ interface
|
||||
R_SUBW, { = 3; 16 bits, Like AX }
|
||||
R_SUBD, { = 4; 32 bits, Like EAX }
|
||||
R_SUBQ, { = 5; 64 bits, Like RAX }
|
||||
R_SUBFD { = 6; Float that allocates 2 FPU registers }
|
||||
{ For Sparc floats that use F0:F1 to store doubles }
|
||||
R_SUBFS, { = 6; Float that allocates 1 FPU register }
|
||||
R_SUBFD { = 7; Float that allocates 2 FPU registers }
|
||||
);
|
||||
|
||||
TSuperRegister = type word;
|
||||
@ -463,47 +465,44 @@ implementation
|
||||
|
||||
function generic_regname(r:tregister):string;
|
||||
var
|
||||
t,sub : char;
|
||||
nr : string[12];
|
||||
nr : string[12];
|
||||
begin
|
||||
str(getsupreg(r),nr);
|
||||
case getregtype(r) of
|
||||
R_INTREGISTER:
|
||||
t:='i';
|
||||
result:='ireg'+nr;
|
||||
R_FPUREGISTER:
|
||||
t:='f';
|
||||
R_MMXREGISTER:
|
||||
t:='x';
|
||||
result:='freg'+nr;
|
||||
R_MMREGISTER:
|
||||
t:='m';
|
||||
result:='mreg'+nr;
|
||||
R_MMXREGISTER:
|
||||
result:='xreg'+nr;
|
||||
else
|
||||
begin
|
||||
result:='INVALID';
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
str(getsupreg(r),nr);
|
||||
case getsubreg(r) of
|
||||
R_SUBNONE:
|
||||
sub:=' ';
|
||||
;
|
||||
R_SUBL:
|
||||
sub:='l';
|
||||
result:=result+'l';
|
||||
R_SUBH:
|
||||
sub:='h';
|
||||
result:=result+'h';
|
||||
R_SUBW:
|
||||
sub:='w';
|
||||
result:=result+'w';
|
||||
R_SUBD:
|
||||
sub:='d';
|
||||
result:=result+'d';
|
||||
R_SUBQ:
|
||||
sub:='q';
|
||||
result:=result+'q';
|
||||
R_SUBFS:
|
||||
result:=result+'fs';
|
||||
R_SUBFD:
|
||||
sub:='f';
|
||||
result:=result+'fd';
|
||||
else
|
||||
internalerror(200308252);
|
||||
end;
|
||||
if sub<>' ' then
|
||||
result:=t+'reg'+nr+sub
|
||||
else
|
||||
result:=t+'reg'+nr;
|
||||
end;
|
||||
|
||||
|
||||
@ -584,7 +583,11 @@ finalization
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.84 2004-01-09 22:02:29 daniel
|
||||
Revision 1.85 2004-01-12 16:35:05 peter
|
||||
* R_SUB_FS added to make a difference between double and single
|
||||
floats, required for sparc only
|
||||
|
||||
Revision 1.84 2004/01/09 22:02:29 daniel
|
||||
* Degree=0 problem fixed
|
||||
* Degree to high problem fixed
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user