aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--frontends/ast/genrtlil.cc2
-rw-r--r--tests/simple/vloghammer.v7
2 files changed, 8 insertions, 1 deletions
diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc
index 7a9c8ba64..791ee9867 100644
--- a/frontends/ast/genrtlil.cc
+++ b/frontends/ast/genrtlil.cc
@@ -836,7 +836,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
case AST_TO_SIGNED:
case AST_TO_UNSIGNED: {
RTLIL::SigSpec sig = children[0]->genRTLIL();
- is_signed = type == AST_TO_SIGNED;
+ is_signed = sign_hint;
return sig;
}
diff --git a/tests/simple/vloghammer.v b/tests/simple/vloghammer.v
index 09987e7c9..eb0e15d02 100644
--- a/tests/simple/vloghammer.v
+++ b/tests/simple/vloghammer.v
@@ -50,3 +50,10 @@ module test07(a, b, y);
assign y = 2'b11 != a+b;
endmodule
+module test08(a, b, y);
+ input [1:0] a;
+ input [1:0] b;
+ output y;
+ assign y = a == ($signed(b) >>> 1);
+endmodule
+