Additional fixes for undef propagation in concat and replicate ops
authorClifford Wolf <clifford@clifford.at>
Wed, 6 Nov 2013 20:16:54 +0000 (21:16 +0100)
committerClifford Wolf <clifford@clifford.at>
Wed, 6 Nov 2013 20:16:54 +0000 (21:16 +0100)
frontends/ast/genrtlil.cc

index d32b443479810a2bd3912f5673b83a93e84ec66d..f3ca0c787a971bdcb023509dd500dc54161c3bcd 100644 (file)
@@ -966,6 +966,8 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
                                        sig.width += s.chunks[i].width;
                                }
                        }
+                       if (sig.width < width_hint)
+                               sig.extend(width_hint, false);
                        return sig;
                }
 
@@ -979,6 +981,8 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
                        RTLIL::SigSpec sig;
                        for (int i = 0; i < count; i++)
                                sig.append(right);
+                       if (sig.width < width_hint)
+                               sig.extend(width_hint, false);
                        is_signed = false;
                        return sig;
                }