[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #1 from Dmitry G. Dyachenko --- r269158 PASS
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- What does your -mtune=native expand to? Can you reproduce also without say --enable-offload-targets=nvptx-none? Why are you using --enable-libmpx when MPX is gone?
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #3 from Dmitry G. Dyachenko --- (In reply to Jakub Jelinek from comment #2) > What does your -mtune=native expand to? How I can see it? > Can you reproduce also without say --enable-offload-targets=nvptx-none? Yes, I'll rebuild without extra options. > Why are you using --enable-libmpx when MPX is gone? I copy configure options from Fedora' gcc and miss MPX gone.
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #4 from Jakub Jelinek --- E.g. gcc -v -mtune=native -xc /dev/null -S -o /dev/null 2>&1 | grep cc1
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #5 from Dmitry G. Dyachenko --- (In reply to Jakub Jelinek from comment #4) > E.g. > gcc -v -mtune=native -xc /dev/null -S -o /dev/null 2>&1 | grep cc1 SkyLake cc -v -mtune=native -xc /dev/null -S -o /dev/null 2>&1 | grep cc1 /usr/libexec/gcc/x86_64-redhat-linux/8/cc1 -quiet -v /dev/null --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=skylake -quiet -dumpbase null -march=x86-64 -auxbase-strip /dev/null -version -o /dev/null
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #6 from Dmitry G. Dyachenko --- PASS /home/dimhen/src/gcc_current/configure --enable-checking=yes --enable-languages=c,c++,lto --disable-multilib --with-tune=native FAIL /home/dimhen/src/gcc_current/configure --enable-checking=yes,df,fold,rtl,extra --enable-languages=c,c++,lto --disable-multilib --with-tune=native
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #7 from Jakub Jelinek --- Ok, reproduced. Will debug on Monday.
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 Richard Biener changed: What|Removed |Added Target||x86_64-*-*, i?86-*-* Target Milestone|--- |9.0
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2019-03-04 Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #8 from Jakub Jelinek --- Oops, caused by my previous fold_checksum_tree fix r269303 aka PR89503. Short testcase: #define TEN(x) x##0, x##1, x##2, x##3, x##4, x##5, x##6, x##7, x##8, x##9, #define HUNDRED(x) TEN(x##0) TEN(x##1) TEN(x##2) TEN(x##3) TEN(x##4) \ TEN(x##5) TEN(x##6) TEN(x##7) TEN(x##8) TEN(x##9) int foo (int, ...); int bar (void) { return (foo (HUNDRED (1) 0)); }
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #9 from Jakub Jelinek --- Created attachment 45885 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45885&action=edit gcc9-pr89560.patch Fix the buffer overflow. Unlike most other trees, CALL_EXPR has variable size, on 64-bit targets 48 + call_expr_nargs * 8, while fold_checksum_tree was using fixed size 216 byte long buffer, so any CALL_EXPR with 22 or more arguments and TREE_NO_WARNING flag set caused buffer overflow.
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 --- Comment #10 from Jakub Jelinek --- Author: jakub Date: Tue Mar 5 09:03:50 2019 New Revision: 269386 URL: https://gcc.gnu.org/viewcvs?rev=269386&root=gcc&view=rev Log: PR bootstrap/89560 * fold-const.c (fold_checksum_tree): Don't use fixed size buffer, instead alloca it only when needed with the needed size. * g++.dg/other/pr89560.C: New test. Added: trunk/gcc/testsuite/g++.dg/other/pr89560.C Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/testsuite/ChangeLog
[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #11 from Jakub Jelinek --- Fixed.