From cea6db0480b4d9675c81f52a6ea3643994f4865e Mon Sep 17 00:00:00 2001 From: Alex Bradbury Date: Thu, 17 May 2018 05:58:08 +0000 Subject: [RISCV] Add support for .half, .hword, .word, .dword directives These directives are recognised by gas. Support is added through the use of addAliasForDirective. Also match RISC-V gcc in preferring .half and .word for 16-bit and 32-bit data directives. llvm-svn: 332574 --- llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 4 ++++ llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp | 2 ++ 2 files changed, 6 insertions(+) (limited to 'llvm/lib/Target/RISCV') diff --git a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp index 487eea14b16..c51e4b3c606 100644 --- a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp +++ b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp @@ -105,6 +105,10 @@ public: RISCVAsmParser(const MCSubtargetInfo &STI, MCAsmParser &Parser, const MCInstrInfo &MII, const MCTargetOptions &Options) : MCTargetAsmParser(Options, STI, MII) { + Parser.addAliasForDirective(".half", ".2byte"); + Parser.addAliasForDirective(".hword", ".2byte"); + Parser.addAliasForDirective(".word", ".4byte"); + Parser.addAliasForDirective(".dword", ".8byte"); setAvailableFeatures(ComputeAvailableFeatures(STI.getFeatureBits())); } }; diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp index d622911e92c..780dae410cd 100644 --- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp +++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp @@ -22,4 +22,6 @@ RISCVMCAsmInfo::RISCVMCAsmInfo(const Triple &TT) { CommentString = "#"; AlignmentIsInBytes = false; SupportsDebugInformation = true; + Data16bitsDirective = "\t.half\t"; + Data32bitsDirective = "\t.word\t"; } -- cgit v1.2.3