re PR rtl-optimization/52170 (ICE in trunc_int_for_mode, at explow.c:57 during simplify_plus_minus)
2012-02-08 Richard Guenther <rguenther@suse.de> PR rtl-optimization/52170 * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to properly handle integer vector modes. * gcc.dg/torture/pr52170.c: New testcase. From-SVN: r184007
This commit is contained in:
parent
9e66e106ab
commit
ea72cc1dca
4 changed files with 29 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-02-08 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR rtl-optimization/52170
|
||||
* simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
|
||||
properly handle integer vector modes.
|
||||
|
||||
2012-02-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR gcov-profile/52150
|
||||
|
|
|
@ -3947,7 +3947,7 @@ simplify_plus_minus (enum rtx_code code, enum machine_mode mode, rtx op0,
|
|||
/* ~a -> (-a - 1) */
|
||||
if (n_ops != 7)
|
||||
{
|
||||
ops[n_ops].op = constm1_rtx;
|
||||
ops[n_ops].op = CONSTM1_RTX (mode);
|
||||
ops[n_ops++].neg = this_neg;
|
||||
ops[i].op = XEXP (this_op, 0);
|
||||
ops[i].neg = !this_neg;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-02-08 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR rtl-optimization/52170
|
||||
* gcc.dg/torture/pr52170.c: New testcase.
|
||||
|
||||
2012-02-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR gcov-profile/52150
|
||||
|
|
17
gcc/testsuite/gcc.dg/torture/pr52170.c
Normal file
17
gcc/testsuite/gcc.dg/torture/pr52170.c
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* { dg-do compile } */
|
||||
|
||||
typedef unsigned char uint8_t ;
|
||||
typedef unsigned long uint32_t;
|
||||
void f0a(uint32_t * result, uint32_t * arg1)
|
||||
{
|
||||
int idx;
|
||||
for (idx=0;idx<96;idx += 1)
|
||||
{
|
||||
uint8_t temp_5;
|
||||
uint8_t temp_6;
|
||||
|
||||
temp_5 = ~(*arg1);
|
||||
temp_6 = (*arg1) + 1 - temp_5;
|
||||
result[idx] = temp_6;
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue