On 2/14/21 9:58 AM, Philippe Mathieu-Daudé wrote: > +/* Parallel Subtract Byte */ > +static bool trans_PSUBB(DisasContext *ctx, arg_rtype *a) > +{ > + return trans_parallel_substract(ctx, a, 8); > +} > + > +/* Parallel Subtract Halfword */ > +static bool trans_PSUBH(DisasContext *ctx, arg_rtype *a) > +{ > + return trans_parallel_substract(ctx, a, 16); > +} > + > +/* Parallel Subtract Word */ > +static bool trans_PSUBW(DisasContext *ctx, arg_rtype *a) > +{ > + return trans_parallel_substract(ctx, a, 32); > +}
We already have helpers for these operations. Use your trans_parallel_logic with tcg_gen_vec_sub{8,16,32}_i64. r~