diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/ARM/arm-thumb-cpus-default.s | 13 | ||||
-rw-r--r-- | test/MC/ARM/arm-thumb-cpus.s | 20 | ||||
-rw-r--r-- | test/MC/ARM/elf-thumbfunc-reloc.s | 2 | ||||
-rw-r--r-- | test/MC/ARM/mapping-within-section.s | 2 | ||||
-rw-r--r-- | test/MC/ARM/multi-section-mapping.s | 2 |
5 files changed, 36 insertions, 3 deletions
diff --git a/test/MC/ARM/arm-thumb-cpus-default.s b/test/MC/ARM/arm-thumb-cpus-default.s new file mode 100644 index 0000000..636ee3c --- /dev/null +++ b/test/MC/ARM/arm-thumb-cpus-default.s @@ -0,0 +1,13 @@ +@ RUN: llvm-mc -show-encoding -arch=arm < %s | FileCheck %s --check-prefix=CHECK-ARM-ONLY +@ RUN: llvm-mc -show-encoding -triple=armv4t < %s | FileCheck %s --check-prefix=CHECK-ARM-THUMB +@ RUN: llvm-mc -show-encoding -arch=arm -mcpu=cortex-a15 < %s| FileCheck %s --check-prefix=CHECK-ARM-THUMB +@ RUN: llvm-mc -show-encoding -arch=arm -mcpu=cortex-m3 < %s | FileCheck %s --check-prefix=CHECK-THUMB-ONLY +@ RUN: llvm-mc -show-encoding -triple=armv7m < %s | FileCheck %s --check-prefix=CHECK-THUMB-ONLY +@ RUN: llvm-mc -show-encoding -triple=armv6m < %s | FileCheck %s --check-prefix=CHECK-THUMB-ONLY + + @ Make sure the architecture chosen by LLVM defaults to a compatible + @ ARM/Thumb mode. + movs r0, r0 +@ CHECK-ARM-THUMB: movs r0, r0 @ encoding: [0x00,0x00,0xb0,0xe1] +@ CHECK-ARM-ONLY: movs r0, r0 @ encoding: [0x00,0x00,0xb0,0xe1] +@ CHECK-THUMB-ONLY: movs r0, r0 @ encoding: [0x00,0x00] diff --git a/test/MC/ARM/arm-thumb-cpus.s b/test/MC/ARM/arm-thumb-cpus.s new file mode 100644 index 0000000..c15e807 --- /dev/null +++ b/test/MC/ARM/arm-thumb-cpus.s @@ -0,0 +1,20 @@ +@ RUN: llvm-mc -show-encoding -arch=arm < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ARM-ONLY +@ RUN: llvm-mc -show-encoding -triple=armv4t < %s 2>&1| FileCheck %s --check-prefix=CHECK-ARM-THUMB +@ RUN: llvm-mc -show-encoding -arch=arm -mcpu=cortex-a15 < %s 2>&1| FileCheck %s --check-prefix=CHECK-ARM-THUMB +@ RUN: llvm-mc -show-encoding -arch=arm -mcpu=cortex-m3 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMB-ONLY +@ RUN: llvm-mc -show-encoding -triple=armv7m < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMB-ONLY +@ RUN: llvm-mc -show-encoding -triple=armv6m < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMB-ONLY + + @ Make sure correct diagnostics are given for CPUs without support for + @ one or other of the execution states. + .thumb + .arm + .code 16 + .code 32 +@ CHECK-ARM-THUMB-NOT: target does not support + +@ CHECK-ARM-ONLY: target does not support Thumb mode +@ CHECK-ARM-ONLY: target does not support Thumb mode + +@ CHECK-THUMB-ONLY: target does not support ARM mode +@ CHECK-THUMB-ONLY: target does not support ARM mode diff --git a/test/MC/ARM/elf-thumbfunc-reloc.s b/test/MC/ARM/elf-thumbfunc-reloc.s index de3594e..6147020 100644 --- a/test/MC/ARM/elf-thumbfunc-reloc.s +++ b/test/MC/ARM/elf-thumbfunc-reloc.s @@ -1,5 +1,5 @@ @@ test st_value bit 0 of thumb function -@ RUN: llvm-mc %s -triple=arm-freebsd-eabi -filetype=obj -o - | \ +@ RUN: llvm-mc %s -triple=armv4t-freebsd-eabi -filetype=obj -o - | \ @ RUN: llvm-readobj -r | FileCheck %s diff --git a/test/MC/ARM/mapping-within-section.s b/test/MC/ARM/mapping-within-section.s index 56dd6ef..b1379d2 100644 --- a/test/MC/ARM/mapping-within-section.s +++ b/test/MC/ARM/mapping-within-section.s @@ -1,4 +1,4 @@ -@ RUN: llvm-mc -triple=arm-linux-gnueabi -filetype=obj < %s | llvm-objdump -t - | FileCheck %s +@ RUN: llvm-mc -triple=armv7-linux-gnueabi -filetype=obj < %s | llvm-objdump -t - | FileCheck %s .text @ $a at 0x0000 diff --git a/test/MC/ARM/multi-section-mapping.s b/test/MC/ARM/multi-section-mapping.s index f7c4e89..2b1b0ef 100644 --- a/test/MC/ARM/multi-section-mapping.s +++ b/test/MC/ARM/multi-section-mapping.s @@ -1,4 +1,4 @@ -@ RUN: llvm-mc -triple=arm-linux-gnueabi -filetype=obj < %s | llvm-objdump -t - | FileCheck %s +@ RUN: llvm-mc -triple=armv7-linux-gnueabi -filetype=obj < %s | llvm-objdump -t - | FileCheck %s .text add r0, r0, r0 |