This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH], PR target/72717, Fix PowerPC abort in emit_move_insn from rs6000_expand_vector_init
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Michael Meissner <meissner at linux dot vnet dot ibm dot com>, gcc-patches at gcc dot gnu dot org, David Edelsohn <dje dot gcc at gmail dot com>, Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- Date: Wed, 7 Dec 2016 05:15:13 -0600
- Subject: Re: [PATCH], PR target/72717, Fix PowerPC abort in emit_move_insn from rs6000_expand_vector_init
- Authentication-results: sourceware.org; auth=none
- References: <20161207054312.GA22122@ibm-tiger.the-meissners.org>
Hi Mike,
On Wed, Dec 07, 2016 at 12:43:12AM -0500, Michael Meissner wrote:
> I did a build on a little endian Power8 system and ran make check. There were
> no regressions. Can I check it in the trunk?
>
> The bug also shows up in GCC 6, and I would like to install it into GCC 6 as
> well.
> Index: gcc/config/rs6000/rs6000.c
> ===================================================================
> --- gcc/config/rs6000/rs6000.c (revision 243318)
> +++ gcc/config/rs6000/rs6000.c (working copy)
> @@ -6891,25 +6891,43 @@ rs6000_expand_vector_init (rtx target, r
> /* Double word values on VSX can use xxpermdi or lxvdsx. */
> if (VECTOR_MEM_VSX_P (mode) && (mode == V2DFmode || mode == V2DImode))
> {
> - rtx op0 = XVECEXP (vals, 0, 0);
> - rtx op1 = XVECEXP (vals, 0, 1);
> + rtx op[2];
> + size_t i;
> + size_t num_elements = (all_same) ? 1 : 2;
No parens here please.
Rest looks fine, please check in. Okay for 6 too, after some delay
(making sure it works on BE and 32-bit and AIX, etc.)
Thanks,
Segher