re PR rtl-optimization/53519 (ice in do_SUBST, at combine.c:707)
PR rtl-optimization/53519 * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR. * gcc.c-torture/compile/pr53519.c: New test. From-SVN: r188001
This commit is contained in:
parent
eea58adb13
commit
667c517b37
|
@ -1,3 +1,9 @@
|
||||||
|
2012-05-30 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/53519
|
||||||
|
* combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
|
||||||
|
instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
|
||||||
|
|
||||||
2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
|
2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
|
||||||
|
|
||||||
* config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
|
* config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
|
||||||
|
|
|
@ -10284,8 +10284,7 @@ simplify_shift_const_1 (enum rtx_code code, enum machine_mode result_mode,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Make this fit the case below. */
|
/* Make this fit the case below. */
|
||||||
varop = gen_rtx_XOR (mode, XEXP (varop, 0),
|
varop = gen_rtx_XOR (mode, XEXP (varop, 0), constm1_rtx);
|
||||||
GEN_INT (GET_MODE_MASK (mode)));
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
case IOR:
|
case IOR:
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-05-30 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/53519
|
||||||
|
* gcc.c-torture/compile/pr53519.c: New test.
|
||||||
|
|
||||||
2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
|
2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
|
||||||
|
|
||||||
* gcc.target/arm/neon-vrev.c: New.
|
* gcc.target/arm/neon-vrev.c: New.
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/* PR rtl-optimization/53519 */
|
||||||
|
|
||||||
|
int a, b, c, d, e;
|
||||||
|
|
||||||
|
short int
|
||||||
|
foo (short int x)
|
||||||
|
{
|
||||||
|
return a == 0 ? x : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
short int
|
||||||
|
bar (int x, int y)
|
||||||
|
{
|
||||||
|
return x + y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
baz (void)
|
||||||
|
{
|
||||||
|
if (!e)
|
||||||
|
{
|
||||||
|
int f = foo (65535 ^ b);
|
||||||
|
if (bar (!6L <= ~f, ~e) == c)
|
||||||
|
d = 0;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue