1// RUN: %clang -target arm-eabi -mcpu=cortex-m0 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-CORTEX-M0
2
3// CHECK-CORTEX-M0: __ARM_32BIT_STATE 1
4// CHECK-CORTEX-M0: __ARM_ARCH 6
5// CHECK-CORTEX-M0-NOT: __ARM_ARCH_ISA_ARM
6// CHECK-CORTEX-M0: __ARM_ARCH_ISA_THUMB 1
7// CHECK-CORTEX-M0: __ARM_ARCH_PROFILE 'M'
8
9// RUN: %clang -target arm-eabi -mcpu=arm810 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-ARM810
10
11// CHECK-ARM810: __ARM_32BIT_STATE 1
12// CHECK-ARM810: __ARM_ARCH 4
13// CHECK-ARM810: __ARM_ARCH_ISA_ARM 1
14// CHECK-ARM810-NOT: __ARM_ARCH_ISA_THUMB
15// CHECK-ARM810-NOT: __ARM_ARCH_PROFILE
16
17// RUN: %clang -target arm-eabi -mcpu=arm7tdmi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-ARM7TDMI
18
19// CHECK-ARM7TDMI: __ARM_32BIT_STATE 1
20// CHECK-ARM7TDMI: __ARM_ARCH 4
21// CHECK-ARM7TDMI: __ARM_ARCH_ISA_ARM 1
22// CHECK-ARM7TDMI: __ARM_ARCH_ISA_THUMB 1
23// CHECK-ARM7TDMI-NOT: __ARM_ARCH_PROFILE
24
25// RUN: %clang -target arm-eabi -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-CORTEX-A7
26
27// CHECK-CORTEX-A7: __ARM_32BIT_STATE 1
28// CHECK-CORTEX-A7: __ARM_ARCH 7
29// CHECK-CORTEX-A7: __ARM_ARCH_ISA_ARM 1
30// CHECK-CORTEX-A7: __ARM_ARCH_ISA_THUMB 2
31// CHECK-CORTEX-A7: __ARM_ARCH_PROFILE 'A'
32
33// RUN: %clang -target arm-eabi -mcpu=cortex-r4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-CORTEX-R4
34
35// CHECK-CORTEX-R4: __ARM_32BIT_STATE 1
36// CHECK-CORTEX-R4: __ARM_ARCH 7
37// CHECK-CORTEX-R4: __ARM_ARCH_ISA_ARM 1
38// CHECK-CORTEX-R4: __ARM_ARCH_ISA_THUMB 2
39// CHECK-CORTEX-R4: __ARM_ARCH_PROFILE 'R'
40
41