Pārlūkot izejas kodu

+ return singles in the same registers as 32-bit ints

git-svn-id: branches/z80@45023 -
nickysn 5 gadi atpakaļ
vecāks
revīzija
5c6fadada8
1 mainītis faili ar 21 papildinājumiem un 3 dzēšanām
  1. 21 3
      compiler/z80/cpupara.pas

+ 21 - 3
compiler/z80/cpupara.pas

@@ -437,9 +437,27 @@ unit cpupara;
                   OS_F32:
                     begin
                       paraloc^.loc:=LOC_REGISTER;
-                      paraloc^.register:=NR_FUNCTION_RETURN_REG;
-                      paraloc^.size:=OS_32;
-                      paraloc^.def:=u32inttype;
+                      paraloc^.register:=NR_L;
+                      paraloc^.size:=OS_8;
+                      paraloc^.def:=u8inttype;
+
+                      paraloc:=result.add_location;
+                      paraloc^.loc:=LOC_REGISTER;
+                      paraloc^.register:=NR_H;
+                      paraloc^.size:=OS_8;
+                      paraloc^.def:=u8inttype;
+
+                      paraloc:=result.add_location;
+                      paraloc^.loc:=LOC_REGISTER;
+                      paraloc^.register:=NR_E;
+                      paraloc^.size:=OS_8;
+                      paraloc^.def:=u8inttype;
+
+                      paraloc:=result.add_location;
+                      paraloc^.loc:=LOC_REGISTER;
+                      paraloc^.register:=NR_D;
+                      paraloc^.size:=OS_8;
+                      paraloc^.def:=u8inttype;
                     end;
                   else
                     internalerror(2005082603);