[PATCH x86] Enable v64qi permutations.

Ilya Tocar tocarip.intel@gmail.com
Thu Dec 4 13:58:00 GMT 2014


On 04 Dec 13:51, Uros Bizjak wrote:
> On Thu, Dec 4, 2014 at 1:45 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> > On Thu, Dec 4, 2014 at 1:04 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> >> On Thu, Dec 04, 2014 at 04:00:27AM -0800, H.J. Lu wrote:
> >>> >> Can you add a few testcases?
> >>> >
> >>> > Isn't it already covered by gcc.dg/torture/vshuf* ?
> >>> >
> >>>
> >>> I didn't see them fail on my machines today.
> >>
> >> Those are executable testcases, those better should not fail.
> >> The patch just improved code generation and the testcases test
> >> if the improved code generation works well.
> >> Did you mean some scan-assembler test that verifies the better code
> >> generation?  Guess it is possible, though fragile.
> >
> > I think that existing executable testcases adequately cover the
> > functionality of the patch.
> >
> > The patch is OK.
> 
> BTW, the ChangeLog is missing.
> 
	* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Handle v64qi.
	(expand_vec_perm_broadcast_1): Ditto.
	(expand_vec_perm_vpermi2_vpshub2): New.
	(ix86_expand_vec_perm_const_1): Use it.
	(ix86_vectorize_vec_perm_const_ok): Handle v64qi.
	* config/i386/sse.md (VEC_PERM_AVX2): Add v64qi.
	(VEC_PERM_CONST): Ditto.
> index ca5d720..6252e7e 100644
> --- a/gcc/config/i386/sse.md
> +++ b/gcc/config/i386/sse.md
> @@ -10678,7 +10678,7 @@
>     (V8SF "TARGET_AVX2") (V4DF "TARGET_AVX2")
>     (V16SF "TARGET_AVX512F") (V8DF "TARGET_AVX512F")
>     (V16SI "TARGET_AVX512F") (V8DI "TARGET_AVX512F")
> -   (V32HI "TARGET_AVX512BW")])
> +   (V32HI "TARGET_AVX512BW") (V64QI "TARGET_AVX512VBMI")])
> 
> I don't think change for VBMI target belongs in this patch.
>
Those changes enable non-const v64qi permutes
(via single vpermi2b insn), should I split them into separate patch?



More information about the Gcc-patches mailing list