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