Linked by Thom Holwerda on Thu 7th Oct 2010 19:10 UTC, submitted by tyrione
General Development LLVM 2.8 has been released. The release notes describe this new, ehm, release in greater detail, so head on over and give it a read.
Thread beginning with comment 444539
To view parent comment, click here.
To read all comments associated with this story, please click here.
by jacquouille on Fri 8th Oct 2010 17:51 UTC in reply to "RE: GCC > LLVM"
Member since:

Best at what? I thought it was common knowledge that icc is better for performance.

Outdated common knowledge, then. GCC has improved very fast for the past 5 years now in the performance area, and simultaneously the nature of compiler optimization has shifted: 5 years ago it was mostly about the back-end carefully selecting asm instructions, which ICC is very good at, but nowadays programmers of performance-critical software use more and more intrinsics (especially for SIMD) so to a large extent they control that themselves. In other words, ICC's superiority in the area of auto-vectorization is becoming irrelevant as that doesn't get nearly as good as intrinsics-based vectorization anyway. Instead, compiler optimization has been moving to a larger scale, with e.g. the advanced loop transformations (polyhedral model) introduced in gcc 4.4, with partial loop unrolling, partial function inlining, better constants propagation, etc.

Reply Parent Score: 3

by nt_jerkface on Fri 8th Oct 2010 18:18 in reply to "RE[2]: GCC > LLVM"
nt_jerkface Member since:

Talk is cheap, real benchmarks are more telling.

The one I provided was from 2009.

Here's another from 2010:

Here is another:

ffmpeg benchmark:

Here is someone showing how clamav can be recompiled with icc for a significant performance boost:

I see no reason why I should believe that GCC will create a faster binary in most cases. But if you would like to convince me otherwise then pick some commonly used open source programs and create your own benchmarks.

Reply Parent Score: 3

by Neolander on Fri 8th Oct 2010 18:44 in reply to "RE[3]: GCC > LLVM"
Neolander Member since:

A lot of these are outdated. They use GCC 4.3, 4.2, and, would you believe it, one (clamAV) even uses GCC 3.4 ! ^^'

The sole test using up-to-date GCC is the 2010 one, and it shows that GCC 4.5 is often pretty close to ICC in terms of performance, although compilation is much slower.

Two concerns :
-This was a svn, pre-beta build of GCC, so compilation performance has probably improved a bit (though one should test this).
-Also, I would like to know how code generated by ICC behaves on AMD processors.

You do have a point about ICC not being outdated, and being faster on at least some Intel processors, though.

Edited 2010-10-08 18:48 UTC

Reply Parent Score: 2

by Valhalla on Fri 8th Oct 2010 19:21 in reply to "RE[3]: GCC > LLVM"
Valhalla Member since:

Talk is cheap, real benchmarks are more telling.
Here's another from 2010:

Finally one that is relevant. Gcc 4.5 has been out for quite a while now and Gcc 4.6 is reaching end of stage one this month. Very impressive results for ICC on the pi_fftc6 test.

This looks good for gcc since Intel recently hired longtime gcc developers CodeSourcery to work on (amongst other things) improving optimizations for the core ix range in gcc.

edit: oh, and here is the latest (ever?) smackdown if anyone is interested, still quite outdated though:

Edited 2010-10-08 19:24 UTC

Reply Parent Score: 2