<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>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).</p>
<p>I just hoped that making updates to uComplex, while ensuring
existing Pascal code still compiles, would help take advantage of
modern ABI designs.</p>
<p>Gareth aka. Kit<br>
</p>
<div class="moz-cite-prefix">On 27/10/2019 01:12, Sven Barth via
fpc-devel wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAFMUeB8EmpwGda45ZTdcDRgn7SezTOZZkvO2xLc9LRYTi4fhvA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">I don't
think the compiler can be made smart and safe enough to <br>
auto-align something like the complex type to take full
advantage of the <br>
System V ABI, and vectorcall is not the default Win64
calling convention <br>
(and the default convention is a little badly-designed if
I'm allowed to <br>
say, since it doesn't vectorise anything at all). <br>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">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... </div>
<div dir="auto"><br>
</div>
<div dir="auto">Regards, </div>
<div dir="auto">Sven </div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
fpc-devel maillist - <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
</blockquote>
<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
<table style="border-top: 1px solid #D3D4DE;">
<tr>
<td style="width: 55px; padding-top: 13px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
<td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a>
</td>
</tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body>
</html>