[Bug c++/81410] [5/6/7 Regression] -O3 breaks code

2017-07-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81410

--- Comment #12 from Richard Biener  ---
Author: rguenth
Date: Wed Jul 26 08:36:34 2017
New Revision: 250560

URL: https://gcc.gnu.org/viewcvs?rev=250560&root=gcc&view=rev
Log:
2017-07-26  Richard Biener  

Backport from mainline
2017-06-02  Richard Biener  
Markus Eisenmann  

PR libstdc++/80721
* libsupc++/eh_alloc.cc (pool::free): Keep list properly
sorted and add missing freelist item merging cases.

2017-06-18  Richard Biener  

PR tree-optimization/81410
* tree-vect-stmts.c (vectorizable_load): Properly adjust for
the gap in the ! slp_perm SLP case after each group.

* gcc.dg/vect/pr81410.c: New testcase.

2017-07-25  Richard Biener  

PR tree-optimization/81455
* tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to
not walk in cycles when looking for guards.

* gcc.dg/pr81455.c: New testcase.

2017-07-25  Richard Biener  

PR middle-end/81505
* fold-const.c (fold_negate_const): TREE_OVERFLOW should be
sticky.

* gcc.dg/ubsan/pr81505.c: New testcase.

2017-07-04  Jakub Jelinek  

PR target/81175
* gcc.target/i386/pr69255-2.c (foo): Use the return value of the
gather.

2017-06-28  Jakub Jelinek  

PR target/81175
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin
rather than def_builtin_pure for __builtin_ia32_gatherpf*.

2017-06-26  Richard Biener  

PR target/81175
* config/i386/i386.c (ix86_init_mmx_sse_builtins):
Use def_builtin_pure for all gather builtins.

* gfortran.dg/pr81175.f: New testcase.

2017-06-21  Marc Glisse  

* config/i386/i386.c (struct builtin_isa): New field pure_p.
Reorder for compactness.
(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
(def_builtin_pure, def_builtin_pure2): New functions.
(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.

* gcc.dg/tree-ssa/addadd.c: Un-XFAIL.
* gcc.dg/tree-ssa/addadd-2.c: New file.

Added:
branches/gcc-7-branch/gcc/testsuite/gcc.dg/pr81455.c
branches/gcc-7-branch/gcc/testsuite/gcc.dg/ubsan/pr81505.c
branches/gcc-7-branch/gcc/testsuite/gcc.dg/vect/pr81410.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/getround.c
branches/gcc-7-branch/gcc/testsuite/gfortran.dg/pr81175.f
Modified:
branches/gcc-7-branch/gcc/ChangeLog
branches/gcc-7-branch/gcc/config/i386/i386.c
branches/gcc-7-branch/gcc/fold-const.c
branches/gcc-7-branch/gcc/testsuite/ChangeLog
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/pr69255-2.c
branches/gcc-7-branch/gcc/tree-ssa-loop-unswitch.c
branches/gcc-7-branch/gcc/tree-vect-stmts.c
branches/gcc-7-branch/libstdc++-v3/ChangeLog
branches/gcc-7-branch/libstdc++-v3/libsupc++/eh_alloc.cc

[Bug c++/81410] [5/6/7 Regression] -O3 breaks code

2017-07-25 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81410

--- Comment #11 from Richard Biener  ---
Author: rguenth
Date: Tue Jul 25 11:28:08 2017
New Revision: 250506

URL: https://gcc.gnu.org/viewcvs?rev=250506&root=gcc&view=rev
Log:
2017-07-25  Richard Biener  

PR tree-optimization/81410
* gcc.dg/vect/pr81410.c: Do not typedef uint64_t.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/pr81410.c

[Bug c++/81410] [5/6/7 Regression] -O3 breaks code

2017-07-22 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81410

Rainer Orth  changed:

   What|Removed |Added

 CC||ro at gcc dot gnu.org

--- Comment #10 from Rainer Orth  ---
The new testcase FAILs on Solaris (and Dragonfly):

+FAIL: gcc.dg/vect/pr81410.c (test for excess errors)

output is:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr81410.c:6:19: error:
conflicting types for 'uint64_t'
In file included from /usr/include/sys/types.h:29:0,
 from /usr/include/signal.h:15,
 from
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/tree-vect.h:2,
 from
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr81410.c:4:
/usr/include/sys/int_types.h:76:28: note: previous declaration of 'uint64_t'
was here

+UNRESOLVED: gcc.dg/vect/pr81410.c -flto -ffat-lto-objects  scan-tree-dump vect 
"vectorized 1 loops"
+FAIL: gcc.dg/vect/pr81410.c -flto -ffat-lto-objects (test for excess errors)
+WARNING: gcc.dg/vect/pr81410.c -flto -ffat-lto-objects compilation failed to
pr
oduce executable
+WARNING: gcc.dg/vect/pr81410.c compilation failed to produce executable
+UNRESOLVED: gcc.dg/vect/pr81410.c scan-tree-dump vect "vectorized 1 loops"

I'm not sure how best to fix this: require stdint_types and include stdint.h or
rename the type.

  Rainer

[Bug c++/81410] [5/6/7 Regression] -O3 breaks code

2017-07-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81410

Richard Biener  changed:

   What|Removed |Added

  Known to work||8.0
Summary|[5/6/7/8 Regression] -O3|[5/6/7 Regression] -O3
   |breaks code |breaks code

--- Comment #9 from Richard Biener  ---
Fixed on trunk sofar.