On 2/15/21 5:38 PM, Richard Henderson wrote: > 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.
Very nice :>