mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 02:59:13 +02:00
* SUPPORT_MMX define compile fix
This commit is contained in:
parent
ec2a9a6ef8
commit
12cff8cae8
@ -61,14 +61,18 @@ unit rgcpu;
|
|||||||
procedure pushusedintregisters(list:Taasmoutput;
|
procedure pushusedintregisters(list:Taasmoutput;
|
||||||
var pushed:Tpushedsavedint;
|
var pushed:Tpushedsavedint;
|
||||||
const s:Tsupregset);
|
const s:Tsupregset);
|
||||||
|
{$ifdef SUPPORT_MMX}
|
||||||
procedure pushusedotherregisters(list:Taasmoutput;
|
procedure pushusedotherregisters(list:Taasmoutput;
|
||||||
var pushed:Tpushedsaved;
|
var pushed:Tpushedsaved;
|
||||||
const s:Tregisterset);
|
const s:Tregisterset);
|
||||||
|
{$endif SUPPORT_MMX}
|
||||||
|
|
||||||
procedure popusedintregisters(list:Taasmoutput;
|
procedure popusedintregisters(list:Taasmoutput;
|
||||||
const pushed:Tpushedsavedint);
|
const pushed:Tpushedsavedint);
|
||||||
|
{$ifdef SUPPORT_MMX}
|
||||||
procedure popusedotherregisters(list:Taasmoutput;
|
procedure popusedotherregisters(list:Taasmoutput;
|
||||||
const pushed:Tpushedsaved);
|
const pushed:Tpushedsaved);
|
||||||
|
{$endif SUPPORT_MMX}
|
||||||
|
|
||||||
procedure saveusedintregisters(list:Taasmoutput;
|
procedure saveusedintregisters(list:Taasmoutput;
|
||||||
var saved:Tpushedsavedint;
|
var saved:Tpushedsavedint;
|
||||||
@ -169,7 +173,7 @@ unit rgcpu;
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
subreg:=cgsize2subreg(size);
|
subreg:=cgsize2subreg(size);
|
||||||
|
|
||||||
if countunusedregsint=0 then
|
if countunusedregsint=0 then
|
||||||
internalerror(10);
|
internalerror(10);
|
||||||
getregisterint.enum:=R_INTREGISTER;
|
getregisterint.enum:=R_INTREGISTER;
|
||||||
@ -229,9 +233,9 @@ unit rgcpu;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure trgcpu.ungetregisterint(list: taasmoutput; r : tregister);
|
procedure trgcpu.ungetregisterint(list: taasmoutput; r : tregister);
|
||||||
|
|
||||||
var supreg:Tsuperregister;
|
var supreg:Tsuperregister;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if r.enum=R_NO then
|
if r.enum=R_NO then
|
||||||
exit;
|
exit;
|
||||||
@ -301,7 +305,7 @@ unit rgcpu;
|
|||||||
|
|
||||||
var r:Tsuperregister;
|
var r:Tsuperregister;
|
||||||
r2:Tregister;
|
r2:Tregister;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
usedintinproc:=usedintinproc+s;
|
usedintinproc:=usedintinproc+s;
|
||||||
for r:=RS_EAX to RS_EDX do
|
for r:=RS_EAX to RS_EDX do
|
||||||
@ -334,7 +338,7 @@ unit rgcpu;
|
|||||||
var r:Toldregister;
|
var r:Toldregister;
|
||||||
r2:Tregister;
|
r2:Tregister;
|
||||||
hr:Treference;
|
hr:Treference;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
usedinproc:=usedinproc+s;
|
usedinproc:=usedinproc+s;
|
||||||
for r:=R_MM0 to R_MM6 do
|
for r:=R_MM0 to R_MM6 do
|
||||||
@ -439,10 +443,12 @@ unit rgcpu;
|
|||||||
const s:tregisterset);
|
const s:tregisterset);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
{$ifdef SUPPORT_MMX}
|
||||||
if (aktoptprocessor in [class386,classP5]) or
|
if (aktoptprocessor in [class386,classP5]) or
|
||||||
(CS_LittleSize in aktglobalswitches) then
|
(CS_LittleSize in aktglobalswitches) then
|
||||||
pushusedotherregisters(list,saved,s)
|
pushusedotherregisters(list,saved,s)
|
||||||
else
|
else
|
||||||
|
{$endif SUPPORT_MMX}
|
||||||
inherited saveusedotherregisters(list,saved,s);
|
inherited saveusedotherregisters(list,saved,s);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -462,10 +468,12 @@ unit rgcpu;
|
|||||||
const saved:tpushedsaved);
|
const saved:tpushedsaved);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
{$ifdef SUPPORT_MMX}
|
||||||
if (aktoptprocessor in [class386,classP5]) or
|
if (aktoptprocessor in [class386,classP5]) or
|
||||||
(CS_LittleSize in aktglobalswitches) then
|
(CS_LittleSize in aktglobalswitches) then
|
||||||
popusedotherregisters(list,saved)
|
popusedotherregisters(list,saved)
|
||||||
else
|
else
|
||||||
|
{$endif SUPPORT_MMX}
|
||||||
inherited restoreusedotherregisters(list,saved);
|
inherited restoreusedotherregisters(list,saved);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -517,7 +525,10 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.15 2003-03-08 13:59:17 daniel
|
Revision 1.16 2003-03-17 15:52:57 peter
|
||||||
|
* SUPPORT_MMX define compile fix
|
||||||
|
|
||||||
|
Revision 1.15 2003/03/08 13:59:17 daniel
|
||||||
* Work to handle new register notation in ag386nsm
|
* Work to handle new register notation in ag386nsm
|
||||||
+ Added newra version of Ti386moddivnode
|
+ Added newra version of Ti386moddivnode
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user