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/managed_register.h b/compiler/utils/managed_register.h
index 4ad1763..04c9723 100644
--- a/compiler/utils/managed_register.h
+++ b/compiler/utils/managed_register.h
@@ -22,6 +22,9 @@
 namespace arm {
 class ArmManagedRegister;
 }
+namespace arm64 {
+class Arm64ManagedRegister;
+}
 namespace mips {
 class MipsManagedRegister;
 }
@@ -42,6 +45,7 @@
   }
 
   arm::ArmManagedRegister AsArm() const;
+  arm64::Arm64ManagedRegister AsArm64() const;
   mips::MipsManagedRegister AsMips() const;
   x86::X86ManagedRegister AsX86() const;