소스 검색

* small MIPS64 fix

florian 3 년 전
부모
커밋
d153c75e84
1개의 변경된 파일11개의 추가작업 그리고 1개의 파일을 삭제
  1. 11 1
      compiler/mips/cpupara.pas

+ 11 - 1
compiler/mips/cpupara.pas

@@ -365,7 +365,17 @@ implementation
             while paralen>0 do
             while paralen>0 do
               begin
               begin
                 paraloc:=hp.paraloc[side].add_location;
                 paraloc:=hp.paraloc[side].add_location;
-{$ifndef cpu64bitalu}
+{$ifdef cpu64bitalu}
+               if paracgsize in [OS_128,OS_S128] then
+                 begin
+                   if paralen>4 then
+                     begin
+                       paraloc^.size:=OS_64;
+                       paraloc^.def:=u64inttype;
+                     end
+                 end
+               else
+{$else cpu64bitalu}
                 { We can allocate at maximum 32 bits per register on mips32 }
                 { We can allocate at maximum 32 bits per register on mips32 }
                 if (paracgsize in [OS_64,OS_S64]) or
                 if (paracgsize in [OS_64,OS_S64]) or
                    ((paracgsize in [OS_F32,OS_F64]) and
                    ((paracgsize in [OS_F32,OS_F64]) and