diff options
author | Jeff Law <law@redhat.com> | 2017-04-04 09:30:30 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2017-04-04 09:30:30 -0600 |
commit | 8734bc723261fe8a0ba3b354f94519dfa60562ce (patch) | |
tree | 2783bdd517b78d6a7888e6b330b6530af2bd5508 | |
parent | e43073896c5c778e1c509de365d63801909c2076 (diff) | |
download | gcc-8734bc723261fe8a0ba3b354f94519dfa60562ce.zip gcc-8734bc723261fe8a0ba3b354f94519dfa60562ce.tar.gz gcc-8734bc723261fe8a0ba3b354f94519dfa60562ce.tar.bz2 |
mips.c (mips_multi_add): Zero initialize the newly added member.
* 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.
From-SVN: r246681
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66d6cb7..c207588 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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 diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 42943e0..b35fba7 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -4574,12 +4574,13 @@ mips_multi_start (void) 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); } @@ -21355,6 +21356,9 @@ mips_expand_vec_perm_const (rtx operands[4]) 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); |