I built the spec 2006 suite with/without Vlad's patches for enabling using the LRA register allocator for the powerpc. Because of the bug with the count register that was in the version I checked out, I have built things with the -fno-branch-count-reg option.
I created a branch off of subversion id 197925 and applied Vlad's initial patches: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/meissner-lra I can't put the spec files in a general mailing list, but I will make them available to Vlad as needed. On the 64-bit side, the wrf benchmark does not build: /home/meissner/fsf-install-ppc64/meissner-lra/bin/gfortran -c -o module_diffusion_em.fppized.o -I. -I./netcdf/include -g -save-temps=obj -ffast-math -O3 -mveclibabi=mass -mcpu=power7 -mrecip=rsqrt -fpeel-loops -funroll-loops -ftree-vectorize -fvect-cost-model -msave-toc-indirect -fno-aggressive-loop-optimizations -fno-branch-count-reg -mno-pointers-to-nested-functions -mlra -m64 module_diffusion_em.fppized.f90 module_diffusion_em.fppized.f90: In function 'compute_diff_metrics': module_diffusion_em.fppized.f90:5069:0: internal compiler error: in check_rtl, at lra.c:1999 END SUBROUTINE compute_diff_metrics ^ 0x1055e1bf check_rtl /home/meissner/fsf-src/meissner-lra/gcc/lra.c:1999 0x105604c3 lra(_IO_FILE*) /home/meissner/fsf-src/meissner-lra/gcc/lra.c:2374 0x10512f4b do_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4619 0x10512f4b rest_of_handle_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4731 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. specmake: *** [module_diffusion_em.fppized.o] Error 1 specmake: *** Waiting for unfinished jobs.... On the 32-bit side, both wrf and dealII benchmarks do not build. The wrf failure looks like the 64-bit failure, but the file being compiled is different: /home/meissner/fsf-install-ppc64/meissner-lra/bin/gfortran -c -o ESMF_Alarm.fppized.o -I. -I./netcdf/include -g -save-temps=obj -ffast-math -Ofast -mveclibabi=mass -mcpu=power7 -mrecip=rsqrt -fpeel-loops -funroll-loops -ftree-vectorize -fvect-cost-model -fno-aggressive-loop-optimizations -fno-branch-count-reg -mlra -m32 ESMF_Alarm.fppized.f90 module_soil_pre.fppized.f90:1184:0: internal compiler error: in check_rtl, at lra.c:1999 END SUBROUTINE init_soil_3_real ^ 0x1055e1bf check_rtl /home/meissner/fsf-src/meissner-lra/gcc/lra.c:1999 0x105604c3 lra(_IO_FILE*) /home/meissner/fsf-src/meissner-lra/gcc/lra.c:2374 0x10512f4b do_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4619 0x10512f4b rest_of_handle_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4731 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. specmake: *** [module_soil_pre.fppized.o] Error 1 specmake: *** Waiting for unfinished jobs.... Error with make 'specmake -j40 build': check file '/home/meissner/spec-build/spec-2006-base-dev49-power7-vsx-svn197925-nocountreg-lra-shared-at6.0-32bit/benchspec/CPU2006/481.wrf/build/build_base_dev49-power7-vsx-32bit.0000/make.err' Command returned exit code 2 Error with make! *** Error building 481.wrf In dealII, quadrature_lib.cc and polynomial.cc don't build. /home/meissner/fsf-install-ppc64/meissner-lra/bin/g++ -c -o quadrature_lib.o -DSPEC_CPU -DNDEBUG -Iinclude -DBOOST_DISABLE_THREADS -Ddeal_II_dimension=3 -g -save-temps=obj -ffast-math -Ofast -mveclibabi=mass -mcpu=power7 -mrecip=rsqrt -fpeel-loops -funroll-loops -ftree-vectorize -fvect-cost-model -fno-aggressive-loop-optimizations -fno-branch-count-reg -mlra -m32 -DSPEC_CPU_LINUX -include cstddef quadrature_lib.cc quadrature_lib.cc: In constructor 'QGauss<dim>::QGauss(unsigned int) [with int dim = 1]': quadrature_lib.cc:95:1: internal compiler error: in check_rtl, at lra.c:1999 } ^ 0x106cb2bf check_rtl /home/meissner/fsf-src/meissner-lra/gcc/lra.c:1999 0x106cd5c3 lra(_IO_FILE*) /home/meissner/fsf-src/meissner-lra/gcc/lra.c:2374 0x1068004b do_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4619 0x1068004b rest_of_handle_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4731 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. specmake: *** [quadrature_lib.o] Error 1 /home/meissner/fsf-install-ppc64/meissner-lra/bin/g++ -c -o polynomial.o -DSPEC_CPU -DNDEBUG -Iinclude -DBOOST_DISABLE_THREADS -Ddeal_II_dimension=3 -g -save-temps=obj -ffast-math -Ofast -mveclibabi=mass -mcpu=power7 -mrecip=rsqrt -fpeel-loops -funroll-loops -ftree-vectorize -fvect-cost-model -fno-aggressive-loop-optimizations -fno-branch-count-reg -mlra -m32 -DSPEC_CPU_LINUX -include cstddef polynomial.cc polynomial.cc: In member function 'Polynomials::Polynomial<number> Polynomials::Polynomial<number>::derivative() const [with number = long double]': polynomial.cc:282:3: internal compiler error: in check_rtl, at lra.c:1999 } ^ 0x106cb2bf check_rtl /home/meissner/fsf-src/meissner-lra/gcc/lra.c:1999 0x106cd5c3 lra(_IO_FILE*) /home/meissner/fsf-src/meissner-lra/gcc/lra.c:2374 0x1068004b do_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4619 0x1068004b rest_of_handle_reload /home/meissner/fsf-src/meissner-lra/gcc/ira.c:4731 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. specmake: *** [polynomial.o] Error 1 -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797