[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'

2019-03-05 Thread jakub at gcc dot gnu.org
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.

[Bug bootstrap/89560] [9 regression] ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)'

2019-03-05 Thread jakub at gcc dot gnu.org
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=gcc=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)'

2019-03-04 Thread jakub at gcc dot gnu.org
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=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)'

2019-03-04 Thread jakub at gcc dot gnu.org
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)'

2019-03-04 Thread rguenth at gcc dot gnu.org
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)'

2019-03-02 Thread jakub at gcc dot gnu.org
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)'

2019-03-02 Thread dimhen at gmail dot com
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)'

2019-03-02 Thread dimhen at gmail dot com
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)'

2019-03-02 Thread jakub at gcc dot gnu.org
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)'

2019-03-02 Thread dimhen at gmail dot com
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)'

2019-03-02 Thread jakub at gcc dot gnu.org
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)'

2019-03-02 Thread dimhen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89560

--- Comment #1 from Dmitry G. Dyachenko  ---
r269158 PASS