Commit 172f4957 by David S. Miller Committed by David S. Miller

expmed.c (make_tree): Sign extend even if TREE_UNSIGNED...

	* expmed.c (make_tree) [CONST_INT]: Sign extend even if
	TREE_UNSIGNED, when bitsize of type's mode is larger than
	HOST_BITS_PER_WIDE_INT.

From-SVN: r21904
parent 553e1853
......@@ -3,6 +3,10 @@ Fri Aug 21 23:07:46 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
* config/sparc/sparc.md (TFmode splits): Handle destination
registers being referenced in the address correctly.
* expmed.c (make_tree) [CONST_INT]: Sign extend even if
TREE_UNSIGNED, when bitsize of type's mode is larger than
HOST_BITS_PER_WIDE_INT.
Fri Aug 21 19:31:31 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
......
......@@ -3767,7 +3767,9 @@ make_tree (type, x)
{
case CONST_INT:
t = build_int_2 (INTVAL (x),
TREE_UNSIGNED (type) || INTVAL (x) >= 0 ? 0 : -1);
(TREE_UNSIGNED (type)
&& (GET_MODE_BITSIZE (TYPE_MODE (type)) < HOST_BITS_PER_WIDE_INT))
|| INTVAL (x) >= 0 ? 0 : -1);
TREE_TYPE (t) = type;
return t;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment