mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 19:09:44 +08:00
cse.c (simplify_relational_operation): If MODE specifies a mode wider than HOST_WIDE_INT...
* cse.c (simplify_relational_operation): If MODE specifies a mode wider than HOST_WIDE_INT, then the high word of a CONST_INT is derived from the sign bit of the low word. Brought over from r5900 branch. From-SVN: r15454
This commit is contained in:
parent
dcb9d1f061
commit
05ef889761
@ -1,3 +1,9 @@
|
||||
Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* cse.c (simplify_relational_operation): If MODE specifies a
|
||||
mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
|
||||
is derived from the sign bit of the low word.
|
||||
|
||||
1997-09-15 Brendan Kehoe <brendan@cygnus.com>
|
||||
|
||||
* except.c (find_exception_handler_labels): Use xmalloc instead of
|
||||
|
18
gcc/cse.c
18
gcc/cse.c
@ -4482,7 +4482,14 @@ simplify_relational_operation (code, mode, op0, op1)
|
||||
else
|
||||
{
|
||||
l0u = l0s = INTVAL (op0);
|
||||
h0u = 0, h0s = l0s < 0 ? -1 : 0;
|
||||
h0s = l0s < 0 ? -1 : 0;
|
||||
/* If WIDTH is nonzero and larger than HOST_BITS_PER_WIDE_INT,
|
||||
then the high word is derived from the sign bit of the low
|
||||
word, else the high word is zero. */
|
||||
if (width != 0 && width > HOST_BITS_PER_WIDE_INT)
|
||||
h0u = l0s < 0 ? -1 : 0;
|
||||
else
|
||||
h0u = 0;
|
||||
}
|
||||
|
||||
if (GET_CODE (op1) == CONST_DOUBLE)
|
||||
@ -4493,7 +4500,14 @@ simplify_relational_operation (code, mode, op0, op1)
|
||||
else
|
||||
{
|
||||
l1u = l1s = INTVAL (op1);
|
||||
h1u = 0, h1s = l1s < 0 ? -1 : 0;
|
||||
h1s = l1s < 0 ? -1 : 0;
|
||||
/* If WIDTH is nonzero and larger than HOST_BITS_PER_WIDE_INT,
|
||||
then the high word is derived from the sign bit of the low
|
||||
word, else the high word is zero. */
|
||||
if (width != 0 && width > HOST_BITS_PER_WIDE_INT)
|
||||
h1u = l1s < 0 ? -1 : 0;
|
||||
else
|
||||
h1u = 0;
|
||||
}
|
||||
|
||||
/* If WIDTH is nonzero and smaller than HOST_BITS_PER_WIDE_INT,
|
||||
|
Loading…
Reference in New Issue
Block a user