[Bug tree-optimization/61917] [4.9/5 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913
tarasevich at cs dot uni-saarland.de
gcc-bugzilla@gcc.gnu.org
Thu Dec 11 13:35:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917
Andrey Tarasevich <tarasevich at cs dot uni-saarland.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tarasevich at cs dot uni-saarland.
| |de
--- Comment #3 from Andrey Tarasevich <tarasevich at cs dot uni-saarland.de> ---
Is it the same bug? It is triggered only if printf() is called.
→ /home/tarasevich/build/bin/gcc492 -v -save-temps -O3 test_case_3001.c
Using built-in specs.
COLLECT_GCC=/home/tarasevich/build/bin/gcc492
COLLECT_LTO_WRAPPER=/home/tarasevich/build/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../../source/gcc_492/configure --enable-coverage
--prefix=/home/tarasevich/build/ --program-suffix=492 --disable-multilib
Thread model: posix
gcc version 4.9.2 (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O3' '-mtune=generic' '-march=x86-64'
/home/tarasevich/build/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/cc1 -E
-quiet -v -imultiarch x86_64-linux-gnu test_case_3001.c -mtune=generic
-march=x86-64 -O3 -fpch-preprocess -o test_case_3001.i
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory
"/home/tarasevich/build/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../x86_64-unknown-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/home/tarasevich/build/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include
/usr/local/include
/home/tarasevich/build/include
/home/tarasevich/build/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O3' '-mtune=generic' '-march=x86-64'
/home/tarasevich/build/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/cc1
-fpreprocessed test_case_3001.i -quiet -dumpbase test_case_3001.c
-mtune=generic -march=x86-64 -auxbase test_case_3001 -O3 -version -o
test_case_3001.s
GNU C (GCC) version 4.9.2 (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.9.2, GMP version 4.3.2, MPFR version 2.4.2, MPC
version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.9.2 (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.9.2, GMP version 4.3.2, MPFR version 2.4.2, MPC
version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: fc102f9fe8436bee9826789629a3ba6f
test_case_3001.c: In function ‘main’:
test_case_3001.c:10:5: warning: incompatible implicit declaration of built-in
function ‘printf’
printf("%d", var4);
^
test_case_3001.c:1:5: internal compiler error: in vectorizable_reduction, at
tree-vect-loop.c:4913
int main() {
^
0x118d0c2 vectorizable_reduction(gimple_statement_base*, gimple_stmt_iterator*,
gimple_statement_base**, _slp_tree*)
../../../source/gcc_492/gcc/tree-vect-loop.c:4913
0x116e79d vect_analyze_stmt(gimple_statement_base*, bool*, _slp_tree*)
../../../source/gcc_492/gcc/tree-vect-stmts.c:7106
0x117e50d vect_analyze_loop_operations
../../../source/gcc_492/gcc/tree-vect-loop.c:1505
0x117f5a3 vect_analyze_loop_2
../../../source/gcc_492/gcc/tree-vect-loop.c:1766
0x117fdd3 vect_analyze_loop(loop*)
../../../source/gcc_492/gcc/tree-vect-loop.c:1864
0x11b536c vectorize_loops()
../../../source/gcc_492/gcc/tree-vectorizer.c:430
0x102fb8d tree_loop_vectorize
../../../source/gcc_492/gcc/tree-ssa-loop.c:154
0x102fcc4 execute
../../../source/gcc_492/gcc/tree-ssa-loop.c:189
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.
-------------------------------
int main() {
int var4 = 1;
int var5 = -10;
for (; var5 <= 0; ++var5) {
int var6 = -1979310964;
for (; var6 <= -1979310946; ++var6) {
var4 = var5 - var4;
}
}
printf("%d", var4);
}
More information about the Gcc-bugs
mailing list