This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 1/2, x86] Add palignr support for AVX2.
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: Evgeny Stupachenko <evstupac at gmail dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, Richard Henderson <rth at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Biener <rguenther at suse dot de>
- Date: Wed, 1 Oct 2014 12:35:14 +0200
- Subject: Re: [PATCH 1/2, x86] Add palignr support for AVX2.
- Authentication-results: sourceware.org; auth=none
- References: <53FCB5ED dot 7040209 at redhat dot com> <CAOvf_xygAivauU2_s2dzCKt5nCZ_AbsTXOpj4u+ceg4ffvGhgA at mail dot gmail dot com> <CAOvf_xxr00v6dk=0EfS3ZETStdtT7OfczLD=xJs=-VGqc3nsdw at mail dot gmail dot com> <CAOvf_xw8+ojk8W6gP_eLBxdvT0rsTLmGsYKzGig4mJ7Y7xUmFA at mail dot gmail dot com> <CAMe9rOq-2yktd-BF89xRdh+xCnMwzSGSfz=atr83mcTU6_b8cg at mail dot gmail dot com> <CAOvf_xz4W7dn3F-VnWowSG211s8WcU2Qo_8+c1rcNAYwh-k7+g at mail dot gmail dot com> <CAMe9rOoaQ90P9wb4m5ch5W-bPh5-1xvmCMQnd9Sc9meoJ0unNQ at mail dot gmail dot com> <CAOvf_xxiLsTCZSEHJ8DLdD7kRHRTHHSjZXWyNPu3H-6xnSfCsA at mail dot gmail dot com> <CAOvf_xyNC1mRGNrM1kU_nNz_tO6_M4T8wox75D+zndhY5=TVAQ at mail dot gmail dot com> <CAFULd4bfOLW2kOmSndwK=LdNbUwHR1Ogds+5_AZ7j=tH=zu12w at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Oct 01, 2014 at 12:28:51PM +0200, Uros Bizjak wrote:
> On Wed, Oct 1, 2014 at 12:16 PM, Evgeny Stupachenko <evstupac@gmail.com> wrote:
> > Getting back to initial patch, is it ok?
>
> IMO, we should start with Jakub's proposed patch [1]
>
> [1] https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00010.html
That doesn't compile, will post a new version; got interrupted when
I found that in
GCC_TEST_RUN_EXPENSIVE=1 make check-gcc RUNTESTFLAGS='--target_board=unix/-mavx2 dg-torture.exp=vshuf*.c'
one test is miscompiled even with unpatched compiler, debugging that now.
That said, my patch will not do anything about the
case Mark mentioned { 1, 2, 3, ..., 31, 0 } permutation,
for that we can't do vpalignr followed by vpshufb or similar,
but need to do some permutation first and then vpalignr on
the result. So it would need a new routine. It is still a 2
insn permutation, not 6, and needs different algorithm, so sharing
the same routine for that is undesirable.
Jakub