From 760d8efd535764e54500bf65a944ed3f2a54c123 Mon Sep 17 00:00:00 2001 From: Serban Constantinescu Date: Sat, 28 Mar 2015 18:09:56 +0000 Subject: Opt Compiler: ARM64 goodness This patch: * Switches on PreferAcquireRelease() (used to decide if load/store volatile should use acquire release-semantics or explicit memory barriers). Note that for ARMv8 CPUs we should always prefer this (as proved by synthetic benchmarks on A53, A57 and Denver). * Enables the use of constants for HBoundsCheck Change-Id: I42524451772c05a1c74af73e97a59a95f49ba6d4 Signed-off-by: Serban Constantinescu --- compiler/optimizing/common_arm64.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/common_arm64.h') diff --git a/compiler/optimizing/common_arm64.h b/compiler/optimizing/common_arm64.h index 966165bf4c..53f1f3c45c 100644 --- a/compiler/optimizing/common_arm64.h +++ b/compiler/optimizing/common_arm64.h @@ -194,7 +194,8 @@ static bool CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* inst int64_t value = CodeGenerator::GetInt64ValueOf(constant); - if (instr->IsAdd() || instr->IsSub() || instr->IsCondition() || instr->IsCompare()) { + if (instr->IsAdd() || instr->IsSub() || instr->IsCondition() || + instr->IsCompare() || instr->IsBoundsCheck()) { // Uses aliases of ADD/SUB instructions. return vixl::Assembler::IsImmAddSub(value); } else if (instr->IsAnd() || instr->IsOr() || instr->IsXor()) { -- cgit v1.2.3-59-g8ed1b