diff options
Diffstat (limited to 'lib/Target/PIC16/PIC16TargetAsmInfo.cpp')
-rw-r--r-- | lib/Target/PIC16/PIC16TargetAsmInfo.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/lib/Target/PIC16/PIC16TargetAsmInfo.cpp b/lib/Target/PIC16/PIC16TargetAsmInfo.cpp index 8e2392e..b86576b 100644 --- a/lib/Target/PIC16/PIC16TargetAsmInfo.cpp +++ b/lib/Target/PIC16/PIC16TargetAsmInfo.cpp @@ -22,8 +22,11 @@ PIC16TargetAsmInfo(const PIC16TargetMachine &TM) : TargetAsmInfo(TM) { CommentString = ";"; Data8bitsDirective = " db "; - Data16bitsDirective = " db "; - Data32bitsDirective = " db "; + Data16bitsDirective = " dw "; + Data32bitsDirective = " dl "; + RomData8bitsDirective = " dw "; + RomData16bitsDirective = " rom_di "; + RomData8bitsDirective = " rom_dl "; ZeroDirective = NULL; AsciiDirective = " dt "; AscizDirective = NULL; @@ -33,3 +36,28 @@ PIC16TargetAsmInfo(const PIC16TargetMachine &TM) DataSection = getNamedSection("idata.# IDATA", SectionFlags::Writeable); SwitchToSectionDirective = ""; } + +const char *PIC16TargetAsmInfo::getData8bitsDirective(unsigned AddrSpace) + const { + if (AddrSpace == PIC16ISD::ROM_SPACE) + return RomData8bitsDirective; + else + return Data8bitsDirective; + } + +const char *PIC16TargetAsmInfo::getData16bitsDirective(unsigned AddrSpace) + const { + if (AddrSpace == PIC16ISD::ROM_SPACE) + return RomData16bitsDirective; + else + return Data16bitsDirective; + } + +const char *PIC16TargetAsmInfo::getData32bitsDirective(unsigned AddrSpace) + const { + if (AddrSpace == PIC16ISD::ROM_SPACE) + return RomData32bitsDirective; + else + return Data32bitsDirective; + } + |