mirror of git://gcc.gnu.org/git/gcc.git
sparc.c (sparc_expand_vector_init): Only accept literal constants in CONST_VECTORs.
* config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal constants in CONST_VECTORs. From-SVN: r241218
This commit is contained in:
parent
6c0347f607
commit
855db69891
|
|
@ -1,3 +1,8 @@
|
||||||
|
2016-10-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
|
||||||
|
constants in CONST_VECTORs.
|
||||||
|
|
||||||
2016-10-15 Eric Botcazou <ebotcazou@adacore.com>
|
2016-10-15 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
|
* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
|
||||||
|
|
|
||||||
|
|
@ -12366,14 +12366,13 @@ sparc_expand_vector_init (rtx target, rtx vals)
|
||||||
const machine_mode inner_mode = GET_MODE_INNER (mode);
|
const machine_mode inner_mode = GET_MODE_INNER (mode);
|
||||||
const int n_elts = GET_MODE_NUNITS (mode);
|
const int n_elts = GET_MODE_NUNITS (mode);
|
||||||
int i, n_var = 0;
|
int i, n_var = 0;
|
||||||
bool all_same;
|
bool all_same = true;
|
||||||
rtx mem;
|
rtx mem;
|
||||||
|
|
||||||
all_same = true;
|
|
||||||
for (i = 0; i < n_elts; i++)
|
for (i = 0; i < n_elts; i++)
|
||||||
{
|
{
|
||||||
rtx x = XVECEXP (vals, 0, i);
|
rtx 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 (i > 0 && !rtx_equal_p (x, XVECEXP (vals, 0, 0)))
|
if (i > 0 && !rtx_equal_p (x, XVECEXP (vals, 0, 0)))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue