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