simplify-rtx.c (simplify_relational_operation): Two signed values with equal high words are less/greater than each other if...

* 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.

From-SVN: r35080
This commit is contained in:
Geoff Keating 2000-07-17 08:41:05 +00:00 committed by Geoffrey Keating
parent 97f2b269a2
commit 3b15076f36
4 changed files with 23 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
* 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 <espie@openbsd.org> Mon Jul 17 02:37:06 2000 Marc Espie <espie@openbsd.org>
* configure.in (vax-*-openbsd): Change to new style configuration, * configure.in (vax-*-openbsd): Change to new style configuration,

View File

@ -1792,8 +1792,8 @@ simplify_relational_operation (code, mode, op0, op1)
} }
equal = (h0u == h1u && l0u == l1u); equal = (h0u == h1u && l0u == l1u);
op0lt = (h0s < h1s || (h0s == h1s && l0s < l1s)); op0lt = (h0s < h1s || (h0s == h1s && l0u < l1u));
op1lt = (h1s < h0s || (h1s == h0s && l1s < l0s)); op1lt = (h1s < h0s || (h1s == h0s && l1u < l0u));
op0ltu = (h0u < h1u || (h0u == h1u && l0u < l1u)); op0ltu = (h0u < h1u || (h0u == h1u && l0u < l1u));
op1ltu = (h1u < h0u || (h1u == h0u && l1u < l0u)); op1ltu = (h1u < h0u || (h1u == h0u && l1u < l0u));
} }

View File

@ -1,3 +1,7 @@
2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
* gcc.c-torture/execute/20000717-2.c: New test.
2000-07-17 Joseph S. Myers <jsm28@cam.ac.uk> 2000-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
* gcc.dg/c90-digraph-1.c, gcc.dg/c94-digraph.c, * gcc.dg/c90-digraph-1.c, gcc.dg/c94-digraph.c,

View File

@ -0,0 +1,11 @@
static void
compare (long long foo)
{
if (foo < 4294967297LL)
abort();
}
int main(void)
{
compare (8589934591LL);
exit (0);
}