Skip to content

Commit

Permalink
Change when SupportsAlignedAccessOnly flag is set
Browse files Browse the repository at this point in the history
SupportsAlignedAccessOnly flag is no longer set for 64 bit Power 9.
SupportsAlignedAccessOnly flag is no longer set for 64 bit BE Power 8.
SupportsAlignedAccessOnly flag is now set for 32 bit Power 7.

This is done to more accurately represent which cases have performance
issues with unaligned accesses.

Signed-off-by: jimmyk <jimmyk@ca.ibm.com>
  • Loading branch information
IBMJimmyk committed Nov 30, 2020
1 parent 70484c4 commit fac8431
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions compiler/p/codegen/OMRCodeGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -278,10 +278,11 @@ OMR::Power::CodeGenerator::initialize()
if (cg->is64BitProcessor())
cg->setSupportsInlinedAtomicLongVolatiles();

// Standard allows only offset multiple of 4
// TODO: either improves the query to be size-based or gets the offset into a register
if (comp->target().is64Bit())
if (!comp->target().cpu.isAtLeast(OMR_PROCESSOR_PPC_P9) &&
!(comp->target().cpu.isBigEndian() && comp->target().cpu.is(OMR_PROCESSOR_PPC_P8)))
{
cg->setSupportsAlignedAccessOnly();
}

// TODO: distinguishing among OOO and non-OOO implementations
if (comp->target().isSMP())
Expand Down

0 comments on commit fac8431

Please sign in to comment.