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/compiler/utils/assembler.cc b/compiler/utils/assembler.cc
index 92ce0b8..6732476 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 @@
     case kArm:
     case kThumb2:
       return new arm::ArmAssembler();
+    case kArm64:
+      return new arm64::Arm64Assembler();
     case kMips:
       return new mips::MipsAssembler();
     case kX86: