summaryrefslogtreecommitdiffstats
path: root/compiler/utils/assembler.cc
diff options
context:
space:
mode:
authorSerban Constantinescu <serban.constantinescu@arm.com>2014-02-11 14:15:10 +0000
committerIan Rogers <irogers@google.com>2014-03-05 12:14:43 -0800
commited8dd492e43cbaaa435c4892447072c84dbaf2dc (patch)
treee93e3d1e7dd6770ec8e2a3ed7105a7305eb2bc4d /compiler/utils/assembler.cc
parent511472b9110d15cf30a205bb514eb98f6afce651 (diff)
downloadart-ed8dd492e43cbaaa435c4892447072c84dbaf2dc.tar.gz
art-ed8dd492e43cbaaa435c4892447072c84dbaf2dc.tar.bz2
art-ed8dd492e43cbaaa435c4892447072c84dbaf2dc.zip
AArch64: Add ARM64 Assembler
This patch adds the ARM64 Assembler and ManagedRegister backend. The implementation of the Arm64Assembler class is based on VIXL (a programmatic A64 Assembler - see external/vixl ). Change-Id: I842fd574637a953c19631eedf26f6c70d9ed7f9e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Diffstat (limited to 'compiler/utils/assembler.cc')
-rw-r--r--compiler/utils/assembler.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/utils/assembler.cc b/compiler/utils/assembler.cc
index 92ce0b800..67324764f 100644
--- a/compiler/utils/assembler.cc
+++ b/compiler/utils/assembler.cc
@@ -20,6 +20,7 @@
#include <vector>
#include "arm/assembler_arm.h"
+#include "arm64/assembler_arm64.h"
#include "mips/assembler_mips.h"
#include "x86/assembler_x86.h"
#include "globals.h"
@@ -106,6 +107,8 @@ Assembler* Assembler::Create(InstructionSet instruction_set) {
case kArm:
case kThumb2:
return new arm::ArmAssembler();
+ case kArm64:
+ return new arm64::Arm64Assembler();
case kMips:
return new mips::MipsAssembler();
case kX86: