------- Comment #10 from hjl dot tools at gmail dot com 2010-09-03 17:09 ------- (In reply to comment #8) > (In reply to comment #5) > > Hmhm, IVOPTs expands crap into arguments. > > > > Index: gcc/tree-ssa-loop-ivopts.c > > =================================================================== > > --- gcc/tree-ssa-loop-ivopts.c (revision 163817) > > +++ gcc/tree-ssa-loop-ivopts.c (working copy) > > @@ -1023,6 +1023,11 @@ find_bivs (struct ivopts_data *data) > > > > type = TREE_TYPE (PHI_RESULT (phi)); > > base = fold_convert (type, base); > > + STRIP_USELESS_TYPE_CONVERSION (base); > > + if (CONVERT_EXPR_P (base) > > + && (POINTER_TYPE_P (TREE_TYPE (base)) > > + != POINTER_TYPE_P (TREE_OPERAND (base, 0)))) > > + continue; > > if (step) > > { > > if (POINTER_TYPE_P (type)) > > > > > > fixes the testcase, I am bootstrapping and testing this on x86_64 as a > > short-term fix but have to think about it some more. > > > > Can you check if 32bit bootstrap succeeds with that? > > > > I can bootstrap C with this one on Linux/x86. >
With default languages, I got one regression: Executing on host: /export/build/gnu/gcc-32bit/build-i686-linux/gcc/xgcc -B/export/build/gnu/gcc-32bit/build-i686-linux/gcc/ /net/gnu-6/export/gnu/import/git/gcc/gcc/testsuite/gcc.target/i386/pr38240.c -ansi -pedantic-errors -S -o pr38240.s (timeout = 300) /net/gnu-6/export/gnu/import/git/gcc/gcc/testsuite/gcc.target/i386/pr38240.c: In function 'g':^M /net/gnu-6/export/gnu/import/git/gcc/gcc/testsuite/gcc.target/i386/pr38240.c:8:21: internal compiler error: in convert_move, at expr.c:326^M Please submit a full bug report,^M with preprocessed source if appropriate.^M See <http://gcc.gnu.org/bugs.html> for instructions.^M compiler exited with status 1 with revision 163817 plus the fix. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45519