浏览代码

* set correct expectloc for vectorfpu temps

git-svn-id: trunk@15217 -
Jonas Maebe 15 年之前
父节点
当前提交
a055ed873d
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      compiler/nbas.pas

+ 9 - 3
compiler/nbas.pas

@@ -960,10 +960,16 @@ implementation
           begin
           begin
             if tempinfo^.typedef.typ=floatdef then
             if tempinfo^.typedef.typ=floatdef then
               begin
               begin
-                if (tempinfo^.temptype = tt_persistent) then
-                  expectloc := LOC_CFPUREGISTER
+                if not use_vectorfpu(tempinfo^.typedef) then
+                  if (tempinfo^.temptype = tt_persistent) then
+                    expectloc := LOC_CFPUREGISTER
+                  else
+                    expectloc := LOC_FPUREGISTER
                 else
                 else
-                  expectloc := LOC_FPUREGISTER;
+                  if (tempinfo^.temptype = tt_persistent) then
+                    expectloc := LOC_CMMREGISTER
+                  else
+                    expectloc := LOC_MMREGISTER
               end
               end
             else
             else
               begin
               begin