|
@@ -380,10 +380,9 @@ unit cpupara;
|
|
Therefore at caller side force the ordinal result to be always 64-bit, so it
|
|
Therefore at caller side force the ordinal result to be always 64-bit, so it
|
|
will be stripped to the required size and uneeded bits are discarded.
|
|
will be stripped to the required size and uneeded bits are discarded.
|
|
|
|
|
|
- This is not required for iOS, where the result is zero/sign extended.
|
|
|
|
|
|
+ According to Jonas iOS doesn't zero extend results in the callee either
|
|
}
|
|
}
|
|
- if (target_info.system<>system_aarch64_ios) and
|
|
|
|
- (side=callerside) and (result.location^.loc = LOC_REGISTER) and
|
|
|
|
|
|
+ if (side=callerside) and (result.location^.loc = LOC_REGISTER) and
|
|
(result.def.size<8) and is_ordinal(result.def) then
|
|
(result.def.size<8) and is_ordinal(result.def) then
|
|
begin
|
|
begin
|
|
result.location^.size:=OS_64;
|
|
result.location^.size:=OS_64;
|