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>
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 28546e9..0522456 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -119,6 +119,7 @@
 	external/gtest/include \
 	external/valgrind/main/include \
 	external/valgrind/main \
+	external/vixl/src \
 	external/zlib \
 	frameworks/compile/mclinker/include
 
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 85ee9d5..19748a8 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -75,6 +75,7 @@
 	compiler/utils/arena_allocator_test.cc \
 	compiler/utils/dedupe_set_test.cc \
 	compiler/utils/arm/managed_register_arm_test.cc \
+	compiler/utils/arm64/managed_register_arm64_test.cc \
 	compiler/utils/x86/managed_register_x86_test.cc \
 
 ifeq ($(ART_SEA_IR_MODE),true)