diff --git a/dataflowAPI/rose/semantics/BaseSemantics2.C b/dataflowAPI/rose/semantics/BaseSemantics2.C index 3d088e1979..a8c748eaeb 100644 --- a/dataflowAPI/rose/semantics/BaseSemantics2.C +++ b/dataflowAPI/rose/semantics/BaseSemantics2.C @@ -696,6 +696,10 @@ Dispatcher::read(SgAsmExpression *e, size_t value_nbits/*=0*/, size_t addr_nbits SgAsmExpression *rhs = lshift->get_rhs(); size_t nbits = std::max(lhs->get_nBits(), rhs->get_nBits()); retval = operators->shiftLeft(read(lhs, lhs->get_nBits()), read(rhs, rhs->get_nBits())); + } else if(SgAsmBinaryAsr *asr = isSgAsmBinaryAsr(e)) { + SgAsmExpression *lhs = asr->get_lhs(); + SgAsmExpression *rhs = asr->get_rhs(); + retval = operators->shiftRightArithmetic(read(lhs, lhs->get_nBits()), read(rhs, rhs->get_nBits())); } else { ASSERT_not_implemented(e->class_name()); }