On 23 March 2013 18:51, Peter Maydell peter.maydell@linaro.org wrote:
On 23 March 2013 18:08, Pinski, Andrew Andrew.Pinski@caviumnetworks.com wrote:
Actually SPEC 2006 is broken if you read the blog post correctly and GCC 4.8 just exposes it.
Yes, that might be why Mans' subject line applies the adjective 'broken' to 'SPEC 2006' :-)
Those Regehr's words, although I do agree with the assessment.
[also, for completeness: 4.8.0 actually does not break things, a patch making it avoid doing so was committed before release.]
The underlying point is a serious one, though -- the gcc tendency to "adversarial optimisation" may be useful for helping us meet our benchmark targets but it's not very pleasant to be the programmer on the other side of it, when today's working program silently breaks when compiled with tomorrow's gcc.
The thing is, those of us who are careful when writing code actually want these optimisations. The more information the compiler can infer from the code, the better.