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