aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2012-02-20 13:19:47 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2012-02-20 13:19:47 +0100
commit5a226e0af1d34600e38f02e3e84485db3f96b56c (patch)
tree37656215e21718bda37d1449687ef091d6ca5cd8 /gcc/testsuite/gcc.c-torture
parente992fc2e5d6ece7463384caa8c1e0a70cfe57e91 (diff)
downloadgcc-5a226e0af1d34600e38f02e3e84485db3f96b56c.zip
gcc-5a226e0af1d34600e38f02e3e84485db3f96b56c.tar.gz
gcc-5a226e0af1d34600e38f02e3e84485db3f96b56c.tar.bz2
re PR tree-optimization/52286 (wrong code bug)
PR tree-optimization/52286 * fold-const.c (fold_binary_loc): For (X & C1) | C2 optimization use double_int_to_tree instead of build_int_cst_wide, rewrite to use double_int vars. * gcc.c-torture/execute/pr52286.c: New test. From-SVN: r184391
Diffstat (limited to 'gcc/testsuite/gcc.c-torture')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr52286.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr52286.c b/gcc/testsuite/gcc.c-torture/execute/pr52286.c
new file mode 100644
index 0000000..003406d
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr52286.c
@@ -0,0 +1,14 @@
+/* PR tree-optimization/52286 */
+
+extern void abort (void);
+
+int
+main ()
+{
+ int a, b;
+ asm ("" : "=r" (a) : "0" (0));
+ b = (~a | 1) & -2038094497;
+ if (b >= 0)
+ abort ();
+ return 0;
+}