blob: c59a08104ff82a34fbcb66e493256fb05f8fd896 [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
Chandler Carruth26a39142011-09-28 09:45:08 +000010// RUN: %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \
11// RUN: | FileCheck %s -check-prefix=CHECK_I386_M64
12// CHECK_I386_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +000013//
14// RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \
15// RUN: | FileCheck %s -check-prefix=CHECK_I486_M32
16// CHECK_I486_M32: #define __i386 1
17// CHECK_I486_M32: #define __i386__ 1
18// CHECK_I486_M32: #define __i486 1
19// CHECK_I486_M32: #define __i486__ 1
20// CHECK_I486_M32: #define __tune_i486__ 1
21// CHECK_I486_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +000022// RUN: %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \
23// RUN: | FileCheck %s -check-prefix=CHECK_I486_M64
24// CHECK_I486_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +000025//
26// RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \
27// RUN: | FileCheck %s -check-prefix=CHECK_I586_M32
28// CHECK_I586_M32: #define __i386 1
29// CHECK_I586_M32: #define __i386__ 1
30// CHECK_I586_M32: #define __i586 1
31// CHECK_I586_M32: #define __i586__ 1
32// CHECK_I586_M32: #define __pentium 1
33// CHECK_I586_M32: #define __pentium__ 1
34// CHECK_I586_M32: #define __tune_i586__ 1
35// CHECK_I586_M32: #define __tune_pentium__ 1
36// CHECK_I586_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +000037// RUN: %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \
38// RUN: | FileCheck %s -check-prefix=CHECK_I586_M64
39// CHECK_I586_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +000040//
41// RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \
42// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M32
43// CHECK_PENTIUM_M32: #define __i386 1
44// CHECK_PENTIUM_M32: #define __i386__ 1
45// CHECK_PENTIUM_M32: #define __i586 1
46// CHECK_PENTIUM_M32: #define __i586__ 1
47// CHECK_PENTIUM_M32: #define __pentium 1
48// CHECK_PENTIUM_M32: #define __pentium__ 1
49// CHECK_PENTIUM_M32: #define __tune_i586__ 1
50// CHECK_PENTIUM_M32: #define __tune_pentium__ 1
51// CHECK_PENTIUM_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +000052// RUN: %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \
53// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M64
54// CHECK_PENTIUM_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +000055//
56// RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \
57// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M32
58// CHECK_PENTIUM_MMX_M32: #define __i386 1
59// CHECK_PENTIUM_MMX_M32: #define __i386__ 1
60// CHECK_PENTIUM_MMX_M32: #define __i586 1
61// CHECK_PENTIUM_MMX_M32: #define __i586__ 1
62// CHECK_PENTIUM_MMX_M32: #define __pentium 1
63// CHECK_PENTIUM_MMX_M32: #define __pentium__ 1
64// CHECK_PENTIUM_MMX_M32: #define __pentium_mmx__ 1
65// CHECK_PENTIUM_MMX_M32: #define __tune_i586__ 1
66// CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1
67// CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1
68// CHECK_PENTIUM_MMX_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +000069// RUN: %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \
70// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M64
71// CHECK_PENTIUM_MMX_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +000072//
73// RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \
74// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M32
75// CHECK_WINCHIP_C6_M32: #define __i386 1
76// CHECK_WINCHIP_C6_M32: #define __i386__ 1
77// CHECK_WINCHIP_C6_M32: #define __i486 1
78// CHECK_WINCHIP_C6_M32: #define __i486__ 1
79// CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1
80// CHECK_WINCHIP_C6_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +000081// RUN: %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \
82// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M64
83// CHECK_WINCHIP_C6_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +000084//
85// RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \
86// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M32
87// CHECK_WINCHIP2_M32: #define __i386 1
88// CHECK_WINCHIP2_M32: #define __i386__ 1
89// CHECK_WINCHIP2_M32: #define __i486 1
90// CHECK_WINCHIP2_M32: #define __i486__ 1
91// CHECK_WINCHIP2_M32: #define __tune_i486__ 1
92// CHECK_WINCHIP2_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +000093// RUN: %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \
94// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M64
95// CHECK_WINCHIP2_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +000096//
97// RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \
98// RUN: | FileCheck %s -check-prefix=CHECK_C3_M32
99// CHECK_C3_M32: #define __i386 1
100// CHECK_C3_M32: #define __i386__ 1
101// CHECK_C3_M32: #define __i486 1
102// CHECK_C3_M32: #define __i486__ 1
103// CHECK_C3_M32: #define __tune_i486__ 1
104// CHECK_C3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000105// RUN: %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \
106// RUN: | FileCheck %s -check-prefix=CHECK_C3_M64
107// CHECK_C3_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000108//
109// RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \
110// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M32
111// CHECK_C3_2_M32: #define __i386 1
112// CHECK_C3_2_M32: #define __i386__ 1
113// CHECK_C3_2_M32: #define __i686 1
114// CHECK_C3_2_M32: #define __i686__ 1
115// CHECK_C3_2_M32: #define __pentiumpro 1
116// CHECK_C3_2_M32: #define __pentiumpro__ 1
117// CHECK_C3_2_M32: #define __tune_i686__ 1
118// CHECK_C3_2_M32: #define __tune_pentium2__ 1
119// CHECK_C3_2_M32: #define __tune_pentiumpro__ 1
120// CHECK_C3_2_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000121// RUN: %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \
122// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M64
123// CHECK_C3_2_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000124//
125// RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \
126// RUN: | FileCheck %s -check-prefix=CHECK_I686_M32
127// CHECK_I686_M32: #define __i386 1
128// CHECK_I686_M32: #define __i386__ 1
129// CHECK_I686_M32: #define __i686 1
130// CHECK_I686_M32: #define __i686__ 1
131// CHECK_I686_M32: #define __pentiumpro 1
132// CHECK_I686_M32: #define __pentiumpro__ 1
133// CHECK_I686_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000134// RUN: %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \
135// RUN: | FileCheck %s -check-prefix=CHECK_I686_M64
136// CHECK_I686_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000137//
138// RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \
139// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32
140// CHECK_PENTIUMPRO_M32: #define __i386 1
141// CHECK_PENTIUMPRO_M32: #define __i386__ 1
142// CHECK_PENTIUMPRO_M32: #define __i686 1
143// CHECK_PENTIUMPRO_M32: #define __i686__ 1
144// CHECK_PENTIUMPRO_M32: #define __pentiumpro 1
145// CHECK_PENTIUMPRO_M32: #define __pentiumpro__ 1
146// CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1
147// CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1
148// CHECK_PENTIUMPRO_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000149// RUN: %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \
150// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M64
151// CHECK_PENTIUMPRO_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000152//
153// RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \
154// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M32
155// CHECK_PENTIUM2_M32: #define __i386 1
156// CHECK_PENTIUM2_M32: #define __i386__ 1
157// CHECK_PENTIUM2_M32: #define __i686 1
158// CHECK_PENTIUM2_M32: #define __i686__ 1
159// CHECK_PENTIUM2_M32: #define __pentiumpro 1
160// CHECK_PENTIUM2_M32: #define __pentiumpro__ 1
161// CHECK_PENTIUM2_M32: #define __tune_i686__ 1
162// CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1
163// CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1
164// CHECK_PENTIUM2_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000165// RUN: %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \
166// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M64
167// CHECK_PENTIUM2_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000168//
169// RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \
170// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M32
171// CHECK_PENTIUM3_M32: #define __i386 1
172// CHECK_PENTIUM3_M32: #define __i386__ 1
173// CHECK_PENTIUM3_M32: #define __i686 1
174// CHECK_PENTIUM3_M32: #define __i686__ 1
175// CHECK_PENTIUM3_M32: #define __pentiumpro 1
176// CHECK_PENTIUM3_M32: #define __pentiumpro__ 1
177// CHECK_PENTIUM3_M32: #define __tune_i686__ 1
178// CHECK_PENTIUM3_M32: #define __tune_pentium2__ 1
179// CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1
180// CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1
181// CHECK_PENTIUM3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000182// RUN: %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \
183// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M64
184// CHECK_PENTIUM3_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000185//
186// RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \
187// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M32
188// CHECK_PENTIUM3M_M32: #define __i386 1
189// CHECK_PENTIUM3M_M32: #define __i386__ 1
190// CHECK_PENTIUM3M_M32: #define __i686 1
191// CHECK_PENTIUM3M_M32: #define __i686__ 1
192// CHECK_PENTIUM3M_M32: #define __pentiumpro 1
193// CHECK_PENTIUM3M_M32: #define __pentiumpro__ 1
194// CHECK_PENTIUM3M_M32: #define __tune_i686__ 1
195// CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1
196// CHECK_PENTIUM3M_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000197// RUN: %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \
198// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M64
199// CHECK_PENTIUM3M_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000200//
201// RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \
202// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M32
203// CHECK_PENTIUM_M_M32: #define __i386 1
204// CHECK_PENTIUM_M_M32: #define __i386__ 1
205// CHECK_PENTIUM_M_M32: #define __i686 1
206// CHECK_PENTIUM_M_M32: #define __i686__ 1
207// CHECK_PENTIUM_M_M32: #define __pentiumpro 1
208// CHECK_PENTIUM_M_M32: #define __pentiumpro__ 1
209// CHECK_PENTIUM_M_M32: #define __tune_i686__ 1
210// CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1
211// CHECK_PENTIUM_M_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000212// RUN: %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \
213// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M64
214// CHECK_PENTIUM_M_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000215//
216// RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \
217// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M32
218// CHECK_PENTIUM4_M32: #define __i386 1
219// CHECK_PENTIUM4_M32: #define __i386__ 1
220// CHECK_PENTIUM4_M32: #define __pentium4 1
221// CHECK_PENTIUM4_M32: #define __pentium4__ 1
222// CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1
223// CHECK_PENTIUM4_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000224// RUN: %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \
225// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M64
226// CHECK_PENTIUM4_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000227//
228// RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \
229// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M32
230// CHECK_PENTIUM4M_M32: #define __i386 1
231// CHECK_PENTIUM4M_M32: #define __i386__ 1
232// CHECK_PENTIUM4M_M32: #define __pentium4 1
233// CHECK_PENTIUM4M_M32: #define __pentium4__ 1
234// CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1
235// CHECK_PENTIUM4M_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000236// RUN: %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \
237// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M64
238// CHECK_PENTIUM4M_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000239//
240// RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \
241// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M32
242// CHECK_PRESCOTT_M32: #define __i386 1
243// CHECK_PRESCOTT_M32: #define __i386__ 1
244// CHECK_PRESCOTT_M32: #define __nocona 1
245// CHECK_PRESCOTT_M32: #define __nocona__ 1
246// CHECK_PRESCOTT_M32: #define __tune_nocona__ 1
247// CHECK_PRESCOTT_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000248// RUN: %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \
249// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M64
250// CHECK_PRESCOTT_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000251//
252// RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \
253// RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M32
254// CHECK_NOCONA_M32: #define __i386 1
255// CHECK_NOCONA_M32: #define __i386__ 1
256// CHECK_NOCONA_M32: #define __nocona 1
257// CHECK_NOCONA_M32: #define __nocona__ 1
258// CHECK_NOCONA_M32: #define __tune_nocona__ 1
259// CHECK_NOCONA_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000260// RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \
261// RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M64
262// CHECK_NOCONA_M64: #define __amd64 1
263// CHECK_NOCONA_M64: #define __amd64__ 1
264// CHECK_NOCONA_M64: #define __nocona 1
265// CHECK_NOCONA_M64: #define __nocona__ 1
266// CHECK_NOCONA_M64: #define __tune_nocona__ 1
267// CHECK_NOCONA_M64: #define __x86_64 1
268// CHECK_NOCONA_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000269//
270// RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \
271// RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M32
272// CHECK_CORE2_M32: #define __core2 1
273// CHECK_CORE2_M32: #define __core2__ 1
274// CHECK_CORE2_M32: #define __i386 1
275// CHECK_CORE2_M32: #define __i386__ 1
276// CHECK_CORE2_M32: #define __tune_core2__ 1
277// CHECK_CORE2_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000278// RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \
279// RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M64
280// CHECK_CORE2_M64: #define __amd64 1
281// CHECK_CORE2_M64: #define __amd64__ 1
282// CHECK_CORE2_M64: #define __core2 1
283// CHECK_CORE2_M64: #define __core2__ 1
284// CHECK_CORE2_M64: #define __tune_core2__ 1
285// CHECK_CORE2_M64: #define __x86_64 1
286// CHECK_CORE2_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000287//
288// RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \
289// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M32
290// CHECK_COREI7_M32: #define __corei7 1
291// CHECK_COREI7_M32: #define __corei7__ 1
292// CHECK_COREI7_M32: #define __i386 1
293// CHECK_COREI7_M32: #define __i386__ 1
294// CHECK_COREI7_M32: #define __tune_corei7__ 1
295// CHECK_COREI7_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000296// RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \
297// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M64
298// CHECK_COREI7_M64: #define __amd64 1
299// CHECK_COREI7_M64: #define __amd64__ 1
300// CHECK_COREI7_M64: #define __corei7 1
301// CHECK_COREI7_M64: #define __corei7__ 1
302// CHECK_COREI7_M64: #define __tune_corei7__ 1
303// CHECK_COREI7_M64: #define __x86_64 1
304// CHECK_COREI7_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000305//
306// RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \
307// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M32
308// CHECK_COREI7_AVX_M32: #define __corei7 1
309// CHECK_COREI7_AVX_M32: #define __corei7__ 1
310// CHECK_COREI7_AVX_M32: #define __i386 1
311// CHECK_COREI7_AVX_M32: #define __i386__ 1
312// CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1
313// CHECK_COREI7_AVX_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000314// RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \
315// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M64
316// CHECK_COREI7_AVX_M64: #define __amd64 1
317// CHECK_COREI7_AVX_M64: #define __amd64__ 1
318// CHECK_COREI7_AVX_M64: #define __corei7 1
319// CHECK_COREI7_AVX_M64: #define __corei7__ 1
320// CHECK_COREI7_AVX_M64: #define __tune_corei7__ 1
321// CHECK_COREI7_AVX_M64: #define __x86_64 1
322// CHECK_COREI7_AVX_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000323//
324// RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \
325// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M32
326// CHECK_CORE_AVX_I_M32: #define __corei7 1
327// CHECK_CORE_AVX_I_M32: #define __corei7__ 1
328// CHECK_CORE_AVX_I_M32: #define __i386 1
329// CHECK_CORE_AVX_I_M32: #define __i386__ 1
330// CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1
331// CHECK_CORE_AVX_I_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000332// RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \
333// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M64
334// CHECK_CORE_AVX_I_M64: #define __amd64 1
335// CHECK_CORE_AVX_I_M64: #define __amd64__ 1
336// CHECK_CORE_AVX_I_M64: #define __corei7 1
337// CHECK_CORE_AVX_I_M64: #define __corei7__ 1
338// CHECK_CORE_AVX_I_M64: #define __tune_corei7__ 1
339// CHECK_CORE_AVX_I_M64: #define __x86_64 1
340// CHECK_CORE_AVX_I_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000341//
342// RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \
343// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32
344// CHECK_ATOM_M32: #define __atom 1
345// CHECK_ATOM_M32: #define __atom__ 1
346// CHECK_ATOM_M32: #define __i386 1
347// CHECK_ATOM_M32: #define __i386__ 1
348// CHECK_ATOM_M32: #define __tune_atom__ 1
349// CHECK_ATOM_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000350// RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \
351// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M64
352// CHECK_ATOM_M64: #define __amd64 1
353// CHECK_ATOM_M64: #define __amd64__ 1
354// CHECK_ATOM_M64: #define __atom 1
355// CHECK_ATOM_M64: #define __atom__ 1
356// CHECK_ATOM_M64: #define __tune_atom__ 1
357// CHECK_ATOM_M64: #define __x86_64 1
358// CHECK_ATOM_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000359//
360// RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \
361// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M32
362// CHECK_GEODE_M32: #define __geode 1
363// CHECK_GEODE_M32: #define __geode__ 1
364// CHECK_GEODE_M32: #define __i386 1
365// CHECK_GEODE_M32: #define __i386__ 1
366// CHECK_GEODE_M32: #define __tune_geode__ 1
367// CHECK_GEODE_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000368// RUN: %clang -march=geode -m64 -E -dM %s -o - 2>&1 \
369// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M64
370// CHECK_GEODE_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000371//
372// RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \
373// RUN: | FileCheck %s -check-prefix=CHECK_K6_M32
374// CHECK_K6_M32: #define __i386 1
375// CHECK_K6_M32: #define __i386__ 1
376// CHECK_K6_M32: #define __k6 1
377// CHECK_K6_M32: #define __k6__ 1
378// CHECK_K6_M32: #define __tune_k6__ 1
379// CHECK_K6_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000380// RUN: %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \
381// RUN: | FileCheck %s -check-prefix=CHECK_K6_M64
382// CHECK_K6_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000383//
384// RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \
385// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M32
386// CHECK_K6_2_M32: #define __i386 1
387// CHECK_K6_2_M32: #define __i386__ 1
388// CHECK_K6_2_M32: #define __k6 1
389// CHECK_K6_2_M32: #define __k6_2__ 1
390// CHECK_K6_2_M32: #define __k6__ 1
391// CHECK_K6_2_M32: #define __tune_k6_2__ 1
392// CHECK_K6_2_M32: #define __tune_k6__ 1
393// CHECK_K6_2_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000394// RUN: %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \
395// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M64
396// CHECK_K6_2_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000397//
398// RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \
399// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M32
400// CHECK_K6_3_M32: #define __i386 1
401// CHECK_K6_3_M32: #define __i386__ 1
402// CHECK_K6_3_M32: #define __k6 1
403// CHECK_K6_3_M32: #define __k6_3__ 1
404// CHECK_K6_3_M32: #define __k6__ 1
405// CHECK_K6_3_M32: #define __tune_k6_3__ 1
406// CHECK_K6_3_M32: #define __tune_k6__ 1
407// CHECK_K6_3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000408// RUN: %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \
409// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M64
410// CHECK_K6_3_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000411//
412// RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \
413// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M32
414// CHECK_ATHLON_M32: #define __athlon 1
415// CHECK_ATHLON_M32: #define __athlon__ 1
416// CHECK_ATHLON_M32: #define __i386 1
417// CHECK_ATHLON_M32: #define __i386__ 1
418// CHECK_ATHLON_M32: #define __tune_athlon__ 1
419// CHECK_ATHLON_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000420// RUN: %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \
421// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M64
422// CHECK_ATHLON_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000423//
424// RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \
425// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M32
426// CHECK_ATHLON_TBIRD_M32: #define __athlon 1
427// CHECK_ATHLON_TBIRD_M32: #define __athlon__ 1
428// CHECK_ATHLON_TBIRD_M32: #define __i386 1
429// CHECK_ATHLON_TBIRD_M32: #define __i386__ 1
430// CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1
431// CHECK_ATHLON_TBIRD_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000432// RUN: %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \
433// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M64
434// CHECK_ATHLON_TBIRD_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000435//
436// RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \
437// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M32
438// CHECK_ATHLON_4_M32: #define __athlon 1
439// CHECK_ATHLON_4_M32: #define __athlon__ 1
440// CHECK_ATHLON_4_M32: #define __athlon_sse__ 1
441// CHECK_ATHLON_4_M32: #define __i386 1
442// CHECK_ATHLON_4_M32: #define __i386__ 1
443// CHECK_ATHLON_4_M32: #define __tune_athlon__ 1
444// FIXME: This should be defined!
445// CHECK_ATHLON_4_M32-NOT: #define __tune_athlon_sse__ 1
446// CHECK_ATHLON_4_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000447// RUN: %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \
448// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64
449// CHECK_ATHLON_4_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000450//
451// RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \
452// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32
453// CHECK_ATHLON_XP_M32: #define __athlon 1
454// CHECK_ATHLON_XP_M32: #define __athlon__ 1
455// CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1
456// CHECK_ATHLON_XP_M32: #define __i386 1
457// CHECK_ATHLON_XP_M32: #define __i386__ 1
458// CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1
459// FIXME: This should be defined!
460// CHECK_ATHLON_XP_M32-NOT: #define __tune_athlon_sse__ 1
461// CHECK_ATHLON_XP_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000462// RUN: %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \
463// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64
464// CHECK_ATHLON_XP_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000465//
466// RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \
467// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32
468// CHECK_ATHLON_MP_M32: #define __athlon 1
469// CHECK_ATHLON_MP_M32: #define __athlon__ 1
470// CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1
471// CHECK_ATHLON_MP_M32: #define __i386 1
472// CHECK_ATHLON_MP_M32: #define __i386__ 1
473// CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1
474// FIXME: This should be defined!
475// CHECK_ATHLON_MP_M32-NOT: #define __tune_athlon_sse__ 1
476// CHECK_ATHLON_MP_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000477// RUN: %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \
478// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64
479// CHECK_ATHLON_MP_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000480//
481// RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \
482// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M32
483// CHECK_X86_64_M32: #define __i386 1
484// CHECK_X86_64_M32: #define __i386__ 1
485// CHECK_X86_64_M32: #define __k8 1
486// CHECK_X86_64_M32: #define __k8__ 1
487// CHECK_X86_64_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000488// RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \
489// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M64
490// CHECK_X86_64_M64: #define __amd64 1
491// CHECK_X86_64_M64: #define __amd64__ 1
492// CHECK_X86_64_M64: #define __k8 1
493// CHECK_X86_64_M64: #define __k8__ 1
494// CHECK_X86_64_M64: #define __x86_64 1
495// CHECK_X86_64_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000496//
497// RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \
498// RUN: | FileCheck %s -check-prefix=CHECK_K8_M32
499// CHECK_K8_M32: #define __i386 1
500// CHECK_K8_M32: #define __i386__ 1
501// CHECK_K8_M32: #define __k8 1
502// CHECK_K8_M32: #define __k8__ 1
503// CHECK_K8_M32: #define __tune_k8__ 1
504// CHECK_K8_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000505// RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \
506// RUN: | FileCheck %s -check-prefix=CHECK_K8_M64
507// CHECK_K8_M64: #define __amd64 1
508// CHECK_K8_M64: #define __amd64__ 1
509// CHECK_K8_M64: #define __k8 1
510// CHECK_K8_M64: #define __k8__ 1
511// CHECK_K8_M64: #define __tune_k8__ 1
512// CHECK_K8_M64: #define __x86_64 1
513// CHECK_K8_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000514//
515// RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \
516// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32
517// CHECK_K8_SSE3_M32: #define __i386 1
518// CHECK_K8_SSE3_M32: #define __i386__ 1
519// CHECK_K8_SSE3_M32: #define __k8 1
520// CHECK_K8_SSE3_M32: #define __k8__ 1
521// CHECK_K8_SSE3_M32: #define __tune_k8__ 1
522// CHECK_K8_SSE3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000523// RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \
524// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M64
525// CHECK_K8_SSE3_M64: #define __amd64 1
526// CHECK_K8_SSE3_M64: #define __amd64__ 1
527// CHECK_K8_SSE3_M64: #define __k8 1
528// CHECK_K8_SSE3_M64: #define __k8__ 1
529// CHECK_K8_SSE3_M64: #define __tune_k8__ 1
530// CHECK_K8_SSE3_M64: #define __x86_64 1
531// CHECK_K8_SSE3_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000532//
533// RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \
534// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M32
535// CHECK_OPTERON_M32: #define __i386 1
536// CHECK_OPTERON_M32: #define __i386__ 1
537// CHECK_OPTERON_M32: #define __k8 1
538// CHECK_OPTERON_M32: #define __k8__ 1
539// CHECK_OPTERON_M32: #define __tune_k8__ 1
540// CHECK_OPTERON_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000541// RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \
542// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M64
543// CHECK_OPTERON_M64: #define __amd64 1
544// CHECK_OPTERON_M64: #define __amd64__ 1
545// CHECK_OPTERON_M64: #define __k8 1
546// CHECK_OPTERON_M64: #define __k8__ 1
547// CHECK_OPTERON_M64: #define __tune_k8__ 1
548// CHECK_OPTERON_M64: #define __x86_64 1
549// CHECK_OPTERON_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000550//
551// RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \
552// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32
553// CHECK_OPTERON_SSE3_M32: #define __i386 1
554// CHECK_OPTERON_SSE3_M32: #define __i386__ 1
555// CHECK_OPTERON_SSE3_M32: #define __k8 1
556// CHECK_OPTERON_SSE3_M32: #define __k8__ 1
557// CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1
558// CHECK_OPTERON_SSE3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000559// RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \
560// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M64
561// CHECK_OPTERON_SSE3_M64: #define __amd64 1
562// CHECK_OPTERON_SSE3_M64: #define __amd64__ 1
563// CHECK_OPTERON_SSE3_M64: #define __k8 1
564// CHECK_OPTERON_SSE3_M64: #define __k8__ 1
565// CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1
566// CHECK_OPTERON_SSE3_M64: #define __x86_64 1
567// CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000568//
569// RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \
570// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M32
571// CHECK_ATHLON64_M32: #define __i386 1
572// CHECK_ATHLON64_M32: #define __i386__ 1
573// CHECK_ATHLON64_M32: #define __k8 1
574// CHECK_ATHLON64_M32: #define __k8__ 1
575// CHECK_ATHLON64_M32: #define __tune_k8__ 1
576// CHECK_ATHLON64_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000577// RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \
578// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M64
579// CHECK_ATHLON64_M64: #define __amd64 1
580// CHECK_ATHLON64_M64: #define __amd64__ 1
581// CHECK_ATHLON64_M64: #define __k8 1
582// CHECK_ATHLON64_M64: #define __k8__ 1
583// CHECK_ATHLON64_M64: #define __tune_k8__ 1
584// CHECK_ATHLON64_M64: #define __x86_64 1
585// CHECK_ATHLON64_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000586//
587// RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \
588// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32
589// CHECK_ATHLON64_SSE3_M32: #define __i386 1
590// CHECK_ATHLON64_SSE3_M32: #define __i386__ 1
591// CHECK_ATHLON64_SSE3_M32: #define __k8 1
592// CHECK_ATHLON64_SSE3_M32: #define __k8__ 1
593// CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1
594// CHECK_ATHLON64_SSE3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000595// RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \
596// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M64
597// CHECK_ATHLON64_SSE3_M64: #define __amd64 1
598// CHECK_ATHLON64_SSE3_M64: #define __amd64__ 1
599// CHECK_ATHLON64_SSE3_M64: #define __k8 1
600// CHECK_ATHLON64_SSE3_M64: #define __k8__ 1
601// CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1
602// CHECK_ATHLON64_SSE3_M64: #define __x86_64 1
603// CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000604//
605// RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \
606// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32
607// CHECK_ATHLON_FX_M32: #define __i386 1
608// CHECK_ATHLON_FX_M32: #define __i386__ 1
609// CHECK_ATHLON_FX_M32: #define __k8 1
610// CHECK_ATHLON_FX_M32: #define __k8__ 1
611// CHECK_ATHLON_FX_M32: #define __tune_k8__ 1
612// CHECK_ATHLON_FX_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000613// RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \
614// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M64
615// CHECK_ATHLON_FX_M64: #define __amd64 1
616// CHECK_ATHLON_FX_M64: #define __amd64__ 1
617// CHECK_ATHLON_FX_M64: #define __k8 1
618// CHECK_ATHLON_FX_M64: #define __k8__ 1
619// CHECK_ATHLON_FX_M64: #define __tune_k8__ 1
620// CHECK_ATHLON_FX_M64: #define __x86_64 1
621// CHECK_ATHLON_FX_M64: #define __x86_64__ 1