<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi everyone,</p>
    <p>So I'm getting ready to showcase my current vector work to
      others.  I do have a question though...</p>
    <p>Currently the feature is locked behind "-Sv", since this is
      specificially "support vector processing" and the feature is still
      experimental and inefficient in places, but is this the right
      approach?  I ask because the -S switches are specifically syntax
      options, not code generation options (I do wonder exactly what
      syntax it enables).  Also, at least with the "make" script, it
      skips whole program optimisation and some of the packages.</p>
    <p>Should I use a compiler definition instead like "-dX86_VECTORS"? 
      That way, the feature can easily be turned off.<br>
    </p>
    <p>Kit<br>
    </p>
    <div class="moz-cite-prefix">On 21/08/2024 15:59, J. Gareth Moreton
      via fpc-devel wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f2645374-bc88-4ea5-835d-3c08490aac19@moreton-family.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Hi everyone,</p>
      <p>Just thought I'd give a heads-up on what's happening with me
        and the compiler improvements.  Also, I've been busy with
        contract work and have just had some minor surgery, so I'm not
        running on all cylinders currently.</p>
      <ul>
        <li>Still waiting on administrator comments and feedback on my
          assembly-level CSE feature (a couple of years old now) and the
          first part of pure functions.  Both of these should be ready
          to merge unless someone found a bug that breaks things
          (someone did find some examples with pure functions which have
          since been fixed).<br>
        </li>
        <li>Haven't solved the SEH unwinding problem on aarch64-win64
          yet.  This is quite a tough one!</li>
        <li>Also working on vectorisation for x86_64 platforms.  I've
          got it working on win64, and can vectorise two-operand
          commutative operations like addition and multiplication,
          although some of the generated code is less than optimal
          (unnecessarily copying vectors to the stack).  Linux (and
          other OSes that use the System V ABI) is taking a bit longer
          since it stores pairs of floats in single XMM registers even
          without vectorisation code, and some of the internal
          procedures can't properly handle these if the desire is to
          combine a pair of these such registers (so 4 singles) into a
          single XMM vector, especially where shuffling is involved.</li>
      </ul>
      <p>I'll let you know the progress.</p>
      <p>Kit<br>
      </p>
      <div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
        <table style="border-top: 1px solid #D3D4DE;">
          <tbody>
            <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" moz-do-not-send="true"><img
src="https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif"
                    alt="" style="width: 46px; height: 29px;"
                    moz-do-not-send="true" width="46" height="29"></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;"
                  moz-do-not-send="true">www.avast.com</a></td>
            </tr>
          </tbody>
        </table>
        <a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1"
          height="1" moz-do-not-send="true"> </a></div>
      <br>
      <fieldset class="moz-mime-attachment-header"></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>
  </body>
</html>