mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[mips] Add support to the '.dword' directive.
The '.dword' directive accepts a list of expressions and emits them in 8-byte chunks in successive locations. llvm-svn: 204822
This commit is contained in:
parent
1a05766f6b
commit
4f6ce2ff99
@ -2629,6 +2629,11 @@ bool MipsAsmParser::parseDirectiveOption() {
|
||||
bool MipsAsmParser::ParseDirective(AsmToken DirectiveID) {
|
||||
StringRef IDVal = DirectiveID.getString();
|
||||
|
||||
if (IDVal == ".dword") {
|
||||
parseDataDirective(8, DirectiveID.getLoc());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (IDVal == ".ent") {
|
||||
// Ignore this directive for now.
|
||||
Parser.Lex();
|
||||
|
36
test/MC/Mips/mips-data-directives.s
Normal file
36
test/MC/Mips/mips-data-directives.s
Normal file
@ -0,0 +1,36 @@
|
||||
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 | \
|
||||
# RUN: FileCheck %s -check-prefix=CHECK-ASM
|
||||
#
|
||||
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -filetype=obj -o - | \
|
||||
# RUN: llvm-readobj -sections -section-data -section-relocations - | \
|
||||
# RUN: FileCheck %s -check-prefix=CHECK-OBJ
|
||||
|
||||
# CHECK-ASM: .4byte 3735929054
|
||||
# CHECK-ASM: .8byte -2401050962867405073
|
||||
# CHECK-ASM: .4byte label
|
||||
# CHECK-ASM: .8byte label
|
||||
|
||||
# Checking if the data and reloations were correctly emitted
|
||||
# CHECK-OBJ: Section {
|
||||
# CHECK-OBJ: Name: .data (51)
|
||||
# CHECK-OBJ: SectionData (
|
||||
# CHECK-OBJ: 0000: DEADC0DE DEADC0DE DEADBEEF 00000000
|
||||
# CHECK-OBJ: 0010: 00000000 00000000
|
||||
# CHECK-OBJ: )
|
||||
# CHECK-OBJ: }
|
||||
|
||||
# CHECK-OBJ: Section {
|
||||
# CHECK-OBJ: Name: .rel.data (47)
|
||||
# CHECK-OBJ: Relocations [
|
||||
# CHECK-OBJ: 0xC R_MIPS_32 .data 0x0
|
||||
# CHECK-OBJ: 0x10 R_MIPS_64 .data 0x0
|
||||
# CHECK-OBJ: ]
|
||||
# CHECK-OBJ: }
|
||||
|
||||
.data
|
||||
label:
|
||||
.word 0xdeadc0de
|
||||
.dword 0xdeadc0dedeadbeef
|
||||
|
||||
.word label
|
||||
.dword label
|
Loading…
x
Reference in New Issue
Block a user