From: geoffk Date: Mon, 17 Jul 2000 08:41:05 +0000 (+0000) Subject: * simplify-rtx.c (simplify_relational_operation): Two signed X-Git-Tag: upstream/4.9.2~100301 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bf74200c1ce7629e4709746d49ff57ec7052b8d4;p=platform%2Fupstream%2Flinaro-gcc.git * simplify-rtx.c (simplify_relational_operation): Two signed values with equal high words are less/greater than each other if their low words are less/greater when considered as unsigned. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35080 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 163e83e..0d81edd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-07-17 Geoffrey Keating + + * simplify-rtx.c (simplify_relational_operation): Two signed + values with equal high words are less/greater than each other if + their low words are less/greater when considered as unsigned. + Mon Jul 17 02:37:06 2000 Marc Espie * configure.in (vax-*-openbsd): Change to new style configuration, diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 4a7a3a6..7426949 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -1792,8 +1792,8 @@ simplify_relational_operation (code, mode, op0, op1) } equal = (h0u == h1u && l0u == l1u); - op0lt = (h0s < h1s || (h0s == h1s && l0s < l1s)); - op1lt = (h1s < h0s || (h1s == h0s && l1s < l0s)); + op0lt = (h0s < h1s || (h0s == h1s && l0u < l1u)); + op1lt = (h1s < h0s || (h1s == h0s && l1u < l0u)); op0ltu = (h0u < h1u || (h0u == h1u && l0u < l1u)); op1ltu = (h1u < h0u || (h1u == h0u && l1u < l0u)); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5fd67e3..6c7e322 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-07-17 Geoffrey Keating + + * gcc.c-torture/execute/20000717-2.c: New test. + 2000-07-17 Joseph S. Myers * gcc.dg/c90-digraph-1.c, gcc.dg/c94-digraph.c, diff --git a/gcc/testsuite/gcc.c-torture/execute/20000717-2.c b/gcc/testsuite/gcc.c-torture/execute/20000717-2.c new file mode 100644 index 0000000..4db9032 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20000717-2.c @@ -0,0 +1,11 @@ +static void +compare (long long foo) +{ + if (foo < 4294967297LL) + abort(); +} +int main(void) +{ + compare (8589934591LL); + exit (0); +}