mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
ARM IAS: add support for the .pool directive
The .pool directive is an alias for the .ltorg directive used to create a literal pool. Simply treat .pool as if .ltorg was passed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197787 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
69475dd92b
commit
6692ce18e8
@ -7910,7 +7910,7 @@ bool ARMAsmParser::ParseDirective(AsmToken DirectiveID) {
|
||||
return parseDirectiveInst(DirectiveID.getLoc(), 'n');
|
||||
else if (IDVal == ".inst.w")
|
||||
return parseDirectiveInst(DirectiveID.getLoc(), 'w');
|
||||
else if (IDVal == ".ltorg")
|
||||
else if (IDVal == ".ltorg" || IDVal == ".pool")
|
||||
return parseDirectiveLtorg(DirectiveID.getLoc());
|
||||
return true;
|
||||
}
|
||||
@ -8464,7 +8464,7 @@ bool ARMAsmParser::parseDirectiveInst(SMLoc Loc, char Suffix) {
|
||||
}
|
||||
|
||||
/// parseDirectiveLtorg
|
||||
/// ::= .ltorg
|
||||
/// ::= .ltorg | .pool
|
||||
bool ARMAsmParser::parseDirectiveLtorg(SMLoc L) {
|
||||
MCStreamer &Streamer = getParser().getStreamer();
|
||||
const MCSection *Section = Streamer.getCurrentSection().first;
|
||||
|
18
test/MC/ARM/pool.s
Normal file
18
test/MC/ARM/pool.s
Normal file
@ -0,0 +1,18 @@
|
||||
@ RUN: llvm-mc -triple thumbv7-linux-gnueabi -o - %s | FileCheck %s
|
||||
|
||||
.syntax unified
|
||||
|
||||
.align 2
|
||||
.global pool
|
||||
.type pool,%function
|
||||
pool:
|
||||
ldr r0, =0xba5eba11
|
||||
bx lr
|
||||
.pool
|
||||
|
||||
@ CHECK-LABEL: pool
|
||||
@ CHECK: ldr r0, .Ltmp0
|
||||
@ CHECK: .align 2
|
||||
@ CHECK-LABEL: .Ltmp0:
|
||||
@ CHECK: .long 3126770193
|
||||
|
Loading…
Reference in New Issue
Block a user