summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorsergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-10-26 18:15:24 +0000
committersergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-10-26 18:15:24 +0000
commitfacac6c00abc55bf8dd71e41a07e2ae9aae56159 (patch)
tree518fa0eaa7b5c3561b87619737a5013f32934a0b /compiler
parentf5ad52699293008afe285efc51b109e1459d4414 (diff)
downloadfpc-facac6c00abc55bf8dd71e41a07e2ae9aae56159.tar.gz
* tmipsaddnode.second_addfloat: don't bother reusing locations, always allocate a new register for result.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25857 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler')
-rw-r--r--compiler/mips/ncpuadd.pas7
1 files changed, 2 insertions, 5 deletions
diff --git a/compiler/mips/ncpuadd.pas b/compiler/mips/ncpuadd.pas
index c7bbade065..a98ea28703 100644
--- a/compiler/mips/ncpuadd.pas
+++ b/compiler/mips/ncpuadd.pas
@@ -220,13 +220,10 @@ 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, (left.location.loc <> LOC_CFPUREGISTER));
+ location_force_fpureg(current_asmdata.CurrAsmList, right.location, True);
location_reset(location, LOC_FPUREGISTER, def_cgsize(resultdef));
- if left.location.loc <> LOC_CFPUREGISTER then
- location.Register := left.location.Register
- else
- location.Register := right.location.Register;
+ location.register:=cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
case nodetype of
addn: