pr24626-4.c fails on powerpc-aix and also on powerpc-darwin with the following options: " -fmodulo-sched -O2 -mcpu=970 -mno-powerpc64". pr24626-4.c: In function 'foo': pr24626-4.c:12: internal compiler error: in split_edge_and_insert, at loop-unroll.c:908 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Testcase: int foo(short* vec1, short* vec2, short* vec3,int len ) { int temp,i; for (i=0; i<len; i++) { temp = vec1[i] * 2; temp += vec2[i] * 3 ; vec3[i] = temp; } }
Caused by: * modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use loop_split_edge_with. http://gcc.gnu.org/ml/gcc-testresults/2006-11/msg00922.html
Subject: Bug 29924 Author: rakdver Date: Wed Nov 22 00:12:52 2006 New Revision: 119078 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119078 Log: PR rtl-optimization/29924 * loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL. (unroll_loop_runtime_iterations): Assert that the argument passed to split_edge_and_insert is not NULL. * loop-doloop.c (add_test): Ditto. Modified: trunk/gcc/ChangeLog trunk/gcc/loop-doloop.c trunk/gcc/loop-unroll.c
Fixed.