1480093f4SDimitry Andric //===- VEMCAsmInfo.cpp - VE asm properties --------------------------------===// 2480093f4SDimitry Andric // 3480093f4SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4480093f4SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5480093f4SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6480093f4SDimitry Andric // 7480093f4SDimitry Andric //===----------------------------------------------------------------------===// 8480093f4SDimitry Andric // 9480093f4SDimitry Andric // This file contains the declarations of the VEMCAsmInfo properties. 10480093f4SDimitry Andric // 11480093f4SDimitry Andric //===----------------------------------------------------------------------===// 12480093f4SDimitry Andric 13480093f4SDimitry Andric #include "VEMCAsmInfo.h" 14480093f4SDimitry Andric #include "llvm/BinaryFormat/Dwarf.h" 15480093f4SDimitry Andric #include "llvm/MC/MCExpr.h" 16480093f4SDimitry Andric #include "llvm/MC/MCStreamer.h" 17480093f4SDimitry Andric #include "llvm/MC/MCTargetOptions.h" 18*06c3fb27SDimitry Andric #include "llvm/TargetParser/Triple.h" 19480093f4SDimitry Andric 20480093f4SDimitry Andric using namespace llvm; 21480093f4SDimitry Andric anchor()22480093f4SDimitry Andricvoid VEELFMCAsmInfo::anchor() {} 23480093f4SDimitry Andric VEELFMCAsmInfo(const Triple & TheTriple)24480093f4SDimitry AndricVEELFMCAsmInfo::VEELFMCAsmInfo(const Triple &TheTriple) { 25480093f4SDimitry Andric 26480093f4SDimitry Andric CodePointerSize = CalleeSaveStackSlotSize = 8; 27480093f4SDimitry Andric MaxInstLength = MinInstAlignment = 8; 28480093f4SDimitry Andric 29480093f4SDimitry Andric // VE uses ".*byte" directive for unaligned data. 30480093f4SDimitry Andric Data8bitsDirective = "\t.byte\t"; 31480093f4SDimitry Andric Data16bitsDirective = "\t.2byte\t"; 32480093f4SDimitry Andric Data32bitsDirective = "\t.4byte\t"; 33480093f4SDimitry Andric Data64bitsDirective = "\t.8byte\t"; 34480093f4SDimitry Andric 35480093f4SDimitry Andric // Uses '.section' before '.bss' directive. VE requires this although 36480093f4SDimitry Andric // assembler manual says sinple '.bss' is supported. 37480093f4SDimitry Andric UsesELFSectionDirectiveForBSS = true; 38480093f4SDimitry Andric 39480093f4SDimitry Andric SupportsDebugInformation = true; 40480093f4SDimitry Andric } 41