[fpc-devel] Question on updating FPC packages

J. Gareth Moreton gareth at moreton-family.com
Sun Oct 27 07:32:42 CET 2019

I guess you're right.  It just seems weird because the System V ABI was 
designed from the start to use the MM registers fully, so long as the 
data is aligned.  In effect, it had vectorcall wrapped into its design 
from the start.  Granted, vectorcall has some advantages and can deal 
with relatively complex aggregates that the System V ABI cannot handle 
(for example, a record type that contains a normal vector and 
information relating to bump mapping).

I just hoped that making updates to uComplex, while ensuring existing 
Pascal code still compiles, would help take advantage of modern ABI designs.

Gareth aka. Kit

On 27/10/2019 01:12, Sven Barth via fpc-devel wrote:
>     I don't think the compiler can be made smart and safe enough to
>     auto-align something like the complex type to take full advantage
>     of the
>     System V ABI, and vectorcall is not the default Win64 calling
>     convention
>     (and the default convention is a little badly-designed if I'm
>     allowed to
>     say, since it doesn't vectorise anything at all).
> It's not badly designed, it's a child of its time. Back when Win64 was 
> conceived it wasn't expected that the use of SSE would become as 
> widespread as it is now. And one doesn't simply change a platform ABI 
> on a whim. That's why Microsoft introduced vectorcall after all...
> Regards,
> Sven
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

This email has been checked for viruses by Avast antivirus software.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20191027/a2b8989f/attachment.html>

More information about the fpc-devel mailing list