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 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;
> +     }

pblendvb is applicable to all of the integer modes, not just QImode.
You do have to frob the modes around, but it'll work.


r~

Reply via email to