diff options
author | sergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-10-26 18:15:24 +0000 |
---|---|---|
committer | sergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-10-26 18:15:24 +0000 |
commit | facac6c00abc55bf8dd71e41a07e2ae9aae56159 (patch) | |
tree | 518fa0eaa7b5c3561b87619737a5013f32934a0b /compiler/mips | |
parent | f5ad52699293008afe285efc51b109e1459d4414 (diff) | |
download | fpc-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/mips')
-rw-r--r-- | compiler/mips/ncpuadd.pas | 7 |
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: |