1; Check that MachO ARM CPU Subtypes are respected
2
3; RUN: llc -mtriple=armv4t-apple-darwin -filetype=obj -o - < %s \
4; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V4T
5
6; RUN: llc -mtriple=armv5-apple-darwin -filetype=obj -o - < %s \
7; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V5
8; RUN: llc -mtriple=armv5e-apple-darwin -filetype=obj -o - < %s \
9; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V5
10; RUN: llc -mtriple=armv5t-apple-darwin -filetype=obj -o - < %s \
11; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V5
12; RUN: llc -mtriple=armv5te-apple-darwin -filetype=obj -o - < %s \
13; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V5
14; RUN: llc -mtriple=armv5tej-apple-darwin -filetype=obj -o - < %s \
15; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V5
16
17; RUN: llc -mtriple=armv6-apple-darwin -filetype=obj -o - < %s \
18; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V6
19; RUN: llc -mtriple=armv6k-apple-darwin -filetype=obj -o - < %s \
20; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V6
21; RUN: llc -mtriple=thumbv6-apple-darwin -filetype=obj -o - < %s \
22; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V6
23; RUN: llc -mtriple=thumbv6k-apple-darwin -filetype=obj -o - < %s \
24; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V6
25
26; RUN: llc -mtriple=armv6m-apple-darwin -filetype=obj -o - < %s \
27; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V6M
28; RUN: llc -mtriple=thumbv6m-apple-darwin -filetype=obj -o - < %s \
29; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V6M
30
31; RUN: llc -mtriple=armv7-apple-darwin -filetype=obj -o - < %s \
32; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7
33; RUN: llc -mtriple=thumbv7-apple-darwin -filetype=obj -o - < %s \
34; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7
35
36; RUN: llc -mtriple=thumbv7em-apple-darwin -mcpu=cortex-m4 -filetype=obj -o - < %s \
37; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7EM
38; RUN: llc -mtriple=thumbv7em-apple-darwin -mcpu=cortex-m7 -filetype=obj -o - < %s \
39; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7EM
40
41; RUN: llc -mtriple=armv7k-apple-darwin -filetype=obj -o - < %s \
42; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7K
43; RUN: llc -mtriple=thumbv7k-apple-darwin -filetype=obj -o - < %s \
44; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7K
45
46; RUN: llc -mtriple=thumbv7m-apple-darwin -mcpu=sc300 -filetype=obj -o - < %s \
47; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7M
48; RUN: llc -mtriple=thumbv7m-apple-darwin -mcpu=cortex-m3 -filetype=obj -o - < %s \
49; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7M
50
51; RUN: llc -mtriple=armv7s-apple-darwin -filetype=obj -o - < %s \
52; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7S
53; RUN: llc -mtriple=thumbv7s-apple-darwin -filetype=obj -o - < %s \
54; RUN: | llvm-readobj -file-headers | FileCheck %s --check-prefix=CHECK-V7S
55
56define void @_test() {
57  ret void
58}
59
60; CHECK-V4T:   CpuSubType: CPU_SUBTYPE_ARM_V4T (0x5)
61; CHECK-V5:   CpuSubType: CPU_SUBTYPE_ARM_V5 (0x7)
62; CHECK-V6:   CpuSubType: CPU_SUBTYPE_ARM_V6 (0x6)
63; CHECK-V6M:   CpuSubType: CPU_SUBTYPE_ARM_V6M (0xE)
64; CHECK-V7:   CpuSubType: CPU_SUBTYPE_ARM_V7 (0x9)
65; CHECK-V7EM:   CpuSubType: CPU_SUBTYPE_ARM_V7EM (0x10)
66; CHECK-V7K:   CpuSubType: CPU_SUBTYPE_ARM_V7K (0xC)
67; CHECK-V7M:   CpuSubType: CPU_SUBTYPE_ARM_V7M (0xF)
68; CHECK-V7S:   CpuSubType: CPU_SUBTYPE_ARM_V7S (0xB)
69