re PR rtl-optimization/17099 (Bootstrap failure on powerpc64-redhat-linux)

PR rtl-optimization/17099
	* combine.c (force_to_mode): Check if inner_mask has any bits set
	outside of GET_MODE (x) instead of op_mode.

	* gcc.c-torture/execute/20040820-1.c: New test.

From-SVN: r86339
This commit is contained in:
Jakub Jelinek 2004-08-20 22:52:22 +02:00 committed by Jakub Jelinek
parent 87c2399d89
commit f3b2657c01
4 changed files with 37 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2004-08-20 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/17099
* combine.c (force_to_mode): Check if inner_mask has any bits set
outside of GET_MODE (x) instead of op_mode.
2004-08-20 Mark Mitchell <mark@codesourcery.com>
* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile

View File

@ -7151,9 +7151,8 @@ force_to_mode (rtx x, enum machine_mode mode, unsigned HOST_WIDE_INT mask,
/* We can only change the mode of the shift if we can do arithmetic
in the mode of the shift and INNER_MASK is no wider than the
width of OP_MODE. */
if (GET_MODE_BITSIZE (op_mode) > HOST_BITS_PER_WIDE_INT
|| (inner_mask & ~GET_MODE_MASK (op_mode)) != 0)
width of X's mode. */
if ((inner_mask & ~GET_MODE_MASK (GET_MODE (x))) != 0)
op_mode = GET_MODE (x);
inner = force_to_mode (inner, op_mode, inner_mask, reg, next_select);

View File

@ -1,3 +1,8 @@
2004-08-20 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/17099
* gcc.c-torture/execute/20040820-1.c: New test.
2004-08-20 David Edelsohn <edelsohn@gnu.org>
* gcc.dg/uninit-H.c: Add _POWER to powerpc case.

View File

@ -0,0 +1,24 @@
/* PR rtl-optimization/17099 */
extern void exit (int);
extern void abort (void);
void
check (int a)
{
if (a != 1)
abort ();
}
void
test (int a, int b)
{
check ((a ? 1 : 0) | (b ? 2 : 0));
}
int
main (void)
{
test (1, 0);
exit (0);
}