From a3ca1bc5bd6bdded34df1040fdb595c4de032071 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 22 Mar 2016 14:38:42 +0000 Subject: re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.) 2016-03-22 Richard Biener 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/gimple-match-head.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/gimple-match-head.c') diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c index 3e6d15f1b36..c86a4ffb0e3 100644 --- a/gcc/gimple-match-head.c +++ b/gcc/gimple-match-head.c @@ -38,6 +38,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-pass.h" #include "internal-fn.h" #include "case-cfn-macros.h" +#include "gimplify.h" /* Forward declarations of the private auto-generated matchers. -- cgit v1.2.3