Re:“What the Hardware Does” Is Not What Your Program Does: U...
by userbinator on Sunday July 14, 2019 @07:02PM
(#20436822)
No idea whether ICC is still worth paying for
From my experience, ICC is far more reluctant to exploit UB, yet still generates very good code.
Re:“What the Hardware Does” Is Not What Your Program Does: U...
by saagarjha on Monday July 15, 2019 @02:16AM
(#20438562)
ICC exploits the standard itself: it generates code that is technically incorrect.
Re:“What the Hardware Does” Is Not What Your Program Does: U...
by mehrdadn on Monday July 15, 2019 @03:20AM
(#20438784)
What do you mean?
Re:“What the Hardware Does” Is Not What Your Program Does: U...
by saagarjha on Monday July 15, 2019 @03:31AM
(#20438830)
As Patrick mentions, ICC generates code that doesn't follow IEEE-754: https://news.ycombinator.com/item?id=20437375 (I should have mentioned I was talking about that rather than the C standard).
Re:“What the Hardware Does” Is Not What Your Program Does: U...
by mehrdadn on Monday July 15, 2019 @03:35AM
(#20438855)
Oh I see, you're talking about floating point.
So basically ICC has -ffast-math (or -funsafe-math-optimizations) on by default, and you can turn it off with an explicit flag?
I see this as more of a philosophical difference than a material one since you can just add or remove the flag on either one...
No idea whether ICC is still worth paying for