From 11f4e71dd07e3a528917599654e64c1ea4c2e9c2 Mon Sep 17 00:00:00 2001 From: Cary R Date: Tue, 1 Dec 2020 00:00:34 -0800 Subject: [PATCH] Fix the vlog95 -> and <-> expression code for wide results --- tgt-vlog95/expr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tgt-vlog95/expr.c b/tgt-vlog95/expr.c index e74440b284..3b6a186239 100644 --- a/tgt-vlog95/expr.c +++ b/tgt-vlog95/expr.c @@ -501,15 +501,18 @@ static void emit_expr_binary(ivl_scope_t scope, ivl_expr_t expr, unsigned wid, emit_expr(scope, oper2, ivl_expr_width(oper2), 0, 1, 0); break; case 'q': // The arguments have already been reduced - fprintf(vlog_out, "~"); + fprintf(vlog_out, "{~"); emit_expr(scope, oper1, ivl_expr_width(oper1), 0, 1, 0); fprintf(vlog_out, " | "); emit_expr(scope, oper2, ivl_expr_width(oper2), 0, 1, 0); + fprintf(vlog_out, "}"); break; case 'Q': // The arguments have already been reduced + fprintf(vlog_out, "{"); emit_expr(scope, oper1, ivl_expr_width(oper1), 0, 1, 0); fprintf(vlog_out, " ~^ "); emit_expr(scope, oper2, ivl_expr_width(oper2), 0, 1, 0); + fprintf(vlog_out, "}"); break; case 'R': if (! allow_signed) {