1//===-- SystemZMCAsmInfo.cpp - SystemZ asm properties ---------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "SystemZMCAsmInfo.h"
10#include "llvm/MC/MCContext.h"
11#include "llvm/MC/MCSectionELF.h"
12
13using namespace llvm;
14
15SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(const Triple &TT) {
16 AssemblerDialect = AD_ATT;
17 CalleeSaveStackSlotSize = 8;
18 CodePointerSize = 8;
19 Data64bitsDirective = "\t.quad\t";
20 ExceptionsType = ExceptionHandling::DwarfCFI;
21 IsLittleEndian = false;
22 MaxInstLength = 6;
23 SupportsDebugInformation = true;
24 UsesELFSectionDirectiveForBSS = true;
25 ZeroDirective = "\t.space\t";
26}
27
28SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(const Triple &TT) {
29 AllowAdditionalComments = false;
30 AllowAtInName = true;
31 AllowAtAtStartOfIdentifier = true;
32 AllowDollarAtStartOfIdentifier = true;
33 AllowHashAtStartOfIdentifier = true;
34 AssemblerDialect = AD_HLASM;
35 CalleeSaveStackSlotSize = 8;
36 CodePointerSize = 8;
37 CommentString = "*";
38 DotIsPC = false;
39 EmitGNUAsmStartIndentationMarker = false;
40 EmitLabelsInUpperCase = true;
41 ExceptionsType = ExceptionHandling::ZOS;
42 IsLittleEndian = false;
43 MaxInstLength = 6;
44 RestrictCommentStringToStartOfStatement = true;
45 StarIsPC = true;
46 SupportsDebugInformation = true;
47}
48
49bool SystemZMCAsmInfoGOFF::isAcceptableChar(char C) const {
50 return MCAsmInfo::isAcceptableChar(C) || C == '#';
51}
52