<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>