Browse Source

* fixed loading of -0.0

git-svn-id: trunk@2976 -
Jonas Maebe 19 years ago
parent
commit
6ad5dff9e8
1 changed files with 2 additions and 0 deletions
  1. 2 0
      compiler/x86/nx86con.pas

+ 2 - 0
compiler/x86/nx86con.pas

@@ -74,6 +74,8 @@ implementation
              else if (value_real=0.0) and not(use_sse(resulttype.def)) then
              else if (value_real=0.0) and not(use_sse(resulttype.def)) then
                begin
                begin
                   emit_none(A_FLDZ,S_NO);
                   emit_none(A_FLDZ,S_NO);
+                  if (get_real_sign(value_real) < 0) then
+                    emit_none(A_FCHS,S_NO);
                   location_reset(location,LOC_FPUREGISTER,def_cgsize(resulttype.def));
                   location_reset(location,LOC_FPUREGISTER,def_cgsize(resulttype.def));
                   location.register:=NR_ST;
                   location.register:=NR_ST;
                   tcgx86(cg).inc_fpu_stack;
                   tcgx86(cg).inc_fpu_stack;