summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaHash.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-09-28 20:19:53 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-09-28 20:19:53 -0700
commit5f97f5cffa90f2e289e572ffb233cec70d63a64d (patch)
tree3507a8b465b557e279600f221b6af1f3c82dbc7e /src/aig/gia/giaHash.c
parent61ee156b72a0bc61aa4f422f1af469c486025d81 (diff)
downloadabc-5f97f5cffa90f2e289e572ffb233cec70d63a64d.tar.gz
abc-5f97f5cffa90f2e289e572ffb233cec70d63a64d.tar.bz2
abc-5f97f5cffa90f2e289e572ffb233cec70d63a64d.zip
New logic sharing extraction.
Diffstat (limited to 'src/aig/gia/giaHash.c')
-rw-r--r--src/aig/gia/giaHash.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/aig/gia/giaHash.c b/src/aig/gia/giaHash.c
index eb89a9cd..f7253c51 100644
--- a/src/aig/gia/giaHash.c
+++ b/src/aig/gia/giaHash.c
@@ -527,6 +527,10 @@ int Gia_ManHashMuxReal( Gia_Man_t * p, int iLitC, int iLit1, int iLit0 )
assert( iLit0 > 1 && iLit1 > 1 && iLitC > 1 );
if ( iLit0 == iLit1 )
return iLit0;
+ if ( iLitC == iLit0 || iLitC == Abc_LitNot(iLit1) )
+ return Gia_ManHashAnd(p, iLit0, iLit1);
+ if ( iLitC == iLit1 || iLitC == Abc_LitNot(iLit0) )
+ return Gia_ManHashOr(p, iLit0, iLit1);
if ( Abc_Lit2Var(iLit0) == Abc_Lit2Var(iLit1) )
return Gia_ManHashXorReal( p, iLitC, iLit0 );
if ( iLit0 > iLit1 )