1 //===-- AArch64MCAsmInfo.cpp - AArch64 asm properties ---------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains the declarations of the AArch64MCAsmInfo properties.
12 //===----------------------------------------------------------------------===//
14 #include "AArch64MCAsmInfo.h"
15 #include "llvm/ADT/Triple.h"
19 AArch64ELFMCAsmInfo::AArch64ELFMCAsmInfo(StringRef TT) {
21 if (TheTriple.getArch() == Triple::aarch64_be)
22 IsLittleEndian = false;
26 // ".comm align is in bytes but .align is pow-2."
27 AlignmentIsInBytes = false;
30 Code32Directive = ".code\t32";
32 Data16bitsDirective = "\t.hword\t";
33 Data32bitsDirective = "\t.word\t";
34 Data64bitsDirective = "\t.xword\t";
37 SupportsDebugInformation = true;
39 // Exceptions handling
40 ExceptionsType = ExceptionHandling::DwarfCFI;
42 UseIntegratedAssembler = true;
45 // Pin the vtable to this file.
46 void AArch64ELFMCAsmInfo::anchor() {}