Commit 71cca289 by Jakub Jelinek Committed by Jakub Jelinek

re PR rtl-optimization/33148 (ICE in trunc_int_for_mode, at explow.c:56 during combine)

	PR rtl-optimization/33148
	* simplify-rtx.c (simplify_unary_operation_1): Only optimize
	(neg (lt X 0)) if X has scalar int mode.

	* gcc.c-torture/compile/20070827-1.c: New test.

From-SVN: r127855
parent a7d0852d
2007-08-28 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/33148
* simplify-rtx.c (simplify_unary_operation_1): Only optimize
(neg (lt X 0)) if X has scalar int mode.
PR debug/32914
* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
initializer, use build_vector_from_ctor if possible to create
......
......@@ -583,7 +583,8 @@ simplify_unary_operation_1 (enum rtx_code code, enum machine_mode mode, rtx op)
/* (neg (lt x 0)) is (ashiftrt X C) if STORE_FLAG_VALUE is 1. */
/* (neg (lt x 0)) is (lshiftrt X C) if STORE_FLAG_VALUE is -1. */
if (GET_CODE (op) == LT
&& XEXP (op, 1) == const0_rtx)
&& XEXP (op, 1) == const0_rtx
&& SCALAR_INT_MODE_P (GET_MODE (XEXP (op, 0))))
{
enum machine_mode inner = GET_MODE (XEXP (op, 0));
int isize = GET_MODE_BITSIZE (inner);
......
2007-08-28 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/33148
* gcc.c-torture/compile/20070827-1.c: New test.
PR debug/32914
* d++.dg/debug/const3.C: New test.
* d++.dg/debug/const4.C: New test.
/* PR rtl-optimization/33148 */
int
foo (unsigned int *p, int *q, unsigned int w, unsigned int b)
{
unsigned int i;
int mask;
if (q[0] < q[1])
mask = 0xff;
else
mask = 0;
for (i = 0; 8 * i < w; i++)
{
b ^= mask;
*p++ = b;
}
return 0;
}
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