|
@@ -220,27 +220,27 @@ implementation
|
|
else
|
|
else
|
|
{ Return in register }
|
|
{ Return in register }
|
|
begin
|
|
begin
|
|
-{$ifndef cpu64bit}
|
|
|
|
|
|
+{$ifndef cpu64bitaddr}
|
|
if retcgsize in [OS_64,OS_S64] then
|
|
if retcgsize in [OS_64,OS_S64] then
|
|
begin
|
|
begin
|
|
- { high }
|
|
|
|
|
|
+ { low }
|
|
paraloc^.loc:=LOC_REGISTER;
|
|
paraloc^.loc:=LOC_REGISTER;
|
|
if side=callerside then
|
|
if side=callerside then
|
|
- paraloc^.register:=NR_FUNCTION_RESULT64_HIGH_REG
|
|
|
|
|
|
+ paraloc^.register:=NR_FUNCTION_RESULT64_LOW_REG
|
|
else
|
|
else
|
|
- paraloc^.register:=NR_FUNCTION_RETURN64_HIGH_REG;
|
|
|
|
|
|
+ paraloc^.register:=NR_FUNCTION_RETURN64_LOW_REG;
|
|
paraloc^.size:=OS_32;
|
|
paraloc^.size:=OS_32;
|
|
- { low }
|
|
|
|
|
|
+ { high }
|
|
paraloc:=result.add_location;
|
|
paraloc:=result.add_location;
|
|
paraloc^.loc:=LOC_REGISTER;
|
|
paraloc^.loc:=LOC_REGISTER;
|
|
if side=callerside then
|
|
if side=callerside then
|
|
- paraloc^.register:=NR_FUNCTION_RESULT64_LOW_REG
|
|
|
|
|
|
+ paraloc^.register:=NR_FUNCTION_RESULT64_HIGH_REG
|
|
else
|
|
else
|
|
- paraloc^.register:=NR_FUNCTION_RETURN64_LOW_REG;
|
|
|
|
|
|
+ paraloc^.register:=NR_FUNCTION_RETURN64_HIGH_REG;
|
|
paraloc^.size:=OS_32;
|
|
paraloc^.size:=OS_32;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
-{$endif cpu64bit}
|
|
|
|
|
|
+{$endif cpu64bitaddr}
|
|
begin
|
|
begin
|
|
paraloc^.loc:=LOC_REGISTER;
|
|
paraloc^.loc:=LOC_REGISTER;
|
|
paraloc^.size:=retcgsize;
|
|
paraloc^.size:=retcgsize;
|