浏览代码

* fixed x86-64

git-svn-id: trunk@6828 -
florian 18 年之前
父节点
当前提交
8aa259401c
共有 1 个文件被更改,包括 6 次插入6 次删除
  1. 6 6
      compiler/x86/nx86inl.pas

+ 6 - 6
compiler/x86/nx86inl.pas

@@ -298,11 +298,11 @@ implementation
          else
          else
        }
        }
           begin
           begin
-             load_fpu_location;
-             location.loc:=LOC_REFERENCE;
-             tg.GetTempTyped(current_asmdata.CurrAsmList,resultdef,tt_normal,location.reference);
-             emit_ref(A_FISTP,S_Q,location.reference);
-             emit_none(A_FWAIT,S_NO);
+            load_fpu_location;
+            location_reset(location,LOC_REFERENCE,OS_64);
+            tg.GetTempTyped(current_asmdata.CurrAsmList,resultdef,tt_normal,location.reference);
+            emit_ref(A_FISTP,S_Q,location.reference);
+            emit_none(A_FWAIT,S_NO);
            end;
            end;
        end;
        end;
 
 
@@ -334,7 +334,7 @@ implementation
             emit_const_ref(A_OR,S_W,$0f00,oldcw);
             emit_const_ref(A_OR,S_W,$0f00,oldcw);
             load_fpu_location;
             load_fpu_location;
             emit_ref(A_FLDCW,S_NO,oldcw);
             emit_ref(A_FLDCW,S_NO,oldcw);
-            location.loc:=LOC_REFERENCE;
+            location_reset(location,LOC_REFERENCE,OS_64);
             tg.GetTempTyped(current_asmdata.CurrAsmList,resultdef,tt_normal,location.reference);
             tg.GetTempTyped(current_asmdata.CurrAsmList,resultdef,tt_normal,location.reference);
             cg.a_load_reg_ref(current_asmdata.CurrAsmList,OS_16,OS_16,tempreg,oldcw);
             cg.a_load_reg_ref(current_asmdata.CurrAsmList,OS_16,OS_16,tempreg,oldcw);
             emit_ref(A_FISTP,S_Q,location.reference);
             emit_ref(A_FISTP,S_Q,location.reference);