rs6000: fix for PR61396 (wide-int fallout)
CONSTANT_P is true for more than just all kinds of constant number. This patch undoes that part of the wide-int patches. From-SVN: r212932
This commit is contained in:
parent
d10ee722fd
commit
b50a9d3894
|
@ -1,3 +1,10 @@
|
||||||
|
2014-07-23 Segher Boessenkool <segher@kernel.crashing.org>
|
||||||
|
|
||||||
|
PR target/61396
|
||||||
|
* config/rs6000/rs6000.c (paired_expand_vector_init): Only allow
|
||||||
|
constant numbers, not general constants.
|
||||||
|
(rs6000_expand_vector_init): Ditto.
|
||||||
|
|
||||||
2014-07-23 Nathan Sidwell <nathan@acm.org>
|
2014-07-23 Nathan Sidwell <nathan@acm.org>
|
||||||
|
|
||||||
* gcov-tool.c (gcov_list): Declare here.
|
* gcov-tool.c (gcov_list): Declare here.
|
||||||
|
|
|
@ -5320,7 +5320,7 @@ paired_expand_vector_init (rtx target, rtx vals)
|
||||||
for (i = 0; i < n_elts; ++i)
|
for (i = 0; i < n_elts; ++i)
|
||||||
{
|
{
|
||||||
x = XVECEXP (vals, 0, i);
|
x = XVECEXP (vals, 0, i);
|
||||||
if (!CONSTANT_P (x))
|
if (!(CONST_SCALAR_INT_P (x) || CONST_DOUBLE_P (x) || CONST_FIXED_P (x)))
|
||||||
++n_var;
|
++n_var;
|
||||||
}
|
}
|
||||||
if (n_var == 0)
|
if (n_var == 0)
|
||||||
|
@ -5472,7 +5472,7 @@ rs6000_expand_vector_init (rtx target, rtx vals)
|
||||||
for (i = 0; i < n_elts; ++i)
|
for (i = 0; i < n_elts; ++i)
|
||||||
{
|
{
|
||||||
x = XVECEXP (vals, 0, i);
|
x = XVECEXP (vals, 0, i);
|
||||||
if (!CONSTANT_P (x))
|
if (!(CONST_SCALAR_INT_P (x) || CONST_DOUBLE_P (x) || CONST_FIXED_P (x)))
|
||||||
++n_var, one_var = i;
|
++n_var, one_var = i;
|
||||||
else if (x != CONST0_RTX (inner_mode))
|
else if (x != CONST0_RTX (inner_mode))
|
||||||
all_const_zero = false;
|
all_const_zero = false;
|
||||||
|
|
Loading…
Reference in New Issue