1; This tests that MC/asm header conversion is smooth and that the
2; build attributes are correct
3
4; RUN: llc < %s -mtriple=thumbv5-linux-gnueabi -mcpu=xscale | FileCheck %s --check-prefix=XSCALE
5; RUN: llc < %s -mtriple=armv6-linux-gnueabi | FileCheck %s --check-prefix=V6
6; RUN: llc < %s -mtriple=thumbv6m-linux-gnueabi | FileCheck %s --check-prefix=V6M
7; RUN: llc < %s -mtriple=armv6-linux-gnueabi -mcpu=arm1156t2f-s | FileCheck %s --check-prefix=ARM1156T2F-S
8; RUN: llc < %s -mtriple=thumbv7m-linux-gnueabi | FileCheck %s --check-prefix=V7M
9; RUN: llc < %s -mtriple=armv7-linux-gnueabi | FileCheck %s --check-prefix=V7
10; RUN: llc < %s -mtriple=armv8-linux-gnueabi | FileCheck %s --check-prefix=V8
11; RUN: llc < %s -mtriple=thumbv8-linux-gnueabi | FileCheck %s --check-prefix=Vt8
12; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mattr=-neon,-crypto | FileCheck %s --check-prefix=V8-FPARMv8
13; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mattr=-fp-armv8,-crypto | FileCheck %s --check-prefix=V8-NEON
14; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mattr=-crypto | FileCheck %s --check-prefix=V8-FPARMv8-NEON
15; RUN: llc < %s -mtriple=armv8-linux-gnueabi | FileCheck %s --check-prefix=V8-FPARMv8-NEON-CRYPTO
16; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a5 | FileCheck %s --check-prefix=CORTEX-A5-DEFAULT
17; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a5 -mattr=-neon,+d16 | FileCheck %s --check-prefix=CORTEX-A5-NONEON
18; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a5 -mattr=-vfp2 | FileCheck %s --check-prefix=CORTEX-A5-NOFPU
19; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a9 -float-abi=soft | FileCheck %s --check-prefix=CORTEX-A9-SOFT
20; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a9 -float-abi=hard | FileCheck %s --check-prefix=CORTEX-A9-HARD
21; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a12 | FileCheck %s --check-prefix=CORTEX-A12-DEFAULT
22; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a12 -mattr=-vfp2 | FileCheck %s --check-prefix=CORTEX-A12-NOFPU
23; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a9-mp | FileCheck %s --check-prefix=CORTEX-A9-MP
24; RUN: llc < %s -mtriple=armv7-linux-gnueabi -mcpu=cortex-a15 | FileCheck %s --check-prefix=CORTEX-A15
25; RUN: llc < %s -mtriple=thumbv6m-linux-gnueabi -mcpu=cortex-m0 | FileCheck %s --check-prefix=CORTEX-M0
26; RUN: llc < %s -mtriple=thumbv7m-linux-gnueabi -mcpu=cortex-m3 | FileCheck %s --check-prefix=CORTEX-M3
27; RUN: llc < %s -mtriple=thumbv7m-linux-gnueabi -mcpu=cortex-m4 -float-abi=soft | FileCheck %s --check-prefix=CORTEX-M4-SOFT
28; RUN: llc < %s -mtriple=thumbv7m-linux-gnueabi -mcpu=cortex-m4 -float-abi=hard | FileCheck %s --check-prefix=CORTEX-M4-HARD
29; RUN: llc < %s -mtriple=thumbv7em-linux-gnueabi -mcpu=cortex-m7 -mattr=-vfp2 | FileCheck %s --check-prefix=CORTEX-M7 --check-prefix=CORTEX-M7-SOFT
30; RUN: llc < %s -mtriple=thumbv7em-linux-gnueabi -mcpu=cortex-m7 -mattr=+fp-only-sp | FileCheck %s --check-prefix=CORTEX-M7 --check-prefix=CORTEX-M7-SINGLE
31; RUN: llc < %s -mtriple=thumbv7em-linux-gnueabi -mcpu=cortex-m7 | FileCheck %s --check-prefix=CORTEX-M7 --check-prefix=CORTEX-M7-DOUBLE
32; RUN: llc < %s -mtriple=armv7r-linux-gnueabi -mcpu=cortex-r5 | FileCheck %s --check-prefix=CORTEX-R5
33; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mcpu=cortex-a53 | FileCheck %s --check-prefix=CORTEX-A53
34; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mcpu=cortex-a57 | FileCheck %s --check-prefix=CORTEX-A57
35; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mcpu=cortex-a7 | FileCheck %s  --check-prefix=CORTEX-A7-CHECK
36; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mcpu=cortex-a7 -mattr=-vfp2,-vfp3,-vfp4,-neon | FileCheck %s --check-prefix=CORTEX-A7-NOFPU
37; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mcpu=cortex-a7 -mattr=+vfp4,-neon | FileCheck %s --check-prefix=CORTEX-A7-FPUV4
38; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mcpu=cortex-a7 -mattr=+vfp4,,+d16,-neon | FileCheck %s --check-prefix=CORTEX-A7-FPUV4
39; RUN: llc < %s -mtriple=arm-none-linux-gnueabi -relocation-model=pic | FileCheck %s --check-prefix=RELOC-PIC
40; RUN: llc < %s -mtriple=arm-none-linux-gnueabi -relocation-model=static | FileCheck %s --check-prefix=RELOC-OTHER
41; RUN: llc < %s -mtriple=arm-none-linux-gnueabi -relocation-model=default | FileCheck %s --check-prefix=RELOC-OTHER
42; RUN: llc < %s -mtriple=arm-none-linux-gnueabi -relocation-model=dynamic-no-pic | FileCheck %s --check-prefix=RELOC-OTHER
43; RUN: llc < %s -mtriple=arm-none-linux-gnueabi | FileCheck %s --check-prefix=RELOC-OTHER
44; RUN: llc < %s -mtriple=arm-none-linux-gnueabi | FileCheck %s --check-prefix=PCS-R9-USE
45; RUN: llc < %s -mtriple=arm-none-linux-gnueabi -arm-reserve-r9 | FileCheck %s --check-prefix=PCS-R9-RESERVE
46
47; XSCALE:      .eabi_attribute 6, 5
48; XSCALE:      .eabi_attribute 8, 1
49; XSCALE:      .eabi_attribute 9, 1
50
51; V6:   .eabi_attribute 6, 6
52; V6:   .eabi_attribute 8, 1
53; V6:   .eabi_attribute 24, 1
54; V6:   .eabi_attribute 25, 1
55; V6-NOT:   .eabi_attribute 27
56; V6-NOT:   .eabi_attribute 28
57; V6-NOT:    .eabi_attribute 36
58; V6-NOT:    .eabi_attribute 42
59; V6-NOT:    .eabi_attribute 68
60
61; V6M:  .eabi_attribute 6, 12
62; V6M-NOT:  .eabi_attribute 7
63; V6M:  .eabi_attribute 8, 0
64; V6M:  .eabi_attribute 9, 1
65; V6M:  .eabi_attribute 24, 1
66; V6M:  .eabi_attribute 25, 1
67; V6M-NOT:  .eabi_attribute 27
68; V6M-NOT:  .eabi_attribute 28
69; V6M-NOT:  .eabi_attribute 36
70; V6M-NOT:  .eabi_attribute 42
71; V6M-NOT:  .eabi_attribute 68
72
73; ARM1156T2F-S: .cpu arm1156t2f-s
74; ARM1156T2F-S: .eabi_attribute 6, 8
75; ARM1156T2F-S: .eabi_attribute 8, 1
76; ARM1156T2F-S: .eabi_attribute 9, 2
77; ARM1156T2F-S: .fpu vfpv2
78; ARM1156T2F-S: .eabi_attribute 20, 1
79; ARM1156T2F-S: .eabi_attribute 21, 1
80; ARM1156T2F-S: .eabi_attribute 23, 3
81; ARM1156T2F-S: .eabi_attribute 24, 1
82; ARM1156T2F-S: .eabi_attribute 25, 1
83; ARM1156T2F-S-NOT: .eabi_attribute 27
84; ARM1156T2F-S-NOT: .eabi_attribute 28
85; ARM1156T2F-S-NOT: .eabi_attribute 36
86; ARM1156T2F-S-NOT:    .eabi_attribute 42
87; ARM1156T2F-S-NOT:    .eabi_attribute 68
88
89; V7M:  .eabi_attribute 6, 10
90; V7M:  .eabi_attribute 7, 77
91; V7M:  .eabi_attribute 8, 0
92; V7M:  .eabi_attribute 9, 2
93; V7M:  .eabi_attribute 24, 1
94; V7M:  .eabi_attribute 25, 1
95; V7M-NOT:  .eabi_attribute 27
96; V7M-NOT:  .eabi_attribute 28
97; V7M-NOT:  .eabi_attribute 36
98; V7M-NOT:  .eabi_attribute 42
99; V7M-NOT:  .eabi_attribute 44
100; V7M-NOT:  .eabi_attribute 68
101
102; V7:      .syntax unified
103; V7: .eabi_attribute 6, 10
104; V7: .eabi_attribute 20, 1
105; V7: .eabi_attribute 21, 1
106; V7: .eabi_attribute 23, 3
107; V7: .eabi_attribute 24, 1
108; V7: .eabi_attribute 25, 1
109; V7-NOT: .eabi_attribute 27
110; V7-NOT: .eabi_attribute 28
111; V7-NOT: .eabi_attribute 36
112; V7-NOT:    .eabi_attribute 42
113; V7-NOT:    .eabi_attribute 68
114
115; V8:      .syntax unified
116; V8: .eabi_attribute 6, 14
117
118; Vt8:     .syntax unified
119; Vt8: .eabi_attribute 6, 14
120
121; V8-FPARMv8:      .syntax unified
122; V8-FPARMv8: .eabi_attribute 6, 14
123; V8-FPARMv8: .fpu fp-armv8
124
125; V8-NEON:      .syntax unified
126; V8-NEON: .eabi_attribute 6, 14
127; V8-NEON: .fpu neon
128; V8-NEON: .eabi_attribute 12, 3
129
130; V8-FPARMv8-NEON:      .syntax unified
131; V8-FPARMv8-NEON: .eabi_attribute 6, 14
132; V8-FPARMv8-NEON: .fpu neon-fp-armv8
133; V8-FPARMv8-NEON: .eabi_attribute 12, 3
134
135; V8-FPARMv8-NEON-CRYPTO:      .syntax unified
136; V8-FPARMv8-NEON-CRYPTO: .eabi_attribute 6, 14
137; V8-FPARMv8-NEON-CRYPTO: .fpu crypto-neon-fp-armv8
138; V8-FPARMv8-NEON-CRYPTO: .eabi_attribute 12, 3
139
140; Tag_CPU_arch	'ARMv7'
141; CORTEX-A7-CHECK: .eabi_attribute	6, 10
142; CORTEX-A7-NOFPU: .eabi_attribute	6, 10
143; CORTEX-A7-FPUV4: .eabi_attribute	6, 10
144
145; Tag_CPU_arch_profile 'A'
146; CORTEX-A7-CHECK: .eabi_attribute	7, 65
147; CORTEX-A7-NOFPU: .eabi_attribute	7, 65
148; CORTEX-A7-FPUV4: .eabi_attribute	7, 65
149
150; Tag_ARM_ISA_use
151; CORTEX-A7-CHECK: .eabi_attribute	8, 1
152; CORTEX-A7-NOFPU: .eabi_attribute	8, 1
153; CORTEX-A7-FPUV4: .eabi_attribute	8, 1
154
155; Tag_THUMB_ISA_use
156; CORTEX-A7-CHECK: .eabi_attribute	9, 2
157; CORTEX-A7-NOFPU: .eabi_attribute	9, 2
158; CORTEX-A7-FPUV4: .eabi_attribute	9, 2
159
160; CORTEX-A7-CHECK: .fpu	neon-vfpv4
161; CORTEX-A7-NOFPU-NOT: .fpu
162; CORTEX-A7-FPUV4: .fpu	vfpv4
163
164; Tag_ABI_FP_denormal
165; CORTEX-A7-CHECK: .eabi_attribute	20, 1
166; CORTEX-A7-NOFPU: .eabi_attribute	20, 1
167; CORTEX-A7-FPUV4: .eabi_attribute	20, 1
168
169; Tag_ABI_FP_exceptions
170; CORTEX-A7-CHECK: .eabi_attribute	21, 1
171; CORTEX-A7-NOFPU: .eabi_attribute	21, 1
172; CORTEX-A7-FPUV4: .eabi_attribute	21, 1
173
174; Tag_ABI_FP_number_model
175; CORTEX-A7-CHECK: .eabi_attribute	23, 3
176; CORTEX-A7-NOFPU: .eabi_attribute	23, 3
177; CORTEX-A7-FPUV4: .eabi_attribute	23, 3
178
179; Tag_ABI_align_needed
180; CORTEX-A7-CHECK: .eabi_attribute	24, 1
181; CORTEX-A7-NOFPU: .eabi_attribute	24, 1
182; CORTEX-A7-FPUV4: .eabi_attribute	24, 1
183
184; Tag_ABI_align_preserved
185; CORTEX-A7-CHECK: .eabi_attribute	25, 1
186; CORTEX-A7-NOFPU: .eabi_attribute	25, 1
187; CORTEX-A7-FPUV4: .eabi_attribute	25, 1
188
189; Tag_FP_HP_extension
190; CORTEX-A7-CHECK: .eabi_attribute	36, 1
191; CORTEX-A7-NOFPU: .eabi_attribute	36, 1
192; CORTEX-A7-FPUV4: .eabi_attribute	36, 1
193
194; Tag_MPextension_use
195; CORTEX-A7-CHECK: .eabi_attribute	42, 1
196; CORTEX-A7-NOFPU: .eabi_attribute	42, 1
197; CORTEX-A7-FPUV4: .eabi_attribute	42, 1
198
199; Tag_DIV_use
200; CORTEX-A7-CHECK: .eabi_attribute	44, 2
201; CORTEX-A7-NOFPU: .eabi_attribute	44, 2
202; CORTEX-A7-FPUV4: .eabi_attribute	44, 2
203
204; Tag_Virtualization_use
205; CORTEX-A7-CHECK: .eabi_attribute	68, 3
206; CORTEX-A7-NOFPU: .eabi_attribute	68, 3
207; CORTEX-A7-FPUV4: .eabi_attribute	68, 3
208
209; CORTEX-A5-DEFAULT:        .cpu    cortex-a5
210; CORTEX-A5-DEFAULT:        .eabi_attribute 6, 10
211; CORTEX-A5-DEFAULT:        .eabi_attribute 7, 65
212; CORTEX-A5-DEFAULT:        .eabi_attribute 8, 1
213; CORTEX-A5-DEFAULT:        .eabi_attribute 9, 2
214; CORTEX-A5-DEFAULT:        .fpu    neon-vfpv4
215; CORTEX-A5-DEFAULT:        .eabi_attribute 20, 1
216; CORTEX-A5-DEFAULT:        .eabi_attribute 21, 1
217; CORTEX-A5-DEFAULT:        .eabi_attribute 23, 3
218; CORTEX-A5-DEFAULT:        .eabi_attribute 24, 1
219; CORTEX-A5-DEFAULT:        .eabi_attribute 25, 1
220; CORTEX-A5-DEFAULT:        .eabi_attribute 42, 1
221; CORTEX-A5-DEFAULT:        .eabi_attribute 68, 1
222
223; CORTEX-A5-NONEON:        .cpu    cortex-a5
224; CORTEX-A5-NONEON:        .eabi_attribute 6, 10
225; CORTEX-A5-NONEON:        .eabi_attribute 7, 65
226; CORTEX-A5-NONEON:        .eabi_attribute 8, 1
227; CORTEX-A5-NONEON:        .eabi_attribute 9, 2
228; CORTEX-A5-NONEON:        .fpu    vfpv4-d16
229; CORTEX-A5-NONEON:        .eabi_attribute 20, 1
230; CORTEX-A5-NONEON:        .eabi_attribute 21, 1
231; CORTEX-A5-NONEON:        .eabi_attribute 23, 3
232; CORTEX-A5-NONEON:        .eabi_attribute 24, 1
233; CORTEX-A5-NONEON:        .eabi_attribute 25, 1
234; CORTEX-A5-NONEON:        .eabi_attribute 42, 1
235; CORTEX-A5-NONEON:        .eabi_attribute 68, 1
236
237; CORTEX-A5-NOFPU:        .cpu    cortex-a5
238; CORTEX-A5-NOFPU:        .eabi_attribute 6, 10
239; CORTEX-A5-NOFPU:        .eabi_attribute 7, 65
240; CORTEX-A5-NOFPU:        .eabi_attribute 8, 1
241; CORTEX-A5-NOFPU:        .eabi_attribute 9, 2
242; CORTEX-A5-NOFPU-NOT:    .fpu
243; CORTEX-A5-NOFPU:        .eabi_attribute 20, 1
244; CORTEX-A5-NOFPU:        .eabi_attribute 21, 1
245; CORTEX-A5-NOFPU:        .eabi_attribute 23, 3
246; CORTEX-A5-NOFPU:        .eabi_attribute 24, 1
247; CORTEX-A5-NOFPU:        .eabi_attribute 25, 1
248; CORTEX-A5-NOFPU:        .eabi_attribute 42, 1
249; CORTEX-A5-NOFPU:        .eabi_attribute 68, 1
250
251; CORTEX-A9-SOFT:  .cpu cortex-a9
252; CORTEX-A9-SOFT:  .eabi_attribute 6, 10
253; CORTEX-A9-SOFT:  .eabi_attribute 7, 65
254; CORTEX-A9-SOFT:  .eabi_attribute 8, 1
255; CORTEX-A9-SOFT:  .eabi_attribute 9, 2
256; CORTEX-A9-SOFT:  .fpu neon
257; CORTEX-A9-SOFT:  .eabi_attribute 20, 1
258; CORTEX-A9-SOFT:  .eabi_attribute 21, 1
259; CORTEX-A9-SOFT:  .eabi_attribute 23, 3
260; CORTEX-A9-SOFT:  .eabi_attribute 24, 1
261; CORTEX-A9-SOFT:  .eabi_attribute 25, 1
262; CORTEX-A9-SOFT-NOT:  .eabi_attribute 27
263; CORTEX-A9-SOFT-NOT:  .eabi_attribute 28
264; CORTEX-A9-SOFT:  .eabi_attribute 36, 1
265; CORTEX-A9-SOFT-NOT:  .eabi_attribute 42
266; CORTEX-A9-SOFT:  .eabi_attribute 68, 1
267
268; CORTEX-A9-HARD:  .cpu cortex-a9
269; CORTEX-A9-HARD:  .eabi_attribute 6, 10
270; CORTEX-A9-HARD:  .eabi_attribute 7, 65
271; CORTEX-A9-HARD:  .eabi_attribute 8, 1
272; CORTEX-A9-HARD:  .eabi_attribute 9, 2
273; CORTEX-A9-HARD:  .fpu neon
274; CORTEX-A9-HARD:  .eabi_attribute 20, 1
275; CORTEX-A9-HARD:  .eabi_attribute 21, 1
276; CORTEX-A9-HARD:  .eabi_attribute 23, 3
277; CORTEX-A9-HARD:  .eabi_attribute 24, 1
278; CORTEX-A9-HARD:  .eabi_attribute 25, 1
279; CORTEX-A9-HARD-NOT:  .eabi_attribute 27
280; CORTEX-A9-HARD:  .eabi_attribute 28, 1
281; CORTEX-A9-HARD:  .eabi_attribute 36, 1
282; CORTEX-A9-HARD-NOT:  .eabi_attribute 42
283; CORTEX-A9-HARD:  .eabi_attribute 68, 1
284
285; CORTEX-A9-MP:  .cpu cortex-a9-mp
286; CORTEX-A9-MP:  .eabi_attribute 6, 10
287; CORTEX-A9-MP:  .eabi_attribute 7, 65
288; CORTEX-A9-MP:  .eabi_attribute 8, 1
289; CORTEX-A9-MP:  .eabi_attribute 9, 2
290; CORTEX-A9-MP:  .fpu neon
291; CORTEX-A9-MP:  .eabi_attribute 20, 1
292; CORTEX-A9-MP:  .eabi_attribute 21, 1
293; CORTEX-A9-MP:  .eabi_attribute 23, 3
294; CORTEX-A9-MP:  .eabi_attribute 24, 1
295; CORTEX-A9-MP:  .eabi_attribute 25, 1
296; CORTEX-A9-MP-NOT:  .eabi_attribute 27
297; CORTEX-A9-MP-NOT:  .eabi_attribute 28
298; CORTEX-A9-MP:  .eabi_attribute 36, 1
299; CORTEX-A9-MP:  .eabi_attribute 42, 1
300; CORTEX-A9-MP:  .eabi_attribute 68, 1
301
302; CORTEX-A12-DEFAULT:  .cpu cortex-a12
303; CORTEX-A12-DEFAULT:  .eabi_attribute 6, 10
304; CORTEX-A12-DEFAULT:  .eabi_attribute 7, 65
305; CORTEX-A12-DEFAULT:  .eabi_attribute 8, 1
306; CORTEX-A12-DEFAULT:  .eabi_attribute 9, 2
307; CORTEX-A12-DEFAULT:  .fpu neon-vfpv4
308; CORTEX-A12-DEFAULT:  .eabi_attribute 20, 1
309; CORTEX-A12-DEFAULT:  .eabi_attribute 21, 1
310; CORTEX-A12-DEFAULT:  .eabi_attribute 23, 3
311; CORTEX-A12-DEFAULT:  .eabi_attribute 24, 1
312; CORTEX-A12-DEFAULT:  .eabi_attribute 25, 1
313; CORTEX-A12-DEFAULT:  .eabi_attribute 42, 1
314; CORTEX-A12-DEFAULT:  .eabi_attribute 44, 2
315; CORTEX-A12-DEFAULT:  .eabi_attribute 68, 3
316
317; CORTEX-A12-NOFPU:  .cpu cortex-a12
318; CORTEX-A12-NOFPU:  .eabi_attribute 6, 10
319; CORTEX-A12-NOFPU:  .eabi_attribute 7, 65
320; CORTEX-A12-NOFPU:  .eabi_attribute 8, 1
321; CORTEX-A12-NOFPU:  .eabi_attribute 9, 2
322; CORTEX-A12-NOFPU-NOT:  .fpu
323; CORTEX-A12-NOFPU:  .eabi_attribute 20, 1
324; CORTEX-A12-NOFPU:  .eabi_attribute 21, 1
325; CORTEX-A12-NOFPU:  .eabi_attribute 23, 3
326; CORTEX-A12-NOFPU:  .eabi_attribute 24, 1
327; CORTEX-A12-NOFPU:  .eabi_attribute 25, 1
328; CORTEX-A12-NOFPU:  .eabi_attribute 42, 1
329; CORTEX-A12-NOFPU:  .eabi_attribute 44, 2
330; CORTEX-A12-NOFPU:  .eabi_attribute 68, 3
331
332; CORTEX-A15: .cpu cortex-a15
333; CORTEX-A15: .eabi_attribute 6, 10
334; CORTEX-A15: .eabi_attribute 7, 65
335; CORTEX-A15: .eabi_attribute 8, 1
336; CORTEX-A15: .eabi_attribute 9, 2
337; CORTEX-A15: .fpu neon-vfpv4
338; CORTEX-A15: .eabi_attribute 20, 1
339; CORTEX-A15: .eabi_attribute 21, 1
340; CORTEX-A15: .eabi_attribute 23, 3
341; CORTEX-A15: .eabi_attribute 24, 1
342; CORTEX-A15: .eabi_attribute 25, 1
343; CORTEX-A15-NOT: .eabi_attribute 27
344; CORTEX-A15-NOT: .eabi_attribute 28
345; CORTEX-A15: .eabi_attribute 36, 1
346; CORTEX-A15: .eabi_attribute 42, 1
347; CORTEX-A15: .eabi_attribute 44, 2
348; CORTEX-A15: .eabi_attribute 68, 3
349
350; CORTEX-M0:  .cpu cortex-m0
351; CORTEX-M0:  .eabi_attribute 6, 12
352; CORTEX-M0-NOT:  .eabi_attribute 7
353; CORTEX-M0:  .eabi_attribute 8, 0
354; CORTEX-M0:  .eabi_attribute 9, 1
355; CORTEX-M0:  .eabi_attribute 24, 1
356; CORTEX-M0:  .eabi_attribute 25, 1
357; CORTEX-M0-NOT:  .eabi_attribute 27
358; CORTEX-M0-NOT:  .eabi_attribute 28
359; CORTEX-M0-NOT:  .eabi_attribute 36
360; CORTEX-M0-NOT:  .eabi_attribute 42
361; CORTEX-M0-NOT:  .eabi_attribute 68
362
363; CORTEX-M3:  .cpu cortex-m3
364; CORTEX-M3:  .eabi_attribute 6, 10
365; CORTEX-M3:  .eabi_attribute 7, 77
366; CORTEX-M3:  .eabi_attribute 8, 0
367; CORTEX-M3:  .eabi_attribute 9, 2
368; CORTEX-M3:  .eabi_attribute 20, 1
369; CORTEX-M3:  .eabi_attribute 21, 1
370; CORTEX-M3:  .eabi_attribute 23, 3
371; CORTEX-M3:  .eabi_attribute 24, 1
372; CORTEX-M3:  .eabi_attribute 25, 1
373; CORTEX-M3-NOT:  .eabi_attribute 27
374; CORTEX-M3-NOT:  .eabi_attribute 28
375; CORTEX-M3-NOT:  .eabi_attribute 36
376; CORTEX-M3-NOT:  .eabi_attribute 42
377; CORTEX-M3-NOT:  .eabi_attribute 44
378; CORTEX-M3-NOT:  .eabi_attribute 68
379
380; CORTEX-M4-SOFT:  .cpu cortex-m4
381; CORTEX-M4-SOFT:  .eabi_attribute 6, 13
382; CORTEX-M4-SOFT:  .eabi_attribute 7, 77
383; CORTEX-M4-SOFT:  .eabi_attribute 8, 0
384; CORTEX-M4-SOFT:  .eabi_attribute 9, 2
385; CORTEX-M4-SOFT:  .fpu vfpv4-d16
386; CORTEX-M4-SOFT:  .eabi_attribute 20, 1
387; CORTEX-M4-SOFT:  .eabi_attribute 21, 1
388; CORTEX-M4-SOFT:  .eabi_attribute 23, 3
389; CORTEX-M4-SOFT:  .eabi_attribute 24, 1
390; CORTEX-M4-SOFT:  .eabi_attribute 25, 1
391; CORTEX-M4-SOFT:  .eabi_attribute 27, 1
392; CORTEX-M4-SOFT-NOT:  .eabi_attribute 28
393; CORTEX-M4-SOFT:  .eabi_attribute 36, 1
394; CORTEX-M4-SOFT-NOT:  .eabi_attribute 42
395; CORTEX-M4-SOFT-NOT:  .eabi_attribute 44
396; CORTEX-M4-SOFT-NOT:  .eabi_attribute 68
397
398; CORTEX-M4-HARD:  .cpu cortex-m4
399; CORTEX-M4-HARD:  .eabi_attribute 6, 13
400; CORTEX-M4-HARD:  .eabi_attribute 7, 77
401; CORTEX-M4-HARD:  .eabi_attribute 8, 0
402; CORTEX-M4-HARD:  .eabi_attribute 9, 2
403; CORTEX-M4-HARD:  .fpu vfpv4-d16
404; CORTEX-M4-HARD:  .eabi_attribute 20, 1
405; CORTEX-M4-HARD:  .eabi_attribute 21, 1
406; CORTEX-M4-HARD:  .eabi_attribute 23, 3
407; CORTEX-M4-HARD:  .eabi_attribute 24, 1
408; CORTEX-M4-HARD:  .eabi_attribute 25, 1
409; CORTEX-M4-HARD:  .eabi_attribute 27, 1
410; CORTEX-M4-HARD:  .eabi_attribute 28, 1
411; CORTEX-M4-HARD:  .eabi_attribute 36, 1
412; CORTEX-M4-HARD-NOT:  .eabi_attribute 42
413; CORTEX-M4-HARD-NOT:  .eabi_attribute 44
414; CORTEX-M4-HARD-NOT:  .eabi_attribute 68
415
416; CORTEX-M7:  .cpu    cortex-m7
417; CORTEX-M7:  .eabi_attribute 6, 13
418; CORTEX-M7:  .eabi_attribute 7, 77
419; CORTEX-M7:  .eabi_attribute 8, 0
420; CORTEX-M7:  .eabi_attribute 9, 2
421; CORTEX-M7-SOFT-NOT: .fpu
422; CORTEX-M7-SINGLE:  .fpu fpv5-d16
423; CORTEX-M7-DOUBLE:  .fpu fpv5-d16
424; CORTEX-M7:  .eabi_attribute 17, 1
425; CORTEX-M7:  .eabi_attribute 20, 1
426; CORTEX-M7:  .eabi_attribute 21, 1
427; CORTEX-M7:  .eabi_attribute 23, 3
428; CORTEX-M7:  .eabi_attribute 24, 1
429; CORTEX-M7:  .eabi_attribute 25, 1
430; CORTEX-M7-SOFT-NOT: .eabi_attribute 27
431; CORTEX-M7-SINGLE:  .eabi_attribute 27, 1
432; CORTEX-M7-DOUBLE-NOT: .eabi_attribute 27
433; CORTEX-M7:  .eabi_attribute 36, 1
434; CORTEX-M7:  .eabi_attribute 14, 0
435
436; CORTEX-R5:  .cpu cortex-r5
437; CORTEX-R5:  .eabi_attribute 6, 10
438; CORTEX-R5:  .eabi_attribute 7, 82
439; CORTEX-R5:  .eabi_attribute 8, 1
440; CORTEX-R5:  .eabi_attribute 9, 2
441; CORTEX-R5:  .fpu vfpv3-d16
442; CORTEX-R5:  .eabi_attribute 20, 1
443; CORTEX-R5:  .eabi_attribute 21, 1
444; CORTEX-R5:  .eabi_attribute 23, 3
445; CORTEX-R5:  .eabi_attribute 24, 1
446; CORTEX-R5:  .eabi_attribute 25, 1
447; CORTEX-R5:  .eabi_attribute 27, 1
448; CORTEX-R5-NOT:  .eabi_attribute 28
449; CORTEX-R5-NOT:  .eabi_attribute 36
450; CORTEX-R5-NOT:  .eabi_attribute 42
451; CORTEX-R5:  .eabi_attribute 44, 2
452; CORTEX-R5-NOT:  .eabi_attribute 68
453
454; CORTEX-A53:  .cpu cortex-a53
455; CORTEX-A53:  .eabi_attribute 6, 14
456; CORTEX-A53:  .eabi_attribute 7, 65
457; CORTEX-A53:  .eabi_attribute 8, 1
458; CORTEX-A53:  .eabi_attribute 9, 2
459; CORTEX-A53:  .fpu crypto-neon-fp-armv8
460; CORTEX-A53:  .eabi_attribute 12, 3
461; CORTEX-A53:  .eabi_attribute 24, 1
462; CORTEX-A53:  .eabi_attribute 25, 1
463; CORTEX-A53-NOT:  .eabi_attribute 27
464; CORTEX-A53-NOT:  .eabi_attribute 28
465; CORTEX-A53:  .eabi_attribute 36, 1
466; CORTEX-A53:  .eabi_attribute 42, 1
467; CORTEX-A53-NOT:  .eabi_attribute 44
468; CORTEX-A53:  .eabi_attribute 68, 3
469
470; CORTEX-A57:  .cpu cortex-a57
471; CORTEX-A57:  .eabi_attribute 6, 14
472; CORTEX-A57:  .eabi_attribute 7, 65
473; CORTEX-A57:  .eabi_attribute 8, 1
474; CORTEX-A57:  .eabi_attribute 9, 2
475; CORTEX-A57:  .fpu crypto-neon-fp-armv8
476; CORTEX-A57:  .eabi_attribute 12, 3
477; CORTEX-A57:  .eabi_attribute 24, 1
478; CORTEX-A57:  .eabi_attribute 25, 1
479; CORTEX-A57-NOT:  .eabi_attribute 27
480; CORTEX-A57-NOT:  .eabi_attribute 28
481; CORTEX-A57:  .eabi_attribute 36, 1
482; CORTEX-A57:  .eabi_attribute 42, 1
483; CORTEX-A57-NOT:  .eabi_attribute 44
484; CORTEX-A57:  .eabi_attribute 68, 3
485
486; RELOC-PIC:  .eabi_attribute 15, 1
487; RELOC-PIC:  .eabi_attribute 16, 1
488; RELOC-PIC:  .eabi_attribute 17, 2
489; RELOC-OTHER:  .eabi_attribute 17, 1
490
491; PCS-R9-USE:  .eabi_attribute 14, 0
492; PCS-R9-RESERVE:  .eabi_attribute 14, 3
493
494define i32 @f(i64 %z) {
495	ret i32 0
496}
497