Commit 855db698 by Eric Botcazou Committed by Eric Botcazou

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
parent 6c0347f6
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) ...@@ -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)))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment