[PATCH] D61719: Add ".dword" directive
Bill Wendling via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 9 13:57:03 PDT 2019
void updated this revision to Diff 198900.
void added a comment.
Add testcase.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61719/new/
https://reviews.llvm.org/D61719
Files:
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
test/MC/AArch64/size-directive.s
Index: test/MC/AArch64/size-directive.s
===================================================================
--- /dev/null
+++ test/MC/AArch64/size-directive.s
@@ -0,0 +1,39 @@
+// RUN: llvm-mc %s -triple=aarch64-none-linux-gnu -filetype=asm -o - \
+// RUN: | FileCheck %s --check-prefix=CHECK-ASM
+// RUN: llvm-mc %s -triple=aarch64-none-linux-gnu -filetype=obj -o %t
+// RUN: llvm-readobj -S --sd %t | FileCheck %s --check-prefix=CHECK-OBJ
+// RUN: llvm-objdump -t %t | FileCheck %s --check-prefix=CHECK-SYMS
+
+ .section .size.aarch64_size
+
+ .p2align 2
+ .global aarch64_size
+ .type aarch64_size,%function
+aarch64_size:
+ .hword half_word
+ .word full_word
+ .dword double_word
+ .xword also_double_word
+
+// CHECK-ASM: .p2align 2
+// CHECK-ASM: .globl aarch64_size
+// CHECK-ASM: .type aarch64_size, at function
+// CHECK-ASM: aarch64_size:
+// CHECK-ASM: .hword half_word
+// CHECK-ASM: .word full_word
+// CHECK-ASM: .xword double_word
+ // CHECK-ASM: .xword also_double_word
+
+// CHECK-OBJ: Section {
+// CHECK-OBJ: Name: .size.aarch64_size
+// CHECK-OBJ: SectionData (
+// CHECK-OBJ-NEXT: 0000: 00000000 00000000 00000000 00000000 |................|
+// CHECK-OBJ-NEXT: 0010: 00000000 0000 |......|
+// CHECK-OBJ-NEXT: )
+
+// CHECK-SYMS: 0000000000000000 .size.aarch64_size 00000000 $d.0
+// CHECK-SYMS: 0000000000000000 g F .size.aarch64_size 00000000 aarch64_size
+// CHECK-SYMS: 0000000000000000 *UND* 00000000 also_double_word
+// CHECK-SYMS: 0000000000000000 *UND* 00000000 double_word
+// CHECK-SYMS: 0000000000000000 *UND* 00000000 full_word
+// CHECK-SYMS: 0000000000000000 *UND* 00000000 half_word
Index: lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
===================================================================
--- lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -241,11 +241,13 @@
if (S.getTargetStreamer() == nullptr)
new AArch64TargetStreamer(S);
- // Alias .hword/.word/xword to the target-independent .2byte/.4byte/.8byte
- // directives as they have the same form and semantics:
- /// ::= (.hword | .word | .xword ) [ expression (, expression)* ]
+ // Alias .hword/.word/.[dx]word to the target-independent
+ // .2byte/.4byte/.8byte directives as they have the same form and
+ // semantics:
+ /// ::= (.hword | .word | .dword | .xword ) [ expression (, expression)* ]
Parser.addAliasForDirective(".hword", ".2byte");
Parser.addAliasForDirective(".word", ".4byte");
+ Parser.addAliasForDirective(".dword", ".8byte");
Parser.addAliasForDirective(".xword", ".8byte");
// Initialize the set of available features.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61719.198900.patch
Type: text/x-patch
Size: 2867 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190509/a15843e8/attachment.bin>
More information about the llvm-commits
mailing list