http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53823
--- Comment #19 from dave.anglin at bell dot net 2012-08-01 14:20:49 UTC --- On 31-Jul-12, at 10:25 PM, rth at gcc dot gnu.org wrote: > The cross-compile *ought* not to affect costs, which means that > we ought to be making the same algorithm choices. Which suggests > that -- if this is a fully bootstrapped pa compiler -- you're > looking at some part of expand_mult itself being mis-compiled. I was afraid this might be the case. However, I built a non bootstrap compiler this morning with -g -O1. The testcase still fails at -O0 and O1, and works at -O2. The compiler was configured as follows: dave@mx3210:~/gnu/gcc/objdir/gcc$ ./xgcc -B./ -v Reading specs from ./specs COLLECT_GCC=./xgcc COLLECT_LTO_WRAPPER=./lto-wrapper Target: hppa-linux-gnu Configured with: ../gcc/configure --with-gnu-as --with-gnu-ld --enable- shared --enable-multiarch --with-multiarch-defaults=hppa-linux-gnu -- enable-linker-build-id --build=hppa-linux-gnu --host=hppa-linux-gnu -- target=hppa-linux-gnu --prefix=/home/dave/opt/gnu/gcc/gcc-4.7.0 --with- local-prefix=/home/dave/opt/gnu --enable-threads=posix --enable- __cxa_atexit --build=hppa-linux-gnu --enable-clocale=gnu --enable-java- gc=boehm --enable-languages=c --disable-bootstrap Thread model: posix gcc version 4.8.0 20120801 (experimental) [trunk revision 190037] (GCC) You probably would need to add --with-arch=1.1 to duplicate the default native settings with a cross. The difference in extracts and deposits may not be the problem. The - O2 code appears to have the same extracts as the -O1 code. I'll see if I can find where the real difference arises. -- John David Anglin dave.ang...@bell.net