]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.)
authorRichard Biener <rguenther@suse.de>
Tue, 22 Mar 2016 14:38:42 +0000 (14:38 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 22 Mar 2016 14:38:42 +0000 (14:38 +0000)
commita3ca1bc5bd6bdded34df1040fdb595c4de032071
tree07e38dec0fc55cf290a215c1b217490973866e7b
parentec613b6634d57abc9402ba8c51bdbc9f59807690
re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.)

2016-03-22  Richard Biener  <rguenther@suse.de>

PR middle-end/70251
* genmatch.c (gen_transform): Adjust last parameter to a three-state
int...
(capture::gen_transform): ... to change behavior when substituting
a condition into cond or not-cond expr context.
(dt_simplify::gen_1): Adjust.
* gimple-match-head.c: Include gimplify.h for unshare_expr.
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
last change and instead change to
A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.

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

From-SVN: r234405
gcc/ChangeLog
gcc/genmatch.c
gcc/gimple-match-head.c
gcc/match.pd
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr70251.C [new file with mode: 0644]