summaryrefslogtreecommitdiff
path: root/compiler/ncginl.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/ncginl.pas')
-rw-r--r--compiler/ncginl.pas3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/ncginl.pas b/compiler/ncginl.pas
index e19eaa35d9..6e54cfb657 100644
--- a/compiler/ncginl.pas
+++ b/compiler/ncginl.pas
@@ -932,7 +932,8 @@ implementation
else
{$endif not cpu64bitalu and not cpuhighleveltarget}
begin
- if not(op2.location.loc in [LOC_REGISTER,LOC_CREGISTER]) then
+ if not(op2.location.loc in [LOC_REGISTER,LOC_CREGISTER]) or
+ not(equal_defs(op2.resultdef,resultdef)) then
hlcg.location_force_reg(current_asmdata.CurrAsmList,op2.location,
op2.resultdef,resultdef,true);
hlcg.a_op_reg_reg_reg(current_asmdata.CurrAsmList,op,resultdef,