Re: [Qemu-devel] [PATCH v6 21/26] tcg: Add generic vector ops for multiplication

2017-12-05 Thread Kirill Batuzov
On Tue, 21 Nov 2017, Richard Henderson wrote:

> Signed-off-by: Richard Henderson 

> +void tcg_gen_mul_vec(unsigned vece, TCGv_vec r, TCGv_vec a, TCGv_vec b)
> +{
> +TCGTemp *rt = tcgv_vec_temp(r);
> +TCGTemp *at = tcgv_vec_temp(a);
> +TCGTemp *bt = tcgv_vec_temp(b);
> +TCGArg ri = temp_arg(rt);
> +TCGArg ai = temp_arg(at);
> +TCGArg bi = temp_arg(bt);
> +TCGType type = rt->base_type;
> +int can;
> +
> +tcg_debug_assert(at->base_type == type);
> +tcg_debug_assert(bt->base_type == type);
> +can = tcg_can_emit_vec_op(INDEX_op_cmp_vec, type, vece);

Should be INDEX_op_mul_vec in the line above.

> +if (can > 0) {
> +vec_gen_3(INDEX_op_mul_vec, type, vece, ri, ai, bi);
> +} else {
> +tcg_debug_assert(can < 0);
> +tcg_expand_vec_op(INDEX_op_mul_vec, type, vece, ri, ai, bi);
> +}
> +}

-- 
Kirill



Re: [Qemu-devel] [PATCH v6 21/26] tcg: Add generic vector ops for multiplication

2017-12-08 Thread Richard Henderson
On 12/05/2017 03:33 AM, Kirill Batuzov wrote:
> On Tue, 21 Nov 2017, Richard Henderson wrote:
> 
>> Signed-off-by: Richard Henderson 
> 
>> +void tcg_gen_mul_vec(unsigned vece, TCGv_vec r, TCGv_vec a, TCGv_vec b)
>> +{
>> +TCGTemp *rt = tcgv_vec_temp(r);
>> +TCGTemp *at = tcgv_vec_temp(a);
>> +TCGTemp *bt = tcgv_vec_temp(b);
>> +TCGArg ri = temp_arg(rt);
>> +TCGArg ai = temp_arg(at);
>> +TCGArg bi = temp_arg(bt);
>> +TCGType type = rt->base_type;
>> +int can;
>> +
>> +tcg_debug_assert(at->base_type == type);
>> +tcg_debug_assert(bt->base_type == type);
>> +can = tcg_can_emit_vec_op(INDEX_op_cmp_vec, type, vece);
> 
> Should be INDEX_op_mul_vec in the line above.

Fixed, thanks.


r~