A right shift is only signed for an ARS.
The signed_flag should only be set when the expression is signed
and an ARS is used a normal RS should never be signed.
(cherry picked from commit caab6cab9d)
This commit is contained in:
parent
17210d5423
commit
c56f21a20c
|
|
@ -602,7 +602,7 @@ NetNet* NetEBShift::synthesize(Design*des, NetScope*scope, NetExpr*root)
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool right_flag = op_ == 'r' || op_ == 'R';
|
const bool right_flag = op_ == 'r' || op_ == 'R';
|
||||||
const bool signed_flag = has_sign();
|
const bool signed_flag = has_sign() && op_ == 'R';
|
||||||
|
|
||||||
/* Detect the special case where the shift amount is
|
/* Detect the special case where the shift amount is
|
||||||
constant. Evaluate the shift amount, and simply reconnect
|
constant. Evaluate the shift amount, and simply reconnect
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue