ICC 12.0.4: Bad Code Generation at -O2 with Crypto++ Library
I'm compiling Wei Dai's Crypto++ (http://www.cryptopp.com/) using ICPC (ICC) 12.0.4 20110427. At -O1, the self tests run fine. At -O2, one self test fails.
Under other compilers (Visual Studio 2005, 2008, 2010, GCC 4.x, CLang 2.8 and 2.9), the Crypto++ self tests run fine. In addition, I've used John Regehr's Undefined Behavior Checker (UBC, http://embed.cs.utah.edu/ubc/) to verify no funny business with undefined behavior.
Any ideas what might cause ICC to fail at -O2?
Jeffrey Walton Baltimore, MD, US
$ icpc --version icpc (ICC) 12.0.4 20110427 Copyright (C) 1985-2011 Intel Corporation. All rights reserved. $ uname -a Linux studio 2.6.32-34-generic #77-Ubuntu SMP Tue Sep 13 19:39:17 UTC 2011 x86_64 GNU/Linux
That svn command doesn't connect for me here. There have been 2 updates since the icc you quote. It's a long way from gcc 4.1 to current 4.6, and choice of underlying gcc could impact icc. You may need to narrow it down sufficiently yourself to file a bug report.l
> It's a long way from gcc 4.1 to current 4.6, and choice of underlying gcc could impact icc. Ah, right. Ubuntu is a little buggy with their incessant tinkering with the tool chain .
$ gcc --version gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> You may need to narrow it down sufficiently yourself to file a bug report.l Yes, I wanted to file a bug report (the experts are the best for this sort of thing once dumb mistakes and illegal programs are ruled out). But I could not find where to do it. I thought I found it, but it appears the web form I filed out was sent to the bit bucket (no responses).
If you would mention the issue number from your filing on premier.intel.com, I would hope that someone with privilege to look it up would do so. I myself haven't been able to get access to those issues this year, even when the customer requested it specifically.
Many individual test cases mentioned in the forum or in premier.intel.com issues make it permanently into compiler test suite, and many do not. For sourceforge applications, my own opinion is it's probably more realistic for people working on and familiar with the application to submit issues as appropriate.