summaryrefslogtreecommitdiffstats
path: root/compiler/dex/quick/arm64/codegen_arm64.h
diff options
context:
space:
mode:
authorMatteo Franchin <matteo.franchin@arm.com>2014-07-04 12:53:27 +0100
committerAndreas Gampe <agampe@google.com>2014-08-04 16:21:18 -0700
commitc763e350da562b0c6bebf10599588d4901140e45 (patch)
tree292a26d26b4f5c49c6b255dda305772f812fe648 /compiler/dex/quick/arm64/codegen_arm64.h
parentc7975a33b9c8fb36e85c41162462aeec8e76232a (diff)
downloadart-c763e350da562b0c6bebf10599588d4901140e45.zip
art-c763e350da562b0c6bebf10599588d4901140e45.tar.gz
art-c763e350da562b0c6bebf10599588d4901140e45.tar.bz2
AArch64: Implement InexpensiveConstant methods.
Implement IsInexpensiveConstant and friends for A64. Also extending the methods to take the opcode with respect to which the constant is inexpensive. Additionally, logical operations (i.e. and, or, xor) can now handle the immediates 0 and ~0 (which are not logical immediates). Change-Id: I46ce1287703765c5ab54983d13c1b3a1f5838622
Diffstat (limited to 'compiler/dex/quick/arm64/codegen_arm64.h')
-rw-r--r--compiler/dex/quick/arm64/codegen_arm64.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/dex/quick/arm64/codegen_arm64.h b/compiler/dex/quick/arm64/codegen_arm64.h
index 2c587b8..4680f8f 100644
--- a/compiler/dex/quick/arm64/codegen_arm64.h
+++ b/compiler/dex/quick/arm64/codegen_arm64.h
@@ -240,6 +240,7 @@ class Arm64Mir2Lir FINAL : public Mir2Lir {
void OpRegCopyWide(RegStorage dest, RegStorage src) OVERRIDE;
bool InexpensiveConstantInt(int32_t value) OVERRIDE;
+ bool InexpensiveConstantInt(int32_t value, Instruction::Code opcode) OVERRIDE;
bool InexpensiveConstantFloat(int32_t value) OVERRIDE;
bool InexpensiveConstantLong(int64_t value) OVERRIDE;
bool InexpensiveConstantDouble(int64_t value) OVERRIDE;