This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, rs6000] Correct vector permute for little endian
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 6 Oct 2013 20:22:24 -0400
- Subject: Re: [PATCH, rs6000] Correct vector permute for little endian
- Authentication-results: sourceware.org; auth=none
- References: <1381080770 dot 6275 dot 11 dot camel at gnopaine>
On Sun, Oct 6, 2013 at 1:32 PM, Bill Schmidt
> This patch corrects the expansion of vec_perm_constv16qi for
> powerpc64le. The explanation of the problem with a detailed example
> appears in the commentary, as this corrects for what I found to be
> surprising behavior in the implementation of the vperm instruction, and
> I don't want any of us to spend time figuring that out again. (We may
> want to add a programming note in the next version of the ISA.)
> This corrects 18 failing tests in the test suite for the powerpc64le
> target, without affecting the big-endian targets. Bootstrapped and
> tested with no new regressions on powerpc64le-unknown-linux-gnu and
> powerpc64-unknown-linux-gnu. Ok for trunk?
> 2013-10-06 Bill Schmidt <firstname.lastname@example.org>
> * config/rs6000/rs6000.c (altivec_expand_vec_perm_const_le): New.
> (altivec_expand_vec_perm_const): Call it.