+2017-04-04 Jeff Law <law@redhat.com>
+
+ * config/mips/mips.c (mips_multi_add): Zero initialize the newly
+ added member.
+ (mips_expand_vec_perm_const): Initialize elements in orig_perm
+ that are not set by the loop over the elements.
+
2017-04-04 Jakub Jelinek <jakub@redhat.com>
PR target/80286
mips_multi_num_insns = 0;
}
-/* Add a new, uninitialized member to the current multi-insn sequence. */
+/* Add a new, zero initialized member to the current multi-insn sequence. */
static struct mips_multi_member *
mips_multi_add (void)
{
mips_multi_member empty;
+ memset (&empty, 0, sizeof (empty));
return mips_multi_members.safe_push (empty);
}
d.nelt = nelt = GET_MODE_NUNITS (d.vmode);
d.testing_p = false;
+ /* This is overly conservative, but ensures we don't get an
+ uninitialized warning on ORIG_PERM. */
+ memset (&orig_perm[nelt], 0, MAX_VECT_LEN);
for (i = which = 0; i < nelt; ++i)
{
rtx e = XVECEXP (sel, 0, i);