aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/PrimOps.scala
diff options
context:
space:
mode:
authorjackkoenig2016-03-10 01:23:14 -0800
committerjackkoenig2016-03-10 13:37:53 -0800
commit5737a8ccbf54a6d22095023205867e851e204c3f (patch)
tree3f701a02f28121568c53fac006185fb029328cdd /src/main/scala/firrtl/PrimOps.scala
parent3e3715dd68f202ade2d0d5216669eb6a45863e7a (diff)
Add support for right shift by amount larger than argument width
Diffstat (limited to 'src/main/scala/firrtl/PrimOps.scala')
-rw-r--r--src/main/scala/firrtl/PrimOps.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/PrimOps.scala b/src/main/scala/firrtl/PrimOps.scala
index 8a2865bb..ed3752f9 100644
--- a/src/main/scala/firrtl/PrimOps.scala
+++ b/src/main/scala/firrtl/PrimOps.scala
@@ -254,8 +254,8 @@ object PrimOps extends LazyLogging {
}
case SHIFT_RIGHT_OP => {
val t = (t1()) match {
- case (t1:UIntType) => UIntType(MINUS(w1(),c1()))
- case (t1:SIntType) => SIntType(MINUS(w1(),c1()))
+ case (t1:UIntType) => UIntType(MAX(MINUS(w1(),c1()),ONE))
+ case (t1:SIntType) => SIntType(MAX(MINUS(w1(),c1()),ONE))
case (t1) => UnknownType()
}
DoPrim(o,a,c,t)