blob: 6cf7e71dcd853eca69d7436830ab4e66d0625103 [file] [log] [blame]
Chandler Carruthf6cf1c22011-09-28 02:59:25 +00001// These tests are generated by running utils/generate_arch_predefine_tests.sh
2// to observe GCC's behavior (or some other system compiler's behavior).
3//
4// RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \
5// RUN: | FileCheck %s -check-prefix=CHECK_I386_M32
6// CHECK_I386_M32: #define __i386 1
7// CHECK_I386_M32: #define __i386__ 1
8// CHECK_I386_M32: #define __tune_i386__ 1
9// CHECK_I386_M32: #define i386 1
10//
11// RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \
12// RUN: | FileCheck %s -check-prefix=CHECK_I486_M32
13// CHECK_I486_M32: #define __i386 1
14// CHECK_I486_M32: #define __i386__ 1
15// CHECK_I486_M32: #define __i486 1
16// CHECK_I486_M32: #define __i486__ 1
17// CHECK_I486_M32: #define __tune_i486__ 1
18// CHECK_I486_M32: #define i386 1
19//
20// RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \
21// RUN: | FileCheck %s -check-prefix=CHECK_I586_M32
22// CHECK_I586_M32: #define __i386 1
23// CHECK_I586_M32: #define __i386__ 1
24// CHECK_I586_M32: #define __i586 1
25// CHECK_I586_M32: #define __i586__ 1
26// CHECK_I586_M32: #define __pentium 1
27// CHECK_I586_M32: #define __pentium__ 1
28// CHECK_I586_M32: #define __tune_i586__ 1
29// CHECK_I586_M32: #define __tune_pentium__ 1
30// CHECK_I586_M32: #define i386 1
31//
32// RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \
33// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M32
34// CHECK_PENTIUM_M32: #define __i386 1
35// CHECK_PENTIUM_M32: #define __i386__ 1
36// CHECK_PENTIUM_M32: #define __i586 1
37// CHECK_PENTIUM_M32: #define __i586__ 1
38// CHECK_PENTIUM_M32: #define __pentium 1
39// CHECK_PENTIUM_M32: #define __pentium__ 1
40// CHECK_PENTIUM_M32: #define __tune_i586__ 1
41// CHECK_PENTIUM_M32: #define __tune_pentium__ 1
42// CHECK_PENTIUM_M32: #define i386 1
43//
44// RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \
45// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M32
46// CHECK_PENTIUM_MMX_M32: #define __i386 1
47// CHECK_PENTIUM_MMX_M32: #define __i386__ 1
48// CHECK_PENTIUM_MMX_M32: #define __i586 1
49// CHECK_PENTIUM_MMX_M32: #define __i586__ 1
50// CHECK_PENTIUM_MMX_M32: #define __pentium 1
51// CHECK_PENTIUM_MMX_M32: #define __pentium__ 1
52// CHECK_PENTIUM_MMX_M32: #define __pentium_mmx__ 1
53// CHECK_PENTIUM_MMX_M32: #define __tune_i586__ 1
54// CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1
55// CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1
56// CHECK_PENTIUM_MMX_M32: #define i386 1
57//
58// RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \
59// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M32
60// CHECK_WINCHIP_C6_M32: #define __i386 1
61// CHECK_WINCHIP_C6_M32: #define __i386__ 1
62// CHECK_WINCHIP_C6_M32: #define __i486 1
63// CHECK_WINCHIP_C6_M32: #define __i486__ 1
64// CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1
65// CHECK_WINCHIP_C6_M32: #define i386 1
66//
67// RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \
68// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M32
69// CHECK_WINCHIP2_M32: #define __i386 1
70// CHECK_WINCHIP2_M32: #define __i386__ 1
71// CHECK_WINCHIP2_M32: #define __i486 1
72// CHECK_WINCHIP2_M32: #define __i486__ 1
73// CHECK_WINCHIP2_M32: #define __tune_i486__ 1
74// CHECK_WINCHIP2_M32: #define i386 1
75//
76// RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \
77// RUN: | FileCheck %s -check-prefix=CHECK_C3_M32
78// CHECK_C3_M32: #define __i386 1
79// CHECK_C3_M32: #define __i386__ 1
80// CHECK_C3_M32: #define __i486 1
81// CHECK_C3_M32: #define __i486__ 1
82// CHECK_C3_M32: #define __tune_i486__ 1
83// CHECK_C3_M32: #define i386 1
84//
85// RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \
86// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M32
87// CHECK_C3_2_M32: #define __i386 1
88// CHECK_C3_2_M32: #define __i386__ 1
89// CHECK_C3_2_M32: #define __i686 1
90// CHECK_C3_2_M32: #define __i686__ 1
91// CHECK_C3_2_M32: #define __pentiumpro 1
92// CHECK_C3_2_M32: #define __pentiumpro__ 1
93// CHECK_C3_2_M32: #define __tune_i686__ 1
94// CHECK_C3_2_M32: #define __tune_pentium2__ 1
95// CHECK_C3_2_M32: #define __tune_pentiumpro__ 1
96// CHECK_C3_2_M32: #define i386 1
97//
98// RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \
99// RUN: | FileCheck %s -check-prefix=CHECK_I686_M32
100// CHECK_I686_M32: #define __i386 1
101// CHECK_I686_M32: #define __i386__ 1
102// CHECK_I686_M32: #define __i686 1
103// CHECK_I686_M32: #define __i686__ 1
104// CHECK_I686_M32: #define __pentiumpro 1
105// CHECK_I686_M32: #define __pentiumpro__ 1
106// CHECK_I686_M32: #define i386 1
107//
108// RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \
109// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32
110// CHECK_PENTIUMPRO_M32: #define __i386 1
111// CHECK_PENTIUMPRO_M32: #define __i386__ 1
112// CHECK_PENTIUMPRO_M32: #define __i686 1
113// CHECK_PENTIUMPRO_M32: #define __i686__ 1
114// CHECK_PENTIUMPRO_M32: #define __pentiumpro 1
115// CHECK_PENTIUMPRO_M32: #define __pentiumpro__ 1
116// CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1
117// CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1
118// CHECK_PENTIUMPRO_M32: #define i386 1
119//
120// RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \
121// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M32
122// CHECK_PENTIUM2_M32: #define __i386 1
123// CHECK_PENTIUM2_M32: #define __i386__ 1
124// CHECK_PENTIUM2_M32: #define __i686 1
125// CHECK_PENTIUM2_M32: #define __i686__ 1
126// CHECK_PENTIUM2_M32: #define __pentiumpro 1
127// CHECK_PENTIUM2_M32: #define __pentiumpro__ 1
128// CHECK_PENTIUM2_M32: #define __tune_i686__ 1
129// CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1
130// CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1
131// CHECK_PENTIUM2_M32: #define i386 1
132//
133// RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \
134// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M32
135// CHECK_PENTIUM3_M32: #define __i386 1
136// CHECK_PENTIUM3_M32: #define __i386__ 1
137// CHECK_PENTIUM3_M32: #define __i686 1
138// CHECK_PENTIUM3_M32: #define __i686__ 1
139// CHECK_PENTIUM3_M32: #define __pentiumpro 1
140// CHECK_PENTIUM3_M32: #define __pentiumpro__ 1
141// CHECK_PENTIUM3_M32: #define __tune_i686__ 1
142// CHECK_PENTIUM3_M32: #define __tune_pentium2__ 1
143// CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1
144// CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1
145// CHECK_PENTIUM3_M32: #define i386 1
146//
147// RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \
148// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M32
149// CHECK_PENTIUM3M_M32: #define __i386 1
150// CHECK_PENTIUM3M_M32: #define __i386__ 1
151// CHECK_PENTIUM3M_M32: #define __i686 1
152// CHECK_PENTIUM3M_M32: #define __i686__ 1
153// CHECK_PENTIUM3M_M32: #define __pentiumpro 1
154// CHECK_PENTIUM3M_M32: #define __pentiumpro__ 1
155// CHECK_PENTIUM3M_M32: #define __tune_i686__ 1
156// CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1
157// CHECK_PENTIUM3M_M32: #define i386 1
158//
159// RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \
160// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M32
161// CHECK_PENTIUM_M_M32: #define __i386 1
162// CHECK_PENTIUM_M_M32: #define __i386__ 1
163// CHECK_PENTIUM_M_M32: #define __i686 1
164// CHECK_PENTIUM_M_M32: #define __i686__ 1
165// CHECK_PENTIUM_M_M32: #define __pentiumpro 1
166// CHECK_PENTIUM_M_M32: #define __pentiumpro__ 1
167// CHECK_PENTIUM_M_M32: #define __tune_i686__ 1
168// CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1
169// CHECK_PENTIUM_M_M32: #define i386 1
170//
171// RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \
172// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M32
173// CHECK_PENTIUM4_M32: #define __i386 1
174// CHECK_PENTIUM4_M32: #define __i386__ 1
175// CHECK_PENTIUM4_M32: #define __pentium4 1
176// CHECK_PENTIUM4_M32: #define __pentium4__ 1
177// CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1
178// CHECK_PENTIUM4_M32: #define i386 1
179//
180// RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \
181// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M32
182// CHECK_PENTIUM4M_M32: #define __i386 1
183// CHECK_PENTIUM4M_M32: #define __i386__ 1
184// CHECK_PENTIUM4M_M32: #define __pentium4 1
185// CHECK_PENTIUM4M_M32: #define __pentium4__ 1
186// CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1
187// CHECK_PENTIUM4M_M32: #define i386 1
188//
189// RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \
190// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M32
191// CHECK_PRESCOTT_M32: #define __i386 1
192// CHECK_PRESCOTT_M32: #define __i386__ 1
193// CHECK_PRESCOTT_M32: #define __nocona 1
194// CHECK_PRESCOTT_M32: #define __nocona__ 1
195// CHECK_PRESCOTT_M32: #define __tune_nocona__ 1
196// CHECK_PRESCOTT_M32: #define i386 1
197//
198// RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \
199// RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M32
200// CHECK_NOCONA_M32: #define __i386 1
201// CHECK_NOCONA_M32: #define __i386__ 1
202// CHECK_NOCONA_M32: #define __nocona 1
203// CHECK_NOCONA_M32: #define __nocona__ 1
204// CHECK_NOCONA_M32: #define __tune_nocona__ 1
205// CHECK_NOCONA_M32: #define i386 1
206//
207// RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \
208// RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M32
209// CHECK_CORE2_M32: #define __core2 1
210// CHECK_CORE2_M32: #define __core2__ 1
211// CHECK_CORE2_M32: #define __i386 1
212// CHECK_CORE2_M32: #define __i386__ 1
213// CHECK_CORE2_M32: #define __tune_core2__ 1
214// CHECK_CORE2_M32: #define i386 1
215//
216// RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \
217// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M32
218// CHECK_COREI7_M32: #define __corei7 1
219// CHECK_COREI7_M32: #define __corei7__ 1
220// CHECK_COREI7_M32: #define __i386 1
221// CHECK_COREI7_M32: #define __i386__ 1
222// CHECK_COREI7_M32: #define __tune_corei7__ 1
223// CHECK_COREI7_M32: #define i386 1
224//
225// RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \
226// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M32
227// CHECK_COREI7_AVX_M32: #define __corei7 1
228// CHECK_COREI7_AVX_M32: #define __corei7__ 1
229// CHECK_COREI7_AVX_M32: #define __i386 1
230// CHECK_COREI7_AVX_M32: #define __i386__ 1
231// CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1
232// CHECK_COREI7_AVX_M32: #define i386 1
233//
234// RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \
235// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M32
236// CHECK_CORE_AVX_I_M32: #define __corei7 1
237// CHECK_CORE_AVX_I_M32: #define __corei7__ 1
238// CHECK_CORE_AVX_I_M32: #define __i386 1
239// CHECK_CORE_AVX_I_M32: #define __i386__ 1
240// CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1
241// CHECK_CORE_AVX_I_M32: #define i386 1
242//
243// RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \
244// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32
245// CHECK_ATOM_M32: #define __atom 1
246// CHECK_ATOM_M32: #define __atom__ 1
247// CHECK_ATOM_M32: #define __i386 1
248// CHECK_ATOM_M32: #define __i386__ 1
249// CHECK_ATOM_M32: #define __tune_atom__ 1
250// CHECK_ATOM_M32: #define i386 1
251//
252// RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \
253// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M32
254// CHECK_GEODE_M32: #define __geode 1
255// CHECK_GEODE_M32: #define __geode__ 1
256// CHECK_GEODE_M32: #define __i386 1
257// CHECK_GEODE_M32: #define __i386__ 1
258// CHECK_GEODE_M32: #define __tune_geode__ 1
259// CHECK_GEODE_M32: #define i386 1
260//
261// RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \
262// RUN: | FileCheck %s -check-prefix=CHECK_K6_M32
263// CHECK_K6_M32: #define __i386 1
264// CHECK_K6_M32: #define __i386__ 1
265// CHECK_K6_M32: #define __k6 1
266// CHECK_K6_M32: #define __k6__ 1
267// CHECK_K6_M32: #define __tune_k6__ 1
268// CHECK_K6_M32: #define i386 1
269//
270// RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \
271// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M32
272// CHECK_K6_2_M32: #define __i386 1
273// CHECK_K6_2_M32: #define __i386__ 1
274// CHECK_K6_2_M32: #define __k6 1
275// CHECK_K6_2_M32: #define __k6_2__ 1
276// CHECK_K6_2_M32: #define __k6__ 1
277// CHECK_K6_2_M32: #define __tune_k6_2__ 1
278// CHECK_K6_2_M32: #define __tune_k6__ 1
279// CHECK_K6_2_M32: #define i386 1
280//
281// RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \
282// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M32
283// CHECK_K6_3_M32: #define __i386 1
284// CHECK_K6_3_M32: #define __i386__ 1
285// CHECK_K6_3_M32: #define __k6 1
286// CHECK_K6_3_M32: #define __k6_3__ 1
287// CHECK_K6_3_M32: #define __k6__ 1
288// CHECK_K6_3_M32: #define __tune_k6_3__ 1
289// CHECK_K6_3_M32: #define __tune_k6__ 1
290// CHECK_K6_3_M32: #define i386 1
291//
292// RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \
293// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M32
294// CHECK_ATHLON_M32: #define __athlon 1
295// CHECK_ATHLON_M32: #define __athlon__ 1
296// CHECK_ATHLON_M32: #define __i386 1
297// CHECK_ATHLON_M32: #define __i386__ 1
298// CHECK_ATHLON_M32: #define __tune_athlon__ 1
299// CHECK_ATHLON_M32: #define i386 1
300//
301// RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \
302// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M32
303// CHECK_ATHLON_TBIRD_M32: #define __athlon 1
304// CHECK_ATHLON_TBIRD_M32: #define __athlon__ 1
305// CHECK_ATHLON_TBIRD_M32: #define __i386 1
306// CHECK_ATHLON_TBIRD_M32: #define __i386__ 1
307// CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1
308// CHECK_ATHLON_TBIRD_M32: #define i386 1
309//
310// RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \
311// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M32
312// CHECK_ATHLON_4_M32: #define __athlon 1
313// CHECK_ATHLON_4_M32: #define __athlon__ 1
314// CHECK_ATHLON_4_M32: #define __athlon_sse__ 1
315// CHECK_ATHLON_4_M32: #define __i386 1
316// CHECK_ATHLON_4_M32: #define __i386__ 1
317// CHECK_ATHLON_4_M32: #define __tune_athlon__ 1
318// FIXME: This should be defined!
319// CHECK_ATHLON_4_M32-NOT: #define __tune_athlon_sse__ 1
320// CHECK_ATHLON_4_M32: #define i386 1
321//
322// RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \
323// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32
324// CHECK_ATHLON_XP_M32: #define __athlon 1
325// CHECK_ATHLON_XP_M32: #define __athlon__ 1
326// CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1
327// CHECK_ATHLON_XP_M32: #define __i386 1
328// CHECK_ATHLON_XP_M32: #define __i386__ 1
329// CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1
330// FIXME: This should be defined!
331// CHECK_ATHLON_XP_M32-NOT: #define __tune_athlon_sse__ 1
332// CHECK_ATHLON_XP_M32: #define i386 1
333//
334// RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \
335// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32
336// CHECK_ATHLON_MP_M32: #define __athlon 1
337// CHECK_ATHLON_MP_M32: #define __athlon__ 1
338// CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1
339// CHECK_ATHLON_MP_M32: #define __i386 1
340// CHECK_ATHLON_MP_M32: #define __i386__ 1
341// CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1
342// FIXME: This should be defined!
343// CHECK_ATHLON_MP_M32-NOT: #define __tune_athlon_sse__ 1
344// CHECK_ATHLON_MP_M32: #define i386 1
345//
346// RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \
347// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M32
348// CHECK_X86_64_M32: #define __i386 1
349// CHECK_X86_64_M32: #define __i386__ 1
350// CHECK_X86_64_M32: #define __k8 1
351// CHECK_X86_64_M32: #define __k8__ 1
352// CHECK_X86_64_M32: #define i386 1
353//
354// RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \
355// RUN: | FileCheck %s -check-prefix=CHECK_K8_M32
356// CHECK_K8_M32: #define __i386 1
357// CHECK_K8_M32: #define __i386__ 1
358// CHECK_K8_M32: #define __k8 1
359// CHECK_K8_M32: #define __k8__ 1
360// CHECK_K8_M32: #define __tune_k8__ 1
361// CHECK_K8_M32: #define i386 1
362//
363// RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \
364// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32
365// CHECK_K8_SSE3_M32: #define __i386 1
366// CHECK_K8_SSE3_M32: #define __i386__ 1
367// CHECK_K8_SSE3_M32: #define __k8 1
368// CHECK_K8_SSE3_M32: #define __k8__ 1
369// CHECK_K8_SSE3_M32: #define __tune_k8__ 1
370// CHECK_K8_SSE3_M32: #define i386 1
371//
372// RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \
373// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M32
374// CHECK_OPTERON_M32: #define __i386 1
375// CHECK_OPTERON_M32: #define __i386__ 1
376// CHECK_OPTERON_M32: #define __k8 1
377// CHECK_OPTERON_M32: #define __k8__ 1
378// CHECK_OPTERON_M32: #define __tune_k8__ 1
379// CHECK_OPTERON_M32: #define i386 1
380//
381// RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \
382// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32
383// CHECK_OPTERON_SSE3_M32: #define __i386 1
384// CHECK_OPTERON_SSE3_M32: #define __i386__ 1
385// CHECK_OPTERON_SSE3_M32: #define __k8 1
386// CHECK_OPTERON_SSE3_M32: #define __k8__ 1
387// CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1
388// CHECK_OPTERON_SSE3_M32: #define i386 1
389//
390// RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \
391// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M32
392// CHECK_ATHLON64_M32: #define __i386 1
393// CHECK_ATHLON64_M32: #define __i386__ 1
394// CHECK_ATHLON64_M32: #define __k8 1
395// CHECK_ATHLON64_M32: #define __k8__ 1
396// CHECK_ATHLON64_M32: #define __tune_k8__ 1
397// CHECK_ATHLON64_M32: #define i386 1
398//
399// RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \
400// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32
401// CHECK_ATHLON64_SSE3_M32: #define __i386 1
402// CHECK_ATHLON64_SSE3_M32: #define __i386__ 1
403// CHECK_ATHLON64_SSE3_M32: #define __k8 1
404// CHECK_ATHLON64_SSE3_M32: #define __k8__ 1
405// CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1
406// CHECK_ATHLON64_SSE3_M32: #define i386 1
407//
408// RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \
409// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32
410// CHECK_ATHLON_FX_M32: #define __i386 1
411// CHECK_ATHLON_FX_M32: #define __i386__ 1
412// CHECK_ATHLON_FX_M32: #define __k8 1
413// CHECK_ATHLON_FX_M32: #define __k8__ 1
414// CHECK_ATHLON_FX_M32: #define __tune_k8__ 1
415// CHECK_ATHLON_FX_M32: #define i386 1