summaryrefslogtreecommitdiff
path: root/compiler/mips
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-10 09:01:05 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-10 09:01:05 +0000
commitb348e4a82c04874cf6fdd31792bafd38449aec75 (patch)
tree2bda3f8666778aaccfa7ed7e079c94c93a9783b2 /compiler/mips
parenta13034980d4a56e15c8cebdc1731b4ac119d9e39 (diff)
downloadfpc-b348e4a82c04874cf6fdd31792bafd38449aec75.tar.gz
* completed thlcgobj.location_force_fpureg(), use it everywhere and removed
ncgutil/thlcg2ll.location_force_fpureg() git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27071 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/mips')
-rw-r--r--compiler/mips/ncpuadd.pas10
-rw-r--r--compiler/mips/ncpuinln.pas4
-rw-r--r--compiler/mips/ncpumat.pas2
3 files changed, 8 insertions, 8 deletions
diff --git a/compiler/mips/ncpuadd.pas b/compiler/mips/ncpuadd.pas
index 7e0b486eec..e1c17336e4 100644
--- a/compiler/mips/ncpuadd.pas
+++ b/compiler/mips/ncpuadd.pas
@@ -63,7 +63,7 @@ uses
procinfo,
symconst,symdef,
ncon, nset, nadd,
- ncgutil, cgobj;
+ ncgutil, hlcgobj, cgobj;
{*****************************************************************************
tmipsaddnode
@@ -210,8 +210,8 @@ begin
{ force fpureg as location, left right doesn't matter
as both will be in a fpureg }
- location_force_fpureg(current_asmdata.CurrAsmList, left.location, True);
- location_force_fpureg(current_asmdata.CurrAsmList, right.location, True);
+ hlcg.location_force_fpureg(current_asmdata.CurrAsmList, left.location, left.resultdef, True);
+ hlcg.location_force_fpureg(current_asmdata.CurrAsmList, right.location, right.resultdef, True);
location_reset(location, LOC_FPUREGISTER, def_cgsize(resultdef));
location.register:=cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
@@ -271,8 +271,8 @@ begin
if nf_swapped in flags then
swapleftright;
- location_force_fpureg(current_asmdata.CurrAsmList, left.location, True);
- location_force_fpureg(current_asmdata.CurrAsmList, right.location, True);
+ hlcg.location_force_fpureg(current_asmdata.CurrAsmList, left.location, left.resultdef, True);
+ hlcg.location_force_fpureg(current_asmdata.CurrAsmList, right.location, right.resultdef, True);
location_reset(location, LOC_JUMP, OS_NO);
op:=ops_cmpfloat[left.location.size=OS_F64,nodetype];
diff --git a/compiler/mips/ncpuinln.pas b/compiler/mips/ncpuinln.pas
index f333d236db..447c05c0b7 100644
--- a/compiler/mips/ncpuinln.pas
+++ b/compiler/mips/ncpuinln.pas
@@ -53,7 +53,7 @@ uses
cgbase, pass_2,
cpubase, paramgr,
nbas, ncon, ncal, ncnv, nld,
- ncgutil, cgobj, cgutils;
+ hlcgobj, ncgutil, cgobj, cgutils;
{*****************************************************************************
tMIPSELinlinenode
@@ -62,7 +62,7 @@ uses
procedure tMIPSELinlinenode.load_fpu_location;
begin
secondpass(left);
- location_force_fpureg(current_asmdata.CurrAsmList, left.location, True);
+ hlcg.location_force_fpureg(current_asmdata.CurrAsmList, left.location, left.resultdef, True);
location_copy(location, left.location);
if left.location.loc = LOC_CFPUREGISTER then
begin
diff --git a/compiler/mips/ncpumat.pas b/compiler/mips/ncpumat.pas
index 5056da855d..57d4da0e7a 100644
--- a/compiler/mips/ncpumat.pas
+++ b/compiler/mips/ncpumat.pas
@@ -270,7 +270,7 @@ end;
procedure TMIPSunaryminusnode.second_float;
begin
secondpass(left);
- location_force_fpureg(current_asmdata.CurrAsmList,left.location,true);
+ hlcg.location_force_fpureg(current_asmdata.CurrAsmList,left.location,left.resultdef,true);
location_reset(location,LOC_FPUREGISTER,def_cgsize(resultdef));
location.register:=cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
case location.size of