Skip to content

Commit

Permalink
Update vsplats evaluator to use LoadStoreHandler
Browse files Browse the repository at this point in the history
Signed-off-by: Ben Thomas <ben@benthomas.ca>
  • Loading branch information
aviansie-ben committed Feb 11, 2021
1 parent 362af1b commit b403050
Showing 1 changed file with 3 additions and 12 deletions.
15 changes: 3 additions & 12 deletions compiler/p/codegen/FPTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -605,19 +605,10 @@ TR::Register *OMR::Power::TreeEvaluator::vsplatsEvaluator(TR::Node *node, TR::Co
cg->decReferenceCount(child);
return resReg;
}
else if (child->getRegister() == NULL &&
child->getOpCode().isLoadVar())
else if (!child->getRegister() && child->getReferenceCount() == 1 && child->getOpCode().isLoadVar())
{
if (child->getReferenceCount() > 1)
{
TR::Node *newNode = child->duplicateTree(false);

cg->evaluate(child);
cg->decReferenceCount(child);
child = newNode;
}

return TR::TreeEvaluator::dloadHelper(child, cg, resReg, TR::InstOpCode::lxvdsx);
TR::LoadStoreHandler::generateLoadNodeSequence(cg, resReg, child, TR::InstOpCode::lxvdsx, 8, true);
return resReg;
}
else
{
Expand Down

0 comments on commit b403050

Please sign in to comment.