On Fri, Dec 5, 2014 at 5:33 PM, Ilya Tocar <tocarip.in...@gmail.com> wrote: > On 04 Dec 15:16, Uros Bizjak wrote: >> On Thu, Dec 4, 2014 at 2:53 PM, Ilya Tocar <tocarip.in...@gmail.com> 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? >> >> If they are not on the same topic, then please yes. Please don't mix >> separate issues together. >> > OK. > Patch bellow adds variable v64qi permutations. > OK for trunk? > > (I plan to commit both of them simultaneously, if this part is approved) > > * config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Handle v64qi. > * config/i386/sse.md (VEC_PERM_AVX2): Add v64qi.
OK. Thanks, Uros.