<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <div class="moz-cite-prefix">On 31-Jul-18 10:08, Paul Koning wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6A2E0AEB-C2DB-433A-8762-D87FF625F1F4@comcast.net">
      <pre wrap="">

</pre>
      <blockquote type="cite">
        <pre wrap="">On Jul 31, 2018, at 9:33 AM, Robert Armstrong <a class="moz-txt-link-rfc2396E" href="mailto:bob@jfcl.com"><bob@jfcl.com></a> wrote:

</pre>
        FWIW, this may also say something about the quality of the code
        generation in gcc for ARM vs x86 processors, or it may even say
        something about the relative efficiency of those two
        architectures.
      </blockquote>
      <pre wrap="">
One thing worth doing is to use the latest gcc.  Code generation keeps improving, and it's likely that architectures such as ARM see significant benefits in newer releases.

        
</pre>
    </blockquote>
    <br>
    Bob's SimH shows:<br>
    <pre wrap="">Compiler: GCC 6.3.0 20170516</pre>
    The latest gcc is 8.1.0.<br>
    <br>
    It's a bit of a pain to build (I did it recently), but less so than
    in years past.<br>
    <br>
    On a Pi, it will take quite a while.  Be sure to use the latest
    dependencies - gmp, mpc, mpfr.  And put in some place like
    /usr/local - you don't want to replace the system compiler.<br>
    <br>
    Read <a class="moz-txt-link-freetext" href="http://gcc.gnu.org/wiki/InstallingGCC">http://gcc.gnu.org/wiki/InstallingGCC</a> &
    <a class="moz-txt-link-freetext" href="https://gcc.gnu.org/install/index.html">https://gcc.gnu.org/install/index.html</a>.<br>
    <br>
    I haven't played with isl - it may help, or it may expose new
    issues.<br>
    <br>
    You may be better off building a cross-compiler & building on a
    fast x86 or other platform if you have one.  Besides computes, I/O
    on the PI can be pretty slow - USB is not a high-performance bus. 
    Especially if  you need a bunch of hubs.<br>
    <br>
    You also may need the latest binutils - if not for the build, for
    using the compiler.  Somewhere between the version I used previously
    and the new one, the object file format was enhanced incompatibly.<br>
    <br>
    ARM is a RISCish architecture, x86 is a very CISC one, burdened with
    a lot of backward compatibility.  Under the hood, it uses a lot of
    clever optimizations.  Both are moving targets, as are their
    compilers.  (GCC isn't the only choice.  Don't forget to try ICC if
    you want Intel's take on optimized code for their CPUs.  And Clang
    is coming along.)  Don't open the religious war over "relative
    efficiency"; the only thing that matters is whether code that you
    care about has performance that you deem adequate.<br>
    <br>
    Have fun.<br>
    <br>
  </body>
</html>