diff options
author | Richard Biener <rguenth@gcc.gnu.org> | 2016-11-24 09:45:01 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-11-24 09:45:01 +0000 |
commit | c14988fe8db29759c6b82fa0947d06b978bc21c3 (patch) | |
tree | 65b152eb3a1d52bcaf5c31a5d23ba8d54eb53e0f /gcc | |
parent | 3884190f00c5817c09262fe188d623fb45ea03e6 (diff) | |
download | gcc-c14988fe8db29759c6b82fa0947d06b978bc21c3.zip gcc-c14988fe8db29759c6b82fa0947d06b978bc21c3.tar.gz gcc-c14988fe8db29759c6b82fa0947d06b978bc21c3.tar.bz2 |
re PR middle-end/71762 (~X & Y to X < Y doesn't work for uninitialized values)
2016-11-23 Richard Biener <rguenther@suse.de>
PR middle-end/71762
* match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X,
(~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove.
* gcc.dg/torture/pr71762-1.c: New testcase.
* gcc.dg/torture/pr71762-2.c: Likewise.
* gcc.dg/torture/pr71762-3.c: Likewise.
* gcc.dg/tree-ssa/forwprop-28.c: XFAIL.
From-SVN: r242822
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/forwprop-28.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-28.c b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-28.c index cc4f1f4..aa70678 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-28.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-28.c @@ -83,6 +83,8 @@ test_8 (int code) to a ordered compare. But the transform does not trigger if we transform the negated code == 22 compare to code != 22 first. It turns out if we do that we even generate better code on x86 at least. */ +/* ??? As PR71762 notices this transform causes wrong-code issues in RTL + with one uninitialized operand, thus it has been disabled. */ -/* { dg-final { scan-tree-dump-times "simplified to if \\\(\[^ ]* \[<>\]" 4 "forwprop1"} } */ +/* { dg-final { scan-tree-dump-times "simplified to if \\\(\[^ ]* \[<>\]" 4 "forwprop1" { xfail *-*-* } } } */ |