Re: Serious SPEC CPU 2006 FP performance regressions on IA32
Meissner, Michael wrote: 437.leslie3d-26% it was felt that the PPRE patches that were added on November 13th were the cause of the slowdown: http://gcc.gnu.org/ml/gcc/2006-12/msg00023.html Has anybody tried doing a run with just ppre disabled? Right. PPRE appears to be the reason of slowdown. -fno-tree-pre gets performance of cpu2006/437.leslie3d back to normal. This is the worst case. And that will take much longer to verify whole set of cpu2006 benchmarks. - Grigory
Re: Serious SPEC CPU 2006 FP performance regressions on IA32
Menezes, Evandro wrote: Though not as pronounced, definitely significant. Using binary search I've detected that 30% performance regression of cpu2006/437.leslie3d benchmark is caused by revision 117891. http://gcc.gnu.org/viewcvs?view=rev&revision=117891 I assume same commit causes regression of all other benchmarks from cpu2k6 suite (running others to confirm). - Grigory
GCC trunk revision 120704 failed to build spec cpu2k/gcc
Hi! GCC trunk revision 120704 failed to build SPEC cpu2000/gcc on -O1 and higher optimization level at x86_64-redhat-linux. reload1.c: In function 'reload': reload1.c:449: error: address taken, but ADDRESSABLE bit not set bad_spill_regs reload1.c:449: error: address taken, but ADDRESSABLE bit not set bad_spill_regs reload1.c:449: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. Does anybody see the same? - Grigory
27% regression of gcc 4.3 performance on cpu2k6/calculix
Hi! There is a huge regression of gcc 4.3 performance detected on cpu2006/454.calculix benchmark at -O2 optimization level on x86_64-redhat-linux. Regression is caused by mem-ssa merge 12/12/2006 (revision 119760). http://gcc.gnu.org/viewcvs?view=rev&revision=119760 PS: I'm trying to get a small reproducer - Grigory
GCC trunk failed to compile cpu2k6/dealII at x86_64
Hi! GCC 4.3 revision 120799 fails to compile SPEC cpu2006/447.dealII benchmark at x86_64-redhat-linux on -O2 optimization level. Last revision know to be good is 120775. data_out_base.cc: In static member function 'static void DataOutBase::write_vtk(const std::vectordim>, std::allocator > >&, const std::vector, std::allocator >, std::allocatorstd::char_traits, std::allocator > > >&, const DataO utBase::VtkFlags&, std::ostream&) [with int dim = 3, int spacedim = 4]': data_out_base.cc:2949: internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'reduc_m ax_expr' in add_call_clobber_ops, at tree-ssa-operands.c:1780 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. specmake: *** [data_out_base.o] Error 1 - Grigory
Re: GCC trunk failed to compile cpu2k6/dealII at x86_64
Grigory Zagorodnev wrote: GCC 4.3 revision 120799 fails to compile SPEC cpu2006/447.dealII benchmark at x86_64-redhat-linux on -O2 optimization level. Last revision know to be good is 120775. It appears that revision 120767 causes the failure http://gcc.gnu.org/viewcvs?view=rev&revision=120767 Which is "Remove unused variables from REFERENCED_VARS list" patch http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01048.html - Grigory
Re: 27% regression of gcc 4.3 performance on cpu2k6/calculix
Toon Moene wrote: Calculix is a combined C/Fortran program. Did you try to compile the Fortran parts with --param max-aliased-vops=default 50> ? Right, calculix is a combined program. Gprof says the regression is in e_c3d routine which is 1k lines of Fortran code. Various max-aliased-vops give no difference for calculix: default (assume --param max-aliased-vops=50) 1780 sec. --param max-aliased-vops=80 1789 sec. --param max-aliased-vops=20 1780 sec. Setting of max-aliased-vops to value greater than 80 gives an ICE: allocation.f: In function 'allocation': allocation.f:19: internal compiler error: in ssa_operand_alloc, at tree-ssa-oper ands.c:365 - Grigory
Re: 27% regression of gcc 4.3 performance on cpu2k6/calculix
H. J. Lu wrote: Is that possible to extract a smaller testcase? I'm working on the small reproducer. That would take some time because of benchmark complexity. - Grigory
Trunk GCC hangs while compiling cpu2k6/perlbench at -O2
GCC 4.3 compiler revision 121206 goes into infinitive loop while compiling cpu2k6/perlbench source file regcomp.c at -O2 optimization level on x86_64-redhat-linux. GDB attached to cc1 process, gives the hang point: 0x00711bd8 in solve_graph (graph=0xd37150) at /home/testbot/bootstrap/009454/src/gcc/tree-ssa-structalias.c:1619 1619if (!TEST_BIT (ti->visited, i) && find (i) == i) You can find the minimal reproducer attached to this mail. It looks like the problem first appeared at the beginning of the last week. I'll start binary search to detect the check-in causing this failure. - Grigory typedef struct RExC_state_t { char *end; char *parse; } RExC_state_t; struct regnode_string { unsigned char str_len; char string[1]; }; static void *regatom (RExC_state_t * pRExC_state, int *flagp); static void * regpiece (RExC_state_t * pRExC_state, int *flagp) { return regatom (0, 0); } static void * regbranch (RExC_state_t * pRExC_state, int *flagp, int first) { return regpiece (0, 0); } static void * reg (RExC_state_t * pRExC_state, int paren, int *flagp) { return regbranch (0, 0, 1); } void * Perl_pregcomp (char *exp, char *xend, void *pm) { return reg (0, 0, 0); } static void * regatom (RExC_state_t * pRExC_state, int *flagp) { register void *ret = 0; int flags; tryagain: switch (*(pRExC_state->parse)) { case '(': ret = reg (pRExC_state, 1, &flags); if (flags & 0x8) { goto tryagain; } break; default: { register unsigned long len; register unsigned ender; register char *p; char *oldp, *s; unsigned long numlen; unsigned long foldlen; unsigned char tmpbuf[6 + 1], *foldbuf; defchar: s = (((struct regnode_string *) ret)->string); for (len = 0, p = (pRExC_state->parse) - 1; len < 127 && p < (pRExC_state->end); len++) { if (((*p) == '*' || (*p) == '+' || (*p) == '?' || ((*p) == '{' && regcurly (p { unsigned long unilen; for (foldbuf = tmpbuf; foldlen; foldlen -= numlen) { reguni (pRExC_state, ender, s, &unilen); s += unilen; } break; } unsigned long unilen; reguni (pRExC_state, ender, s, &unilen); s += unilen; } }; break; } return (ret); }
Re: Trunk GCC hangs while compiling cpu2k6/perlbench at -O2
Grigory Zagorodnev wrote: GCC 4.3 compiler revision 121206 goes into infinitive loop while compiling cpu2k6/perlbench source file regcomp.c at -O2 optimization level on x86_64-redhat-linux. This regression is caused by "Rewrite of portions of points-to solver" patch http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01541.html revision 120931 http://gcc.gnu.org/viewcvs?view=rev&revision=120931 - Grigory
Trunk GCC fails to compile cpu2k6/dealII at -O2
Hi! GCC 4.3 compiler revision 121206 gets ICE while compiling cpu2006/447.dealII source file data_out_base.cc at -O2 optimization level on x86_64-redhat-linux. Similar to previously reported cpu2k6/perlbench failure, this regression is caused by "Rewrite of portions of points-to solver" patch http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01541.html (revision 120931). Error log is listed below. I'm working to get a small reproducer. data_out_base.cc: In static member function 'static void DataOutBase::write_vtk(const std::vectorspacedim>, std::allocator > >&, const std::vector, std::allocator >, std::allocatorstd::char_traits, std::allocator > > >&, const DataOutBase::VtkFlags&, std::ostream&) [with int dim = 3, int spacedim = 4]': data_out_base.cc:2949: internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'reduc_max_expr' in add_call_clobber_ops, at tree-ssa-operands.c:1780 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. - Grigory
Re: build failure? (libgfortran)
Dorit Nuzman wrote: I'm seeing this bootstrap failure on i686-pc-linux-gnu (revision 121579) - something I'm doing wrong, or is anyone else seeing this? Yes. I see the same at x86_64-redhat-linux. - Grigory
GCC 4.3 ia64 bootstrap failure
Hi! There is a bootstrap failure of 4.3 compiler at ia64. Source revision is 122087, last revision known to be good is 121993. I'm working on a reproducer and revision search. /gcc-43/bld/./gcc/xgcc -B/gcc-43/bld/./gcc/ -B/gcc-43/usr/ia64-r edhat-linux/bin/ -B/gcc-43/usr/ia64-redhat-linux/lib/ -isystem /gcc-43/usr/ia64-redhat-linux/include -isystem /gcc-43/usr/ia64-redhat-linux/sys-include -g -fkeep-inline-functions -O2 -O2 -g -O2 -DIN_GCC-DUSE_LIBUNWIND_EXCEPTIONS -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DUSE_GAS_SYMVER -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/home/testbot/bootstrap/010886/src/libgcc -I/gcc-43/src/libgcc/. -I/gcc-43/src/libgcc/../gcc -I/gcc-43/src/libgcc/../include -I/gcc-43/src/libgcc/../libdecnumber -I../../libdecnumber -o unwind-ia64.o -MT unwind-ia64.o -MD -MP -MF unwind-ia64.dep -fexceptions -c /gcc-43/src/libgcc/../gcc/config/ia64/unwind-ia64.c -fvisibility=hidden -DHIDE_EXPORTS /gcc-43/src/libgcc/../gcc/unwind.inc: In function '_Unwind_Backtrace': /gcc-43/src/libgcc/../gcc/unwind.inc:287: internal compiler error: tree check: expected class 'expression', have 'constant' (integer_cst) in ia64_expand_builtin, at config/ia64/ia64.c:9194 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. Does anyone see the same? - Grigory
Re: GCC 4.3 ia64 bootstrap failure
Grigory Zagorodnev wrote: Hi! /gcc-43/src/libgcc/../gcc/unwind.inc:287: internal compiler error: tree check: expected class 'expression', have 'constant' (integer_cst) in ia64_expand_builtin, at config/ia64/ia64.c:9194 xgcc(cc1) fails at expand of __builtin_ia64_bsp regardless of the optimization level. - Grigory
Re: GCC 4.3 ia64 bootstrap failure
Lee Millward wrote: I think this is down to the CALL_EXPR changes. Can you try changing and see if that fixes it? I'm not able to test this change myself at the moment but I think the above should do it. Just noticed I got the line number wrong in my message above. It should be 9194 as reported in the ICE message. Hi Lee, thank you for your help. This change really fixes bootstrap problem. - Grigory
Re: 40% performance regression SPEC2006/leslie3d on gcc-4_2-branch
Mark Mitchell wrote: FP performance regressions of the recent GCC 4.2 (revision 120817) compiler against September GCC 4.2 (revision 116799) What does that translate to in terms of overall score? Hi, This is 4.7% drop of SPECfp_base2006 ratio (geomean of individual FP ratios). Here is the full set of changes in cpu2k6/fp performance of GCC 4.2 compiler between r116799 and r120817, measured on Intel Core2 Duo at -O2 optimization level. 410.bwaves -6.3% 416.gamess -0.7% 433.milc-7.0% 434.zeusmp 0.0% 435.gromacs -0.4% 436.cactusADM -1.1% 437.leslie3d-25.4% 444.namd0.0% 447.dealII -1.4% 450.soplex -3.9% 453.povray 0.0% 454.calculix-0.3% 459.GemsFDTD-18.3% 465.tonto -2.5% 470.lbm -4.1% 481.wrf -2.7% 482.sphinx3 -1.2% SPECfp_base2006 -4.7% - Grigory
Re: 40% performance regression SPEC2006/leslie3d on gcc-4_2-branch
Mark Mitchell wrote: Excellent question; I should have asked for that as well. If 4.2 has gained on 4.1 in other respects, the 4.7% drop might represent a smaller regression relative to 4.1. There is the 4.2 (r120817) vs. 4.1.2 release FP performance comparison numbers. SPECfp_base2006 of gcc 4.2 has 19% performance gain over 4.1.2. 410.bwaves 1.9% 416.gamess 55.0% 433.milc3.6% 434.zeusmp 39.8% 435.gromacs 0.6% 436.cactusADM 33.3% 437.leslie3d-6.9% 444.namd80.1% 447.dealII 13.5% 450.soplex 0.8% 453.povray 14.4% 454.calculix182.4% 459.GemsFDTD-8.3% 465.tonto 21.5% 470.lbm -4.6% 481.wrf -6.4% 482.sphinx3 0.0% SPECfp_base2006 18.8% - Grigory
Massive SPEC failures on trunk
Hi, Trunk GCC shows massive (2 compile-time and 6 run-time) failures on SPEC CPU2000 and CPU2006 at i386 and x86_64 on -O2 optimization level. Regression introduced somewhere between revision 122487 and 122478. There are three checkins, candidates for the root of regression: http://gcc.gnu.org/viewcvs?view=rev&revision=122487 http://gcc.gnu.org/viewcvs?view=rev&revision=122484 http://gcc.gnu.org/viewcvs?view=rev&revision=122479 Here is the list of failures: CPU2006/464.h264ref: GCC ICE image.c: In function 'UnifiedOneForthPix': image.c:1407: internal compiler error: in set_value_range, at tree-vrp.c:267 CPU2006/447.dealII: GCC ICE fe_tools.cc: In static member function 'static void FETools::get_projection_matrix(const FiniteElement&, const FiniteElement&, FullMatrix&) [with int dim = 3, number = double]': fe_tools.cc:322: error: definition in block 47 does not dominate use in block 49 for SSA_NAME: NMT.4199_484 in statement: NMT.4199_645 = PHI PHI argument NMT.4199_484 for PHI node NMT.4199_645 = PHI fe_tools.cc:322: internal compiler error: verify_ssa failed CPU2000/186.crafty: killed with signal 11 CPU2000/178.galgel: killed with signal 11 CPU2006/403.gcc: runtime error CPU2006/416.gamess: killed with signal 11 CPU2006/434.zeusmp: killed with signal 11 CPU2006/465.tonto: killed with signal 11 - Grigory
Re: Massive SPEC failures on trunk
Grigory Zagorodnev wrote: Trunk GCC shows massive (2 compile-time and 6 run-time) failures on SPEC CPU2000 and CPU2006 at i386 and x86_64 on -O2 optimization level. Regression introduced somewhere between revision 122487 and 122478. http://gcc.gnu.org/viewcvs?view=rev&revision=122487 Almost all regressions are due to r122487 cpu2006: 403.gcc 416.gamess 434.zeusmp 464.h264ref 465.tonto cpu2000: 178.galgel 186.crafty http://gcc.gnu.org/viewcvs?view=rev&revision=122484 cpu2006/447.dealII is due to revision 122484. I'll bring more information and try to get minimal reproducers at Monday. - Grigory
Re: Massive SPEC failures on trunk
Andrew Pinski wrote: For one, the 176.gcc in SPEC 2k has an aliasing violation in it so that failing is known. You might want to try adding -fno-strict-aliasing. In this case we would need to add -fno-strict-aliasing to CFLAGS for the whole 'int' test set, since we follow 'baseline' rules. That would result overall performance degradation. Thus we prefer alternative sources in this particular case. I have been asking someone who has the power to submit an alt to SPEC for that failure for 3 years now and now it is too late really. We have made some changes for 176.gcc in spec cpu2000 v1.3 (see http://www.spec.org/cpu2000/issues/). We can either assist in submitting issues via Intel's representative in SPEC committee later on. - Grigory
Re: Massive SPEC failures on trunk
Ian Lance Taylor wrote: "Vladimir Sysoev" <[EMAIL PROTECTED]> writes: There is minimal reproducer for cpu2006/h264ref is attached I just committed a patch for PR 31034 which may fix this. Ian Hi Ian, patch for PR31034 fixes cpu2006/464.h264ref ICE only. Others are still failing - the root cause seems to be more general. cpu2006: 403.gcc 416.gamess 434.zeusmp 465.tonto cpu2000: 178.galgel 186.crafty - Grigory
GCC 4.1 ICE during CPU2000/177.mesa build
GCC 4.1 is getting ICE in ' refers_to_regno_for_reload_p' while compiling CPU2000/177.mesa on ia32 Linux. Is that a known issue? This is what I got: triangle.c: In function 'simple_z_textured_triangle': triangle.c:461: internal compiler error: in refers_to_regno_for_reload_p, at reload.c: 6285 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. specmake: *** [mesa] Error 1 Thanks! - Grigory
Re: Massive FORTRAN test failures
H. J. Lu wrote: I have got massive FORFRAN test failures on Linux/ia64 and Linux/x86-64: It looks like the patch for fortran/25045 http://gcc.gnu.org/ml/fortran/2006-02/msg00111.html has affected stability of 178.galgel, 187.facerec and 189.lucas benchmarks of cpu2000 suite and caused these massive fails today. Reversed patch http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110994 fixes the compiler. ICE point in GDB Program received signal SIGSEGV, Segmentation fault. dim_rank_check (dim=0x0, array=0xd0bcb0, allow_assumed=0) at /home/testbot/bootstrap/gcc-42/src/gcc/fortran/check.c:332 332 if (dim->expr_type != EXPR_CONSTANT || array->expr_type != EXPR_VARIABLE) - Grigory
RFC: Message-ID to mailing list URL match
Hi! This is gcc.gnu.org question not gcc itself, but I found this list as most appropriate to ask. It seems to be a good practice, when composing a message, to refer other ones using URL like http://gcc.gnu.org/ml/gcc/2006-02/msg00295.html. Thus I wonder if there is a shorter way to match e-mail in my inbox with the URL than clicking and searching web pages basing on date, subject etc. For example cgi-bin/mesg.cgi script of mhonarc mail-to-html converter, the one used by gcc.gnu.org, can "extract a message from an archive based upon message-id" so having interface to this script would be useful. Further the mail client may be taught to get this URL automatically. Any comment? - Grigory
Re: RFC: Message-ID to mailing list URL match
Olly Betts wrote: On 2006-02-17, Marcel Cox <[EMAIL PROTECTED]> wrote: You could create a news URL pointing to Gmane and using the messageid. http://mid.gmane.org/[EMAIL PROTECTED] Definitely, this is the feature that I'd appreciate much at gcc.gnu.org - having http://gcc.gnu.org/[EMAIL PROTECTED] redirected to http://gcc.gnu.org/ml/gcc/2006-02/msg00340.html (not gman). - Grigory
Re: GCC 4.1.0 RC1
Mark Mitchell wrote: GCC 4.1.0 RC1 is here: ftp://gcc.gnu.org/pub/gcc/prerelease-4.1.0-20060219 Please download, build, and test. Please use these tarballs, rather than the current SVN branch, so that we test packaging, and other similar issues. If you find problems, please do not send me email directly; instead, file a bug in Bugzilla, and add me to the CC: list. Enjoy! Hi! My spec cpu2000 run shows 252.eon miscompared with i686-redhat-linux 4.1.0 20060221 (prerelease) compiler. Optimization level is -O2. Spec reported "miscompare of pixels_out.kajiya". Has anybody seen this before? - Grigory
Re: fatal error: internal consistency failure on Linux/ia64
Jan-Benedict Glaw wrote: On Mon, 2006-05-22 21:42:07 -0700, Andrew Pinski <[EMAIL PROTECTED]> wrote: On May 22, 2006, at 9:36 PM, H. J. Lu wrote: on Linux/ia64. The last working revision is 113936. Linux/x86 and Linux/x86-64 pass the same spot. Has anyone else seen it? Yes for hppa-linux-gnu, PR 27736. Hi! Here is a minimal reproducer if someone needs regression test. typedef struct fibnode { struct fibnode *parent; __extension__ unsigned long int degree : 31; __extension__ unsigned long int mark : 1; } *fibnode_t; void fibheap_cut (fibnode_t, fibnode_t); void fibheap_cascading_cut (fibnode_t); void fibheap_cascading_cut (fibnode_t y) { fibnode_t z; while ((z = y->parent) != 0) { if (y->mark == 0) { y->mark = 1; return; } else { fibheap_cut (y, z); y = z; } } } - Grigory
GCC trunk build failed on ia64: ICE in __gcov_init
Hi! Build of mainline GCC on ia64-redhat-linux failed since Thu Jun 8 16:23:09 UTC 2006 (revision 114488). Last successfully built revision is 114468. I wonder if somebody sees the same. make[4]: Entering directory `/home/user/gcc-42/bld/gcc' /home/user/gcc-42/bld/./gcc/xgcc -B/home/user/gcc-42/bld/./gcc/ -B/home/user/gcc-42/ usr/ia64-unknown-linux-gnu/bin/ -B/home/user/gcc-42/usr/ia64-unknown-linux-gnu/lib/ -isystem /home/user/gcc-42/usr/ia64-unknown-linux-gnu/include -isystem /home/user/gc c-42/usr/ia64-unknown-linux-gnu/sys-include -O2 -O2 -g -O2 -DIN_GCC -DUSE_LIBUN WIND_EXCEPTIONS -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -W old-style-definition -isystem ./include -fPIC -DUSE_GAS_SYMVER -g -DHAVE_GTHR_DEFA ULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/home/user/gcc-42/src/gcc -I/ho me/user/gcc-42/src/gcc/. -I/home/user/gcc-42/src/gcc/../include -I/home/user/gcc-42/ src/gcc/../libcpp/include -I/home/user/gcc-42/src/gcc/../libdecnumber -I../libdecnu mber -DL_gcov -c /home/user/gcc-42/src/gcc/libgcov.c -o libgcc/./_gcov.o /home/user/gcc-42/src/gcc/libgcov.c: In function '__gcov_init': /home/user/gcc-42/src/gcc/libgcov.c:577: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. make[4]: *** [libgcc/./_gcov.o] Error 1 make[4]: Leaving directory `/home/user/gcc-42/bld/gcc' make[3]: *** [libgcc.a] Error 2 Configured with: --prefix=/home/user/gcc-42/usr --program-suffix=-42 -enable-shared --enable-threads=posix --enable-checking --with-system-zlib --enable-__cxa_atexit - Grigory
Bootstrap of GCC trunk (rev. 116941) failed at i386-redhat-linux
Hi! Trunk failed to bootstrap with revision 116941. Does anybody see the same? /home/bootstrap/src/libjava/posix-threads.cc: In function 'int _Jv_CondWait(_Jv_ConditionVariable_t*, _Jv_Mutex_t*, jlong, jint)': /home/bootstrap/src/libjava/posix-threads.cc:106: error: 'gettimeofday' was not declared in this scope OS details: Red Hat Enterprise Linux AS release 4 (Nahant Update 2) glibc-2.3.4-2.13 Failure actually caused by commit of rev. 116941. Thanks, - Grigory