Pārlūkot izejas kodu

* use fld1/fchs regardless of pic

florian 1 gadu atpakaļ
vecāks
revīzija
15b3f16646
1 mainītis faili ar 3 papildinājumiem un 3 dzēšanām
  1. 3 3
      compiler/x86/nx86con.pas

+ 3 - 3
compiler/x86/nx86con.pas

@@ -51,8 +51,8 @@ implementation
     function tx86realconstnode.pass_1 : tnode;
       begin
          result:=nil;
-         if is_number_float(value_real) and not(use_vectorfpu(resultdef)) and ((value_real=1.0) or ((value_real=0.0) and (get_real_sign(value_real)=1)) or
-           (((value_real=2.0) or (value_real=-1.0)) and (cs_create_pic in current_settings.moduleswitches))) then
+         if is_number_float(value_real) and not(use_vectorfpu(resultdef)) and ((value_real=1.0) or (value_real=-1.0) or ((value_real=0.0) and (get_real_sign(value_real)=1)) or
+           ((value_real=2.0) and (cs_create_pic in current_settings.moduleswitches))) then
            expectloc:=LOC_FPUREGISTER
          else if (value_real=0.0) and (get_real_sign(value_real)=1) and use_vectorfpu(resultdef) then
            expectloc:=LOC_MMREGISTER
@@ -80,7 +80,7 @@ implementation
                   location.register:=NR_ST;
                   tcgx86(cg).inc_fpu_stack;
                end
-             else if (value_real=-1.0) and (cs_create_pic in current_settings.moduleswitches) and not(use_vectorfpu(resultdef)) then
+             else if (value_real=-1.0) and not(use_vectorfpu(resultdef)) then
                begin
                   emit_none(A_FLD1,S_NO);
                   emit_none(A_FCHS,S_NO);