Commit 170c56da by Jakub Jelinek Committed by Jakub Jelinek

expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2 wide volatile memory by parts.

	* expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
	wide volatile memory by parts.

	* gcc.c-torture/compile/20020304-2.c: New test.

From-SVN: r50314
parent 6d051694
2002-03-05 Jakub Jelinek <jakub@redhat.com>
* expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
wide volatile memory by parts.
2002-03-05 Jakub Jelinek <jakub@redhat.com>
* ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
is NULL.
......
......@@ -4278,7 +4278,8 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
the comparison into one involving a single word. */
if (GET_MODE_BITSIZE (mode) == BITS_PER_WORD * 2
&& GET_MODE_CLASS (mode) == MODE_INT
&& op1 == const0_rtx)
&& op1 == const0_rtx
&& (GET_CODE (op0) != MEM || ! MEM_VOLATILE_P (op0)))
{
if (code == EQ || code == NE)
{
......
......@@ -2,6 +2,8 @@
* gcc.dg/20020304-1.c: New test.
* gcc.c-torture/compile/20020304-2.c: New test.
2002-03-04 Zack Weinberg <zack@codesourcery.com>
* gcc.c-torture/compile/20020304-1.c: New test case
......
/* This testcase ICEd because a SUBREG of MEM/v was never
simplified. */
volatile unsigned long long *a;
unsigned char
foo (void)
{
unsigned char b = (*a != 0);
return b;
}
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