On 09/21/2011 07:40 AM, Jakub Jelinek wrote:
> * config/i386/i386.c (ix86_expand_sse_movcc): Use
> blendvps, blendvpd and pblendvb if possible.
>
> * gcc.dg/vect/vect-cond-7.c: New test.
> * gcc.target/i386/sse4_1-cond-1.c: New test.
> * gcc.target/i386/avx-cond-1.c:
On Wed, Sep 21, 2011 at 07:25:43AM -0700, Richard Henderson wrote:
> On 09/21/2011 04:37 AM, Jakub Jelinek wrote:
> >op_false = force_reg (mode, op_false);
> > + switch (mode)
> > + {
> > + case V4SFmode: if (TARGET_SSE4_1) gen = gen_sse4_1_blendvps; break;
> > + case V2DFmode: i
On 09/21/2011 04:37 AM, Jakub Jelinek wrote:
>op_false = force_reg (mode, op_false);
> + switch (mode)
> + {
> + case V4SFmode: if (TARGET_SSE4_1) gen = gen_sse4_1_blendvps; break;
> + case V2DFmode: if (TARGET_SSE4_1) gen = gen_sse4_1_blendvpd; break;
> + case V16QImod
On Wed, Sep 21, 2011 at 02:02:44PM +0200, Uros Bizjak wrote:
> > + rtx (*gen) (rtx, rtx, rtx, rtx) = NULL;
> > +
> > op_false = force_reg (mode, op_false);
> > + switch (mode)
> > + {
> > + case V4SFmode: if (TARGET_SSE4_1) gen = gen_sse4_1_blendvps; break;
> > + c
On Wed, Sep 21, 2011 at 1:37 PM, Jakub Jelinek wrote:
> For vcond{,u} etc. we currently generate vpandn+vpand+vpor
> sequence but SSE4.1+ has instructions for at least some modes
> to handle those 3 in one instruction (haven't benchmarked how much
> faster/slower it is though).
>
> Bootstrapped/r