[Bug middle-end/80362] [5/6 Regression] gcc miscompiles arithmetic with signed char

2017-05-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80362

--- Comment #6 from Richard Biener  ---
Author: rguenth
Date: Tue May  9 12:27:24 2017
New Revision: 247790

URL: https://gcc.gnu.org/viewcvs?rev=247790=gcc=rev
Log:
2017-05-09  Richard Biener  

Backport from mainline
2017-03-28  Richard Biener  

PR middle-end/80222
* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
TYPE_REF_CAN_ALIAS_ALL references.
* fold-const.c (fold_indirect_ref_1): Likewise.

* g++.dg/pr80222.C: New testcase.

2017-04-06  Richard Biener  

PR tree-optimization/80262
* tree-sra.c (build_ref_for_offset): Preserve address-space
information.
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
Drop useless address-space information on MEM_REF offsets.

* gcc.target/i386/pr80262.c: New testcase.

2017-04-03  Richard Biener  

PR tree-optimization/80275
* fold-const.c (split_address_to_core_and_offset): Handle
POINTER_PLUS_EXPR.

* g++.dg/opt/pr80275.C: New testcase.

2017-04-06  Richard Biener  

PR tree-optimization/80334
* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
preserve alignment of accesses.

* g++.dg/torture/pr80334.C: New testcase.

2017-04-10  Richard Biener  

PR middle-end/80362
* fold-const.c (fold_binary_loc): Look at unstripped ops when
looking for NEGATE_EXPR in -A / -B to A / B folding.

* gcc.dg/torture/pr80362.c: New testcase.

2017-04-25  Richard Biener  

PR tree-optimization/80492
* alias.c (compare_base_decls): Handle registers with asm
specification conservatively.

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

2017-04-27  Richard Biener  

PR middle-end/80539
* tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
being in loop-closed SSA form conservatively.
(chrec_fold_multiply_poly_poly): Likewise.

* gcc.dg/torture/pr80539.c: New testcase.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/opt/pr80275.C
branches/gcc-6-branch/gcc/testsuite/g++.dg/pr80222.C
branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr80334.C
branches/gcc-6-branch/gcc/testsuite/gcc.dg/pr80492.c
branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr80362.c
branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr80539.c
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr80262.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/alias.c
branches/gcc-6-branch/gcc/fold-const.c
branches/gcc-6-branch/gcc/gimple-fold.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/tree-chrec.c
branches/gcc-6-branch/gcc/tree-sra.c
branches/gcc-6-branch/gcc/tree-ssa-loop-ivopts.c
branches/gcc-6-branch/gcc/tree-ssa-sccvn.c

[Bug middle-end/80362] [5/6 Regression] gcc miscompiles arithmetic with signed char

2017-04-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80362

--- Comment #5 from Richard Biener  ---
Author: rguenth
Date: Mon Apr 10 13:02:12 2017
New Revision: 246805

URL: https://gcc.gnu.org/viewcvs?rev=246805=gcc=rev
Log:
2017-04-10  Richard Biener  

PR middle-end/80362
* fold-const.c (fold_binary_loc): Look at unstripped ops when
looking for NEGATE_EXPR in -A / -B to A / B folding.

* gcc.dg/torture/pr80362.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr80362.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog

[Bug middle-end/80362] [5/6 Regression] gcc miscompiles arithmetic with signed char

2017-04-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80362

Richard Biener  changed:

   What|Removed |Added

  Known to work||7.0.1
Summary|[5/6/7 Regression] gcc  |[5/6 Regression] gcc
   |miscompiles arithmetic with |miscompiles arithmetic with
   |signed char |signed char

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