diff options
author | Logan Chien <tzuhsiang.chien@gmail.com> | 2013-12-11 17:16:25 +0000 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2013-12-11 17:16:25 +0000 |
commit | 61f848360f4c165ca21d34fc765bb68b25203553 (patch) | |
tree | 1595c13484874918b8d7a9c4c418cfe741c9d34b /test | |
parent | 7a4d29e569c5e6aee5054bc1069328c8086b0eb6 (diff) | |
download | llvm-61f848360f4c165ca21d34fc765bb68b25203553.tar.gz llvm-61f848360f4c165ca21d34fc765bb68b25203553.tar.bz2 llvm-61f848360f4c165ca21d34fc765bb68b25203553.tar.xz |
[arm] Implement ARM .arch directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197052 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
22 files changed, 662 insertions, 0 deletions
diff --git a/test/MC/ARM/directive-arch-armv2.s b/test/MC/ARM/directive-arch-armv2.s new file mode 100644 index 0000000000..a3699226ab --- /dev/null +++ b/test/MC/ARM/directive-arch-armv2.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv2 + +@ This test case will check the default .ARM.attributes value for the +@ armv2 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv2 + +@ CHECK-ASM: .arch armv2 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 23 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41160000 00616561 62690001 0C000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05320006 010801 |.2.....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv2a.s b/test/MC/ARM/directive-arch-armv2a.s new file mode 100644 index 0000000000..f118a05999 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv2a.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv2a + +@ This test case will check the default .ARM.attributes value for the +@ armv2a architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv2a + +@ CHECK-ASM: .arch armv2a + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 24 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41170000 00616561 62690001 0D000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05324100 06010801 |.2A.....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv3.s b/test/MC/ARM/directive-arch-armv3.s new file mode 100644 index 0000000000..7b17faaedb --- /dev/null +++ b/test/MC/ARM/directive-arch-armv3.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv3 + +@ This test case will check the default .ARM.attributes value for the +@ armv3 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv3 + +@ CHECK-ASM: .arch armv3 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 23 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41160000 00616561 62690001 0C000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05330006 010801 |.3.....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv3m.s b/test/MC/ARM/directive-arch-armv3m.s new file mode 100644 index 0000000000..befecc8bde --- /dev/null +++ b/test/MC/ARM/directive-arch-armv3m.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv3m + +@ This test case will check the default .ARM.attributes value for the +@ armv3m architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv3m + +@ CHECK-ASM: .arch armv3m + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 24 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41170000 00616561 62690001 0D000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05334D00 06010801 |.3M.....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv4.s b/test/MC/ARM/directive-arch-armv4.s new file mode 100644 index 0000000000..2e0e49f6fd --- /dev/null +++ b/test/MC/ARM/directive-arch-armv4.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv4 + +@ This test case will check the default .ARM.attributes value for the +@ armv4 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv4 + +@ CHECK-ASM: .arch armv4 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 23 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41160000 00616561 62690001 0C000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05340006 010801 |.4.....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv4t.s b/test/MC/ARM/directive-arch-armv4t.s new file mode 100644 index 0000000000..6a61a38555 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv4t.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv4t + +@ This test case will check the default .ARM.attributes value for the +@ armv4t architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv4t + +@ CHECK-ASM: .arch armv4t + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 26 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41190000 00616561 62690001 0F000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05345400 06020801 0901 |.4T.......| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv5.s b/test/MC/ARM/directive-arch-armv5.s new file mode 100644 index 0000000000..4ef4b29b71 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv5.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv5 + +@ This test case will check the default .ARM.attributes value for the +@ armv5 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv5 + +@ CHECK-ASM: .arch armv5 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 23 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41160000 00616561 62690001 0C000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05350006 030801 |.5.....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv5t.s b/test/MC/ARM/directive-arch-armv5t.s new file mode 100644 index 0000000000..e5950bebca --- /dev/null +++ b/test/MC/ARM/directive-arch-armv5t.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv5t + +@ This test case will check the default .ARM.attributes value for the +@ armv5t architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv5t + +@ CHECK-ASM: .arch armv5t + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 26 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41190000 00616561 62690001 0F000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05355400 06030801 0901 |.5T.......| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv5te.s b/test/MC/ARM/directive-arch-armv5te.s new file mode 100644 index 0000000000..9e69e37725 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv5te.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv5te + +@ This test case will check the default .ARM.attributes value for the +@ armv5te architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv5te + +@ CHECK-ASM: .arch armv5te + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 27 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411A0000 00616561 62690001 10000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05355445 00060408 010901 |.5TE.......| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv6-m.s b/test/MC/ARM/directive-arch-armv6-m.s new file mode 100644 index 0000000000..81acd73e1a --- /dev/null +++ b/test/MC/ARM/directive-arch-armv6-m.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv6-m + +@ This test case will check the default .ARM.attributes value for the +@ armv6-m architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv6-m + +@ CHECK-ASM: .arch armv6-m + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 27 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411A0000 00616561 62690001 10000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05362D4D 00060B07 4D0901 |.6-M....M..| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv6.s b/test/MC/ARM/directive-arch-armv6.s new file mode 100644 index 0000000000..f8076ceb8f --- /dev/null +++ b/test/MC/ARM/directive-arch-armv6.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv6 + +@ This test case will check the default .ARM.attributes value for the +@ armv6 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv6 + +@ CHECK-ASM: .arch armv6 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 25 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41180000 00616561 62690001 0E000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05360006 06080109 01 |.6.......| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv6j.s b/test/MC/ARM/directive-arch-armv6j.s new file mode 100644 index 0000000000..e3369464ea --- /dev/null +++ b/test/MC/ARM/directive-arch-armv6j.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv6j + +@ This test case will check the default .ARM.attributes value for the +@ armv6j architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv6j + +@ CHECK-ASM: .arch armv6j + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 26 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41190000 00616561 62690001 0F000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05364A00 06060801 0901 |.6J.......| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv6t2.s b/test/MC/ARM/directive-arch-armv6t2.s new file mode 100644 index 0000000000..dfaa6d2c63 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv6t2.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv6t2 + +@ This test case will check the default .ARM.attributes value for the +@ armv6t2 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv6t2 + +@ CHECK-ASM: .arch armv6t2 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 27 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411A0000 00616561 62690001 10000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05365432 00060808 010902 |.6T2.......| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv6z.s b/test/MC/ARM/directive-arch-armv6z.s new file mode 100644 index 0000000000..077153752f --- /dev/null +++ b/test/MC/ARM/directive-arch-armv6z.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv6z + +@ This test case will check the default .ARM.attributes value for the +@ armv6z architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv6z + +@ CHECK-ASM: .arch armv6z + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 28 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411B0000 00616561 62690001 11000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05365A00 06070801 09014401 |.6Z.......D.| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv6zk.s b/test/MC/ARM/directive-arch-armv6zk.s new file mode 100644 index 0000000000..f6eca4e1e5 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv6zk.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv6zk + +@ This test case will check the default .ARM.attributes value for the +@ armv6zk architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv6zk + +@ CHECK-ASM: .arch armv6zk + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 29 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411C0000 00616561 62690001 12000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05365A4B 00060708 01090144 01 |.6ZK.......D.| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv7-a.s b/test/MC/ARM/directive-arch-armv7-a.s new file mode 100644 index 0000000000..f36dbc0b5f --- /dev/null +++ b/test/MC/ARM/directive-arch-armv7-a.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv7-a + +@ This test case will check the default .ARM.attributes value for the +@ armv7-a architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv7-a + +@ CHECK-ASM: .arch armv7-a + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 29 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411C0000 00616561 62690001 12000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05372D41 00060A07 41080109 02 |.7-A....A....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv7-m.s b/test/MC/ARM/directive-arch-armv7-m.s new file mode 100644 index 0000000000..e3c99b2cc8 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv7-m.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv7-m + +@ This test case will check the default .ARM.attributes value for the +@ armv7-m architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv7-m + +@ CHECK-ASM: .arch armv7-m + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 27 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411A0000 00616561 62690001 10000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05372D4D 00060A07 4D0902 |.7-M....M..| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv7-r.s b/test/MC/ARM/directive-arch-armv7-r.s new file mode 100644 index 0000000000..9d1316c150 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv7-r.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv7-r + +@ This test case will check the default .ARM.attributes value for the +@ armv7-r architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv7-r + +@ CHECK-ASM: .arch armv7-r + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 29 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411C0000 00616561 62690001 12000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05372D52 00060A07 52080109 02 |.7-R....R....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv7.s b/test/MC/ARM/directive-arch-armv7.s new file mode 100644 index 0000000000..035bcbd9e2 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv7.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for armv7 + +@ This test case will check the default .ARM.attributes value for the +@ armv7 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv7 + +@ CHECK-ASM: .arch armv7 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 23 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41160000 00616561 62690001 0C000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 05370006 0A0902 |.7.....| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-armv8-a.s b/test/MC/ARM/directive-arch-armv8-a.s new file mode 100644 index 0000000000..b7cd9b1329 --- /dev/null +++ b/test/MC/ARM/directive-arch-armv8-a.s @@ -0,0 +1,31 @@ +@ Test the .arch directive for armv8-a + +@ This test case will check the default .ARM.attributes value for the +@ armv8-a architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch armv8-a + +@ CHECK-ASM: .arch armv8-a + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 33 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41200000 00616561 62690001 16000000 |A ...aeabi......| +@ CHECK-OBJ: 0010: 05382D41 00060E07 41080109 022A0144 |.8-A....A....*.D| +@ CHECK-OBJ: 0020: 03 |.| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-iwmmxt.s b/test/MC/ARM/directive-arch-iwmmxt.s new file mode 100644 index 0000000000..1a325e1365 --- /dev/null +++ b/test/MC/ARM/directive-arch-iwmmxt.s @@ -0,0 +1,30 @@ +@ Test the .arch directive for iwmmxt + +@ This test case will check the default .ARM.attributes value for the +@ iwmmxt architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch iwmmxt + +@ CHECK-ASM: .arch iwmmxt + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 32 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 411F0000 00616561 62690001 15000000 |A....aeabi......| +@ CHECK-OBJ: 0010: 0549574D 4D585400 06040801 09010B01 |.IWMMXT.........| +@ CHECK-OBJ: ) diff --git a/test/MC/ARM/directive-arch-iwmmxt2.s b/test/MC/ARM/directive-arch-iwmmxt2.s new file mode 100644 index 0000000000..42f0789d40 --- /dev/null +++ b/test/MC/ARM/directive-arch-iwmmxt2.s @@ -0,0 +1,31 @@ +@ Test the .arch directive for iwmmxt2 + +@ This test case will check the default .ARM.attributes value for the +@ iwmmxt2 architecture. + +@ RUN: llvm-mc < %s -arch=arm -filetype=asm \ +@ RUN: | FileCheck %s --check-prefix=CHECK-ASM +@ RUN: llvm-mc < %s -arch=arm -filetype=obj \ +@ RUN: | llvm-readobj -s -sd | FileCheck %s --check-prefix=CHECK-OBJ + + .syntax unified + .arch iwmmxt2 + +@ CHECK-ASM: .arch iwmmxt2 + +@ CHECK-OBJ: Name: .ARM.attributes +@ CHECK-OBJ: Type: SHT_ARM_ATTRIBUTES (0x70000003) +@ CHECK-OBJ: Flags [ (0x0) +@ CHECK-OBJ: ] +@ CHECK-OBJ: Address: 0x0 +@ CHECK-OBJ: Offset: 0x34 +@ CHECK-OBJ: Size: 33 +@ CHECK-OBJ: Link: 0 +@ CHECK-OBJ: Info: 0 +@ CHECK-OBJ: AddressAlignment: 1 +@ CHECK-OBJ: EntrySize: 0 +@ CHECK-OBJ: SectionData ( +@ CHECK-OBJ: 0000: 41200000 00616561 62690001 16000000 |A ...aeabi......| +@ CHECK-OBJ: 0010: 0549574D 4D585432 00060408 0109010B |.IWMMXT2........| +@ CHECK-OBJ: 0020: 02 |.| +@ CHECK-OBJ: ) |