My rough experience is that both GCC and Clang overtook ICC at integer arithmetic optimization sometime around 2010-2011, and that ICC's alleged speed is almost entirely down to a laxer default FP model.
-
-
-
My impression of ICC is that it's basically an advertisement for AVX and Intel-specific peephole optimizations, falls flat on high level stuff.
End of conversation
New conversation -
-
-
Impressed that even clang-3.0 gets this right.
-
I was actually curious enough to do a bit of code archaeology. Two separate optimizations in play: (a) "-1-x --> ~x", and (b) "~(~x >> y) --> x >> y". LLVM has (a) since 2003 (r5587!), seemingly because
@clattner_llvm felt like it, and (b) was contributed in 2010 (r93884). -
(a) isn't portable at the source level or you could just write it that way.
End of conversation
New conversation -
-
-
by this definition GCC only started being a production-use compiler since 7.1 while clang has been a battle-tested industrial technology since 3.0.0 checkmate, GNU
-
Ouch, gcc used to get it wrong too? Huge pain since it's the only portable way to write >>.
-
I guess you either have to ifdef it or include regression tests for specific platforms to guarantee anything. But yeah, an interesting discovery
End of conversation
New conversation -
-
-
More people use ICC than you'd think. Adding the lazy loading xsave behaviour in glibc for ICC broke stuff for a bunch of customers (increased stack space beyond min thread stacks). Lastly, I wonder if ICL has similar behaviour?
-
I believe it; I just suspect they don't know what they're doing. What is the lazy xsave behavior?
-
Lazy binding stubs save/restore all registers ldso can use. With LD_AUDIT, and optimizations in ldso, this involves saving lots of stuff. Intel's xsave/xsavec/fxsave are fast enough to use them to save/restore state and need no updates. You then support all calling conventions.
End of conversation
New conversation -
-
-
*smacks roof of ICC* this bad boy can fit so many instructions in this bb
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Hey
@pasiphae_goals, about icc... :P - 1 more reply
New conversation -
-
-
Set icc to O4 for more wat
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.