blob: 2e776822f6d956b6a393d88af80649bc6ae8ec7d [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
Chandler Carruth53bf4f92011-09-28 09:54:11 +0000444// CHECK_ATHLON_4_M32: #define __tune_athlon_sse__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000445// CHECK_ATHLON_4_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000446// RUN: %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \
447// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64
448// CHECK_ATHLON_4_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000449//
450// RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \
451// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32
452// CHECK_ATHLON_XP_M32: #define __athlon 1
453// CHECK_ATHLON_XP_M32: #define __athlon__ 1
454// CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1
455// CHECK_ATHLON_XP_M32: #define __i386 1
456// CHECK_ATHLON_XP_M32: #define __i386__ 1
457// CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1
Chandler Carruth53bf4f92011-09-28 09:54:11 +0000458// CHECK_ATHLON_XP_M32: #define __tune_athlon_sse__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000459// CHECK_ATHLON_XP_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000460// RUN: %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \
461// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64
462// CHECK_ATHLON_XP_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000463//
464// RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \
465// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32
466// CHECK_ATHLON_MP_M32: #define __athlon 1
467// CHECK_ATHLON_MP_M32: #define __athlon__ 1
468// CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1
469// CHECK_ATHLON_MP_M32: #define __i386 1
470// CHECK_ATHLON_MP_M32: #define __i386__ 1
471// CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1
Chandler Carruth53bf4f92011-09-28 09:54:11 +0000472// CHECK_ATHLON_MP_M32: #define __tune_athlon_sse__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000473// CHECK_ATHLON_MP_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000474// RUN: %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \
475// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64
476// CHECK_ATHLON_MP_M64: error:
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000477//
478// RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \
479// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M32
480// CHECK_X86_64_M32: #define __i386 1
481// CHECK_X86_64_M32: #define __i386__ 1
482// CHECK_X86_64_M32: #define __k8 1
483// CHECK_X86_64_M32: #define __k8__ 1
484// CHECK_X86_64_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000485// RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \
486// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M64
487// CHECK_X86_64_M64: #define __amd64 1
488// CHECK_X86_64_M64: #define __amd64__ 1
489// CHECK_X86_64_M64: #define __k8 1
490// CHECK_X86_64_M64: #define __k8__ 1
491// CHECK_X86_64_M64: #define __x86_64 1
492// CHECK_X86_64_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000493//
494// RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \
495// RUN: | FileCheck %s -check-prefix=CHECK_K8_M32
496// CHECK_K8_M32: #define __i386 1
497// CHECK_K8_M32: #define __i386__ 1
498// CHECK_K8_M32: #define __k8 1
499// CHECK_K8_M32: #define __k8__ 1
500// CHECK_K8_M32: #define __tune_k8__ 1
501// CHECK_K8_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000502// RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \
503// RUN: | FileCheck %s -check-prefix=CHECK_K8_M64
504// CHECK_K8_M64: #define __amd64 1
505// CHECK_K8_M64: #define __amd64__ 1
506// CHECK_K8_M64: #define __k8 1
507// CHECK_K8_M64: #define __k8__ 1
508// CHECK_K8_M64: #define __tune_k8__ 1
509// CHECK_K8_M64: #define __x86_64 1
510// CHECK_K8_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000511//
512// RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \
513// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32
514// CHECK_K8_SSE3_M32: #define __i386 1
515// CHECK_K8_SSE3_M32: #define __i386__ 1
516// CHECK_K8_SSE3_M32: #define __k8 1
517// CHECK_K8_SSE3_M32: #define __k8__ 1
518// CHECK_K8_SSE3_M32: #define __tune_k8__ 1
519// CHECK_K8_SSE3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000520// RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \
521// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M64
522// CHECK_K8_SSE3_M64: #define __amd64 1
523// CHECK_K8_SSE3_M64: #define __amd64__ 1
524// CHECK_K8_SSE3_M64: #define __k8 1
525// CHECK_K8_SSE3_M64: #define __k8__ 1
526// CHECK_K8_SSE3_M64: #define __tune_k8__ 1
527// CHECK_K8_SSE3_M64: #define __x86_64 1
528// CHECK_K8_SSE3_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000529//
530// RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \
531// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M32
532// CHECK_OPTERON_M32: #define __i386 1
533// CHECK_OPTERON_M32: #define __i386__ 1
534// CHECK_OPTERON_M32: #define __k8 1
535// CHECK_OPTERON_M32: #define __k8__ 1
536// CHECK_OPTERON_M32: #define __tune_k8__ 1
537// CHECK_OPTERON_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000538// RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \
539// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M64
540// CHECK_OPTERON_M64: #define __amd64 1
541// CHECK_OPTERON_M64: #define __amd64__ 1
542// CHECK_OPTERON_M64: #define __k8 1
543// CHECK_OPTERON_M64: #define __k8__ 1
544// CHECK_OPTERON_M64: #define __tune_k8__ 1
545// CHECK_OPTERON_M64: #define __x86_64 1
546// CHECK_OPTERON_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000547//
548// RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \
549// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32
550// CHECK_OPTERON_SSE3_M32: #define __i386 1
551// CHECK_OPTERON_SSE3_M32: #define __i386__ 1
552// CHECK_OPTERON_SSE3_M32: #define __k8 1
553// CHECK_OPTERON_SSE3_M32: #define __k8__ 1
554// CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1
555// CHECK_OPTERON_SSE3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000556// RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \
557// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M64
558// CHECK_OPTERON_SSE3_M64: #define __amd64 1
559// CHECK_OPTERON_SSE3_M64: #define __amd64__ 1
560// CHECK_OPTERON_SSE3_M64: #define __k8 1
561// CHECK_OPTERON_SSE3_M64: #define __k8__ 1
562// CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1
563// CHECK_OPTERON_SSE3_M64: #define __x86_64 1
564// CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000565//
566// RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \
567// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M32
568// CHECK_ATHLON64_M32: #define __i386 1
569// CHECK_ATHLON64_M32: #define __i386__ 1
570// CHECK_ATHLON64_M32: #define __k8 1
571// CHECK_ATHLON64_M32: #define __k8__ 1
572// CHECK_ATHLON64_M32: #define __tune_k8__ 1
573// CHECK_ATHLON64_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000574// RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \
575// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M64
576// CHECK_ATHLON64_M64: #define __amd64 1
577// CHECK_ATHLON64_M64: #define __amd64__ 1
578// CHECK_ATHLON64_M64: #define __k8 1
579// CHECK_ATHLON64_M64: #define __k8__ 1
580// CHECK_ATHLON64_M64: #define __tune_k8__ 1
581// CHECK_ATHLON64_M64: #define __x86_64 1
582// CHECK_ATHLON64_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000583//
584// RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \
585// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32
586// CHECK_ATHLON64_SSE3_M32: #define __i386 1
587// CHECK_ATHLON64_SSE3_M32: #define __i386__ 1
588// CHECK_ATHLON64_SSE3_M32: #define __k8 1
589// CHECK_ATHLON64_SSE3_M32: #define __k8__ 1
590// CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1
591// CHECK_ATHLON64_SSE3_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000592// RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \
593// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M64
594// CHECK_ATHLON64_SSE3_M64: #define __amd64 1
595// CHECK_ATHLON64_SSE3_M64: #define __amd64__ 1
596// CHECK_ATHLON64_SSE3_M64: #define __k8 1
597// CHECK_ATHLON64_SSE3_M64: #define __k8__ 1
598// CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1
599// CHECK_ATHLON64_SSE3_M64: #define __x86_64 1
600// CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1
Chandler Carruthf6cf1c22011-09-28 02:59:25 +0000601//
602// RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \
603// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32
604// CHECK_ATHLON_FX_M32: #define __i386 1
605// CHECK_ATHLON_FX_M32: #define __i386__ 1
606// CHECK_ATHLON_FX_M32: #define __k8 1
607// CHECK_ATHLON_FX_M32: #define __k8__ 1
608// CHECK_ATHLON_FX_M32: #define __tune_k8__ 1
609// CHECK_ATHLON_FX_M32: #define i386 1
Chandler Carruth26a39142011-09-28 09:45:08 +0000610// RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \
611// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M64
612// CHECK_ATHLON_FX_M64: #define __amd64 1
613// CHECK_ATHLON_FX_M64: #define __amd64__ 1
614// CHECK_ATHLON_FX_M64: #define __k8 1
615// CHECK_ATHLON_FX_M64: #define __k8__ 1
616// CHECK_ATHLON_FX_M64: #define __tune_k8__ 1
617// CHECK_ATHLON_FX_M64: #define __x86_64 1
618// CHECK_ATHLON_FX_M64: #define __x86_64__ 1