Add support for .2byte, .4byte and .8byte.

Fixes PR8631.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119511 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2010-11-17 16:15:42 +00:00
parent abc756216d
commit 110f22aae8
2 changed files with 26 additions and 0 deletions

View File

@ -947,10 +947,16 @@ bool AsmParser::ParseStatement() {
return ParseDirectiveValue(2);
if (IDVal == ".value")
return ParseDirectiveValue(2);
if (IDVal == ".2byte")
return ParseDirectiveValue(2);
if (IDVal == ".long")
return ParseDirectiveValue(4);
if (IDVal == ".4byte")
return ParseDirectiveValue(4);
if (IDVal == ".quad")
return ParseDirectiveValue(8);
if (IDVal == ".8byte")
return ParseDirectiveValue(8);
if (IDVal == ".single")
return ParseDirectiveRealValue(APFloat::IEEEsingle);
if (IDVal == ".double")

20
test/MC/ELF/n_bytes.s Normal file
View File

@ -0,0 +1,20 @@
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump --dump-section-data | FileCheck %s
.2byte 42, 1, 2, 3
.4byte 42, 1, 2, 3
.8byte 42, 1, 2, 3
// CHECK: # Section 0x00000001
// CHECK-NEXT: (('sh_name', 0x00000001) # '.text'
// CHECK-NEXT: ('sh_type', 0x00000001)
// CHECK-NEXT: ('sh_flags', 0x00000006)
// CHECK-NEXT: ('sh_addr', 0x00000000)
// CHECK-NEXT: ('sh_offset', 0x00000040)
// CHECK-NEXT: ('sh_size', 0x00000038)
// CHECK-NEXT: ('sh_link', 0x00000000)
// CHECK-NEXT: ('sh_info', 0x00000000)
// CHECK-NEXT: ('sh_addralign', 0x00000004)
// CHECK-NEXT: ('sh_entsize', 0x00000000)
// CHECK-NEXT: ('_section_data', '2a000100 02000300 2a000000 01000000 02000000 03000000 2a000000 00000000 01000000 00000000 02000000 00000000 03000000 00000000')
// CHECK-NEXT: ),