On 10/07/2011 02:40 PM, Jakub Jelinek wrote:
> On Fri, Oct 07, 2011 at 02:13:40PM -0700, Richard Henderson wrote:
>> +(define_insn "*avx2_pblendw"
>> + [(set (match_operand:V16HI 0 "register_operand" "=x")
>> +(vec_merge:V16HI
>> + (match_operand:V16HI 2 "nonimmediate_operand" "xm")
>> +
On Fri, Oct 07, 2011 at 02:13:40PM -0700, Richard Henderson wrote:
> +(define_insn "*avx2_pblendw"
> + [(set (match_operand:V16HI 0 "register_operand" "=x")
> + (vec_merge:V16HI
> + (match_operand:V16HI 2 "nonimmediate_operand" "xm")
> + (match_operand:V16HI 1 "register_operand" "x
A representation with vec_merge and a 0..255 constant is incorrect.
Both 128-bit lanes are merged with the same pattern, thus the rtl-level
vec_merge operand should replicate the imm8 operand into two bytes.
I created an expander with the old name and old interface so that we
can continue using it