Browse Source

* floating point compares use flags as well so allocate flags

git-svn-id: trunk@22328 -
florian 13 years ago
parent
commit
3b980cae63
1 changed files with 2 additions and 0 deletions
  1. 2 0
      compiler/arm/narmadd.pas

+ 2 - 0
compiler/arm/narmadd.pas

@@ -242,6 +242,7 @@ interface
               location_force_fpureg(current_asmdata.CurrAsmList,left.location,true);
               location_force_fpureg(current_asmdata.CurrAsmList,left.location,true);
               location_force_fpureg(current_asmdata.CurrAsmList,right.location,true);
               location_force_fpureg(current_asmdata.CurrAsmList,right.location,true);
 
 
+              cg.a_reg_alloc(current_asmdata.CurrAsmList,NR_DEFAULTFLAGS);
               if nodetype in [equaln,unequaln] then
               if nodetype in [equaln,unequaln] then
                 current_asmdata.CurrAsmList.concat(setoppostfix(taicpu.op_reg_reg(A_CMF,
                 current_asmdata.CurrAsmList.concat(setoppostfix(taicpu.op_reg_reg(A_CMF,
                    left.location.register,right.location.register),
                    left.location.register,right.location.register),
@@ -269,6 +270,7 @@ interface
                 op:=A_FCMPED;
                 op:=A_FCMPED;
               current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg(op,
               current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg(op,
                 left.location.register,right.location.register));
                 left.location.register,right.location.register));
+              cg.a_reg_alloc(current_asmdata.CurrAsmList,NR_DEFAULTFLAGS);
               current_asmdata.CurrAsmList.concat(taicpu.op_none(A_FMSTAT));
               current_asmdata.CurrAsmList.concat(taicpu.op_none(A_FMSTAT));
             end;
             end;
           fpu_soft:
           fpu_soft: