mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
[PowerPC] Support .llong and fix .word
This adds support for the .llong PowerPC-specifc assembler directive. In doing so, I notices that .word is currently incorrect: it is supposed to define a 2-byte data element, not a 4-byte one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185911 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
11c29bafd5
commit
ff16df71f5
@ -1177,7 +1177,9 @@ ParseInstruction(ParseInstructionInfo &Info, StringRef Name, SMLoc NameLoc,
|
||||
bool PPCAsmParser::ParseDirective(AsmToken DirectiveID) {
|
||||
StringRef IDVal = DirectiveID.getIdentifier();
|
||||
if (IDVal == ".word")
|
||||
return ParseDirectiveWord(4, DirectiveID.getLoc());
|
||||
return ParseDirectiveWord(2, DirectiveID.getLoc());
|
||||
if (IDVal == ".llong")
|
||||
return ParseDirectiveWord(8, DirectiveID.getLoc());
|
||||
if (IDVal == ".tc")
|
||||
return ParseDirectiveTC(isPPC64()? 8 : 4, DirectiveID.getLoc());
|
||||
return true;
|
||||
|
28
test/MC/PowerPC/ppc-llong.s
Normal file
28
test/MC/PowerPC/ppc-llong.s
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
# RUN: llvm-mc -triple powerpc-unknown-unknown -filetype=obj %s | \
|
||||
# RUN: llvm-readobj -s -sd | FileCheck %s
|
||||
# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \
|
||||
# RUN: llvm-readobj -s -sd | FileCheck %s
|
||||
|
||||
.data
|
||||
.llong 0
|
||||
|
||||
# CHECK: Section {
|
||||
# CHECK: Name: .data
|
||||
# CHECK-NEXT: Type: SHT_PROGBITS
|
||||
# CHECK-NEXT: Flags [
|
||||
# CHECK-NEXT: SHF_ALLOC
|
||||
# CHECK-NEXT: SHF_WRITE
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK-NEXT: Address: 0x0
|
||||
# CHECK-NEXT: Offset:
|
||||
# CHECK-NEXT: Size: 8
|
||||
# CHECK-NEXT: Link: 0
|
||||
# CHECK-NEXT: Info: 0
|
||||
# CHECK-NEXT: AddressAlignment: 4
|
||||
# CHECK-NEXT: EntrySize: 0
|
||||
# CHECK-NEXT: SectionData (
|
||||
# CHECK-NEXT: 0000: 00000000 00000000
|
||||
# CHECK-NEXT: )
|
||||
# CHECK-NEXT: }
|
||||
|
28
test/MC/PowerPC/ppc-word.s
Normal file
28
test/MC/PowerPC/ppc-word.s
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
# RUN: llvm-mc -triple powerpc-unknown-unknown -filetype=obj %s | \
|
||||
# RUN: llvm-readobj -s -sd | FileCheck %s
|
||||
# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \
|
||||
# RUN: llvm-readobj -s -sd | FileCheck %s
|
||||
|
||||
.data
|
||||
.word 0
|
||||
|
||||
# CHECK: Section {
|
||||
# CHECK: Name: .data
|
||||
# CHECK-NEXT: Type: SHT_PROGBITS
|
||||
# CHECK-NEXT: Flags [
|
||||
# CHECK-NEXT: SHF_ALLOC
|
||||
# CHECK-NEXT: SHF_WRITE
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK-NEXT: Address: 0x0
|
||||
# CHECK-NEXT: Offset:
|
||||
# CHECK-NEXT: Size: 2
|
||||
# CHECK-NEXT: Link: 0
|
||||
# CHECK-NEXT: Info: 0
|
||||
# CHECK-NEXT: AddressAlignment: 4
|
||||
# CHECK-NEXT: EntrySize: 0
|
||||
# CHECK-NEXT: SectionData (
|
||||
# CHECK-NEXT: 0000: 0000
|
||||
# CHECK-NEXT: )
|
||||
# CHECK-NEXT: }
|
||||
|
@ -48,7 +48,7 @@ addis 1, 1, target7@highesta
|
||||
.data
|
||||
|
||||
.quad v1
|
||||
.word v2
|
||||
.long v2
|
||||
.short v3
|
||||
.byte v4
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user