Re: [RFC PATCH] Masked load/store vectorization

2012-11-20 Thread Hans-Peter Nilsson
On Tue, 20 Nov 2012, Jakub Jelinek wrote: > 2012-11-20 Jakub Jelinek > > * Makefile.in (tree-if-conv.o): Depend on $(TARGET_H), $(EXPR_H) > and $(OPTABS_H). > * config/i386/sse.md (maskload, maskstore): New expanders. (etc., new patterns, but nothing for md.texi) Missing docum

Re: [RFC PATCH] Masked load/store vectorization

2012-11-20 Thread Jakub Jelinek
On Tue, Nov 20, 2012 at 02:14:43PM +0400, Yuri Rumyantsev wrote: > As example of missed vectorization with chain of conditions I can > propose to to look at 462.libquantum. That is roughly: struct T { float __complex__ t1; unsigned long long t2; }; struct S { int s1; struct T *s2; }; voi

Re: [RFC PATCH] Masked load/store vectorization

2012-11-15 Thread Jakub Jelinek
On Wed, Nov 14, 2012 at 06:24:22PM +0400, Yuri Rumyantsev wrote: > I looked through your patch that looks good enough although it likely > must be improved to get better vectorization for AVX-2. One general > issue is that you introduced a new pass to undo if-conversion leading > to one restriction

RE: [RFC PATCH] Masked load/store vectorization

2012-11-14 Thread Yuri Rumyantsev
Hi Jakub, I looked through your patch that looks good enough although it likely must be improved to get better vectorization for AVX-2. One general issue is that you introduced a new pass to undo if-conversion leading to one restriction on if-conversion that prohibited to chain the conditions: /*

[RFC PATCH] Masked load/store vectorization

2012-11-02 Thread Jakub Jelinek
Hi! This is a RFC patch which implements masked (conditional) vector loads/stores roughly as discussed with richi (i.e. internal function calls, added during if-conversion pass, and if not vectorized removed after vectorization again). The if-unconversion pass is just very basic, I guess it could