<div dir="ltr">On 18 January 2013 11:03, Torsten Rüger <span dir="ltr"><<a href="mailto:torsten@villataika.fi" target="_blank">torsten@villataika.fi</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div>So when i got my raspberry pi, and having read that llvm is better at arm than gcc, i compiled llvm on the pi. The pi has a soc with armv6 (i don't know what that means exactly though).</div>
</div></blockquote><div><br></div><div style>Hi Torsten,</div><div style><br></div><div style>That means an ARM1176, an old - but still kicking - ARM core.</div><div style><br></div><div style><a href="http://www.arm.com/products/processors/classic/arm11/arm1176.php">http://www.arm.com/products/processors/classic/arm11/arm1176.php</a><br>
</div><div style><br></div><div style> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">
<div>The pi is not fast and llvm with clang compilation took 22 h, but worked. hurrah.</div><div>Then i compiled llvm/clang with itself and was pleased it took "only" 12 hours. even better.</div></div></blockquote>
<div><br></div><div style>I got faster compilations with Clang on ARM on both PandaES and Chromebook, so that's consistent, but half the time is really impressive.</div><div style><br></div><div style>Have you run "make check-all" ?</div>
<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">
<div>But then I compiled linpack and clang numbers were less than 1/4 off gcc compiled :-( (9000kFlops about) </div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word"><div></div><div><br></div><div>Now according to this <a href="http://elinux.org/RPi_Performance" target="_blank">http://elinux.org/RPi_Performance</a> there is something with compiler settings, hard/soft floats and possibly the exact target (armv6XXX) of the pi to make it better.</div>
</div></blockquote><div><br></div><div style>Compile with -v and see what's the full command to see if it's choosing the triple correctly. It should pick armv6k.</div><div style><br></div><div style>Since there's no NEON on ARM11 and VFP is optional, it's likely that LLVM is assuming soft-floats, in which case your performance will be hurt. You can also see in the full compilation command like (via clang -v) and turn it on by choosing "-mfloat-abi hard".</div>
<div style><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">
<div>My question is: has anybody else tried this, or could tell me what i could try to remedy this.<br></div></div></blockquote><div><br></div><div style>LLVM compilation times won't be much faster than that, but turning on hard-float can help linpack. Though, I'd be surprised if it went up 4x to catch up with GCC.</div>
<div style><br></div><div style>I'd love to see the numbers and possibly a trace of it running on both GCC-compiled and LLVM-compiled versions (if you'd be so kind ;).</div><div style><br></div><div style>cheers,</div>
<div style>--renato</div></div></div></div>