On Mon, Aug 16, 2021 at 01:18:38PM +0800, liuhongt via Gcc-patches wrote: > + /* Accept VNxHImode and VNxQImode now. */ > + if (!TARGET_AVX512VL && GET_MODE_SIZE (mode) < 64) > + return false; > + > + /* vpermw. */ > + if (!TARGET_AVX512BW && inner_size == 2) > + return false; > + > + /* vpermb. */
Too many spaces after dot. > @@ -18301,7 +18380,7 @@ expand_vec_perm_1 (struct expand_vec_perm_d *d) > if (expand_vec_perm_palignr (d, true)) > return true; > > - /* Try the AVX512F vperm{s,d} instructions. */ > + /* Try the AVX512F vperm{w,b,s,d} and instructions */ What is the " and" doing there? > + /* Check that the permutation is suitable for pmovz{bw,wd,dq}. > + For example V16HImode to V8HImode > + { 0 2 4 6 8 10 12 14 * * * * * * * * }. */ > + for (int i = 0; i != nelt/2; i++) nelt / 2 please Otherwise LGTM. Jakub