Re: [PATCH] Cleanup AVX2 vector/vector shifts (take 2)

2011-10-28 Thread Uros Bizjak
On Fri, Oct 28, 2011 at 10:57 AM, Jakub Jelinek wrote: > On Thu, Oct 27, 2011 at 10:07:13PM +0200, Uros Bizjak wrote: >> Please use expressive RTX forms for expanders, similar to the above >> define_insn RTX. You can avoid calling gen_avx2_lshrv at the end >> of c code. Also, expanders can have no

[PATCH] Cleanup AVX2 vector/vector shifts (take 2)

2011-10-28 Thread Jakub Jelinek
On Thu, Oct 27, 2011 at 10:07:13PM +0200, Uros Bizjak wrote: > Please use expressive RTX forms for expanders, similar to the above > define_insn RTX. You can avoid calling gen_avx2_lshrv at the end > of c code. Also, expanders can have nonimmediate_operand as operand 2 > and conditionally move it t

Re: [PATCH] Cleanup AVX2 vector/vector shifts

2011-10-27 Thread Uros Bizjak
On Thu, Oct 27, 2011 at 9:50 PM, Jakub Jelinek wrote: > Hi! > > This patch cleans up the vector/vector shifts, there is no need > to write them with lots of vec_selects/vec_concats etc. > Additionally, it hooks them up into the standard vlshr3, > vashl3 and vashr3 expanders so that the vectorizer

[PATCH] Cleanup AVX2 vector/vector shifts

2011-10-27 Thread Jakub Jelinek
Hi! This patch cleans up the vector/vector shifts, there is no need to write them with lots of vec_selects/vec_concats etc. Additionally, it hooks them up into the standard vlshr3, vashl3 and vashr3 expanders so that the vectorizer can use them. The V16QImode and V8HImode expanders XOP provides a