Re: [PATCH] Improve avx_vec_concat (PR target/90991)

2019-06-27 Thread Uros Bizjak
On Thu, Jun 27, 2019 at 8:17 AM Jakub Jelinek wrote: > > Hi! > > In the last two alternatives of avx_vec_concat, we can allow memory > source, which optimizes the following testcases from weird > vmovaps (%rdi), %xmm0 > vmovaps %xmm0, %xmm0 > and similar to just the first instructi

[PATCH] Improve avx_vec_concat (PR target/90991)

2019-06-26 Thread Jakub Jelinek
Hi! In the last two alternatives of avx_vec_concat, we can allow memory source, which optimizes the following testcases from weird vmovaps (%rdi), %xmm0 vmovaps %xmm0, %xmm0 and similar to just the first instruction. I went through all the gen_avx_vec_concat* users and all of them

Re: [PATCH] Improve avx_vec_concat

2016-06-07 Thread Kirill Yukhin
Hi Jakub, On 23 May 19:26, Jakub Jelinek wrote: > Hi! > > Not sure how to easily test these. > In any case, for the vinsert* case, we don't have vinserti128 nor > vinsertf128 in evex, so need to use vinsert[if]{64x4,32x4} or > for DQ {64x2,32x8}. For the case with zero in the other half, > we nee

[PATCH] Improve avx_vec_concat

2016-05-23 Thread Jakub Jelinek
Hi! Not sure how to easily test these. In any case, for the vinsert* case, we don't have vinserti128 nor vinsertf128 in evex, so need to use vinsert[if]{64x4,32x4} or for DQ {64x2,32x8}. For the case with zero in the other half, we need AVX512VL and it isn't guaranteed for the output operand, bec