[PATCH] Use *blendv* for sse_movcc/vcond/vcondu if possible

Jakub Jelinek jakub@redhat.com
Wed Sep 21 13:35:00 GMT 2011


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;
> > +       case V2DFmode: if (TARGET_SSE4_1) gen = gen_sse4_1_blendvpd; break;
> > +       case V16QImode: if (TARGET_SSE4_1) gen = gen_sse4_1_pblendvb; break;
> > +       case V8SFmode: if (TARGET_AVX) gen = gen_avx_blendvps256; break;
> > +       case V4DFmode: if (TARGET_AVX) gen = gen_avx_blendvpd256; break;
> > +       case V32QImode: if (TARGET_AVX2) gen = gen_avx2_pblendvb; break;
> > +       default: break;
> 
>   gen = NULL; here instead of break.
> 
> > +       }

gen is already initialized to NULL above (as the assignments
for other case labels are only conditional, it needs to be).
I didn't want to write like:
  gen = TARGET_SSE4_1 ? gen_sse4_1_blendvps : NULL;
  break;

> Please also add appropriate line breaks in the above code...

Sure, will do.

	Jakub



More information about the Gcc-patches mailing list