Skip to content

Commit

Permalink
Merge pull request #8323 from aviansie-ben/power-imm-out-of-range
Browse files Browse the repository at this point in the history
Fix several out-of-range immediates in the Power codegen
  • Loading branch information
gita-omr committed Jan 30, 2020
2 parents ea83152 + 0dae5cf commit f4b1ae2
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions runtime/compiler/p/codegen/J9TreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2423,7 +2423,7 @@ TR::Register *J9::Power::TreeEvaluator::BNDCHKEvaluator(TR::Node *node, TR::Code
conditions = new (cg->trHeapMemory()) TR::RegisterDependencyConditions(4, 4, cg->trMemory());
}

if (firstChild->getOpCode().isLoadConst() && firstChild->getInt() <= UPPER_IMMED && firstChild->getRegister() == NULL && !noReversedTrap)
if (firstChild->getOpCode().isLoadConst() && firstChild->getInt() >= LOWER_IMMED && firstChild->getInt() <= UPPER_IMMED && firstChild->getRegister() == NULL && !noReversedTrap)
{
src2Reg = cg->evaluate(secondChild);
reversed = true;
Expand Down Expand Up @@ -5735,7 +5735,7 @@ reservationLockExit(TR::Node *node, int32_t lwOffset, TR::Register *objectClassR
generateConditionalBranchInstruction(cg, TR::InstOpCode::bne, node, doneLabel, cndReg);
else
generateConditionalBranchInstruction(cg, TR::InstOpCode::beq, node, callLabel, cndReg);
generateTrg1Src1ImmInstruction(cg, TR::InstOpCode::addi, node, monitorReg, monitorReg, (isPrimitive ? LOCK_INC_DEC_VALUE : -LOCK_INC_DEC_VALUE) & 0x0000FFFF);
generateTrg1Src1ImmInstruction(cg, TR::InstOpCode::addi, node, monitorReg, monitorReg, isPrimitive ? LOCK_INC_DEC_VALUE : -LOCK_INC_DEC_VALUE);
generateMemSrc1Instruction(cg, lockSize == 8 ? TR::InstOpCode::std : TR::InstOpCode::stw, node, new (cg->trHeapMemory()) TR::MemoryReference(objReg, lwOffset, lockSize, cg), monitorReg);
if (!isPrimitive)
generateLabelInstruction(cg, TR::InstOpCode::b, node, doneLabel);
Expand Down

0 comments on commit f4b1ae2

Please sign in to comment.