Add a helper function for computing the width (in bits) of a type. Use when appropriate.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- include/tcg/tcg.h | 11 +++++++++++ tcg/optimize.c | 4 ++-- tcg/tcg.c | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h index 7669dc1c2db..2e005189344 100644 --- a/include/tcg/tcg.h +++ b/include/tcg/tcg.h @@ -164,6 +164,17 @@ static inline int tcg_type_size(TCGType t) return 4 << i; } +/** + * tcg_type_bits + * @t: type + * + * Return the size of the type in bits. + */ +static inline int tcg_type_bits(TCGType t) +{ + return 8 * tcg_type_size(t); +} + typedef tcg_target_ulong TCGArg; /* Define type and accessor macros for TCG variables. diff --git a/tcg/optimize.c b/tcg/optimize.c index 1e4d2a0a425..22e3c62ddf4 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1704,7 +1704,7 @@ static bool fold_deposit(OptContext *ctx, TCGOp *op) ti_const_val(t2))); } - width = 8 * tcg_type_size(ctx->type); + width = tcg_type_bits(ctx->type); type_mask = MAKE_64BIT_MASK(0, width); len_mask = MAKE_64BIT_MASK(0, len); @@ -2279,7 +2279,7 @@ static bool fold_multiply2(OptContext *ctx, TCGOp *op) op->args[0] = rh; op->args[1] = rl; op->args[2] = - arg_new_constant(ctx, tcg_type_size(ctx->type) * 8 - 1); + arg_new_constant(ctx, tcg_type_bits(ctx->type) - 1); return fold_shift(ctx, op); default: break; diff --git a/tcg/tcg.c b/tcg/tcg.c index ecc1f54c1bf..65d3190a8ed 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -2883,11 +2883,11 @@ void tcg_dump_ops(TCGContext *s, FILE *f, bool have_prefs) if (def->flags & TCG_OPF_INT) { col += ne_fprintf(f, " %s_i%d ", def->name, - 8 * tcg_type_size(TCGOP_TYPE(op))); + tcg_type_bits(TCGOP_TYPE(op))); } else if (def->flags & TCG_OPF_VECTOR) { col += ne_fprintf(f, "%s v%d,e%d,", def->name, - 8 * tcg_type_size(TCGOP_TYPE(op)), + tcg_type_bits(TCGOP_TYPE(op)), 8 << TCGOP_VECE(op)); } else { col += ne_fprintf(f, " %s ", def->name); -- 2.53.0
