Explorar o código

* 8087 fixes in tx86addnode.second_cmpfloat:
- use FSTSW instead of FNSTSW
- insert a FWAIT after the FSTSW, because the value is immediately loaded
afterwards by the integer unit of the CPU

git-svn-id: trunk@26110 -

nickysn %!s(int64=11) %!d(string=hai) anos
pai
achega
6fdadb6248
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      compiler/x86/nx86add.pas

+ 2 - 1
compiler/x86/nx86add.pas

@@ -1234,7 +1234,8 @@ unit nx86add;
             if current_settings.cputype < cpu_286 then
               begin
                 tg.gettemp(current_asmdata.CurrAsmList,2,2,tt_normal,tmpref);
-                emit_ref(A_FNSTSW,S_NO,tmpref);
+                emit_ref(A_FSTSW,S_NO,tmpref);
+                emit_none(A_FWAIT,S_NO);
                 cg.getcpuregister(current_asmdata.CurrAsmList,NR_AX);
                 emit_ref_reg(A_MOV,S_W,tmpref,NR_AX);
                 emit_none(A_SAHF,S_NO);