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>
|
||||
|
||||
* 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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
if (n_var == 0)
|
||||
|
@ -5472,7 +5472,7 @@ rs6000_expand_vector_init (rtx target, rtx vals)
|
|||
for (i = 0; i < n_elts; ++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;
|
||||
else if (x != CONST0_RTX (inner_mode))
|
||||
all_const_zero = false;
|
||||
|
|
Loading…
Reference in New Issue