xref: /minix3/external/bsd/llvm/dist/clang/test/Preprocessor/predefined-arch-macros.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc // Begin X86/GCC/Linux tests ----------------
2f4a2713aSLionel Sambuc //
3f4a2713aSLionel Sambuc // RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \
4f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
5f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I386_M32
6f4a2713aSLionel Sambuc // CHECK_I386_M32: #define __i386 1
7f4a2713aSLionel Sambuc // CHECK_I386_M32: #define __i386__ 1
8f4a2713aSLionel Sambuc // CHECK_I386_M32: #define __tune_i386__ 1
9f4a2713aSLionel Sambuc // CHECK_I386_M32: #define i386 1
10f4a2713aSLionel Sambuc // RUN: not %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \
11f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
12f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I386_M64
13f4a2713aSLionel Sambuc // CHECK_I386_M64: error:
14f4a2713aSLionel Sambuc //
15f4a2713aSLionel Sambuc // RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \
16f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
17f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I486_M32
18f4a2713aSLionel Sambuc // CHECK_I486_M32: #define __i386 1
19f4a2713aSLionel Sambuc // CHECK_I486_M32: #define __i386__ 1
20f4a2713aSLionel Sambuc // CHECK_I486_M32: #define __i486 1
21f4a2713aSLionel Sambuc // CHECK_I486_M32: #define __i486__ 1
22f4a2713aSLionel Sambuc // CHECK_I486_M32: #define __tune_i486__ 1
23f4a2713aSLionel Sambuc // CHECK_I486_M32: #define i386 1
24f4a2713aSLionel Sambuc // RUN: not %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \
25f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
26f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I486_M64
27f4a2713aSLionel Sambuc // CHECK_I486_M64: error:
28f4a2713aSLionel Sambuc //
29f4a2713aSLionel Sambuc // RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \
30f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
31f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I586_M32
32f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __i386 1
33f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __i386__ 1
34f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __i586 1
35f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __i586__ 1
36f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __pentium 1
37f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __pentium__ 1
38f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __tune_i586__ 1
39f4a2713aSLionel Sambuc // CHECK_I586_M32: #define __tune_pentium__ 1
40f4a2713aSLionel Sambuc // CHECK_I586_M32: #define i386 1
41f4a2713aSLionel Sambuc // RUN: not %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \
42f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
43f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I586_M64
44f4a2713aSLionel Sambuc // CHECK_I586_M64: error:
45f4a2713aSLionel Sambuc //
46f4a2713aSLionel Sambuc // RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \
47f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
48f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM_M32
49f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __i386 1
50f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __i386__ 1
51f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __i586 1
52f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __i586__ 1
53f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __pentium 1
54f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __pentium__ 1
55f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __tune_i586__ 1
56f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define __tune_pentium__ 1
57f4a2713aSLionel Sambuc // CHECK_PENTIUM_M32: #define i386 1
58f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \
59f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
60f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM_M64
61f4a2713aSLionel Sambuc // CHECK_PENTIUM_M64: error:
62f4a2713aSLionel Sambuc //
63f4a2713aSLionel Sambuc // RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \
64f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
65f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M32
66f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __MMX__ 1
67f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __i386 1
68f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __i386__ 1
69f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __i586 1
70f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __i586__ 1
71f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __pentium 1
72f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __pentium__ 1
73f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __pentium_mmx__ 1
74f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __tune_i586__ 1
75f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1
76f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1
77f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M32: #define i386 1
78f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \
79f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
80f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M64
81f4a2713aSLionel Sambuc // CHECK_PENTIUM_MMX_M64: error:
82f4a2713aSLionel Sambuc //
83f4a2713aSLionel Sambuc // RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \
84f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
85f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M32
86f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M32: #define __MMX__ 1
87f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M32: #define __i386 1
88f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M32: #define __i386__ 1
89f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M32: #define __i486 1
90f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M32: #define __i486__ 1
91f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1
92f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M32: #define i386 1
93f4a2713aSLionel Sambuc // RUN: not %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \
94f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
95f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M64
96f4a2713aSLionel Sambuc // CHECK_WINCHIP_C6_M64: error:
97f4a2713aSLionel Sambuc //
98f4a2713aSLionel Sambuc // RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \
99f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
100f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_WINCHIP2_M32
101f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define __3dNOW__ 1
102f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define __MMX__ 1
103f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define __i386 1
104f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define __i386__ 1
105f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define __i486 1
106f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define __i486__ 1
107f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define __tune_i486__ 1
108f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M32: #define i386 1
109f4a2713aSLionel Sambuc // RUN: not %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \
110f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
111f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_WINCHIP2_M64
112f4a2713aSLionel Sambuc // CHECK_WINCHIP2_M64: error:
113f4a2713aSLionel Sambuc //
114f4a2713aSLionel Sambuc // RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \
115f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
116f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_C3_M32
117f4a2713aSLionel Sambuc // CHECK_C3_M32: #define __3dNOW__ 1
118f4a2713aSLionel Sambuc // CHECK_C3_M32: #define __MMX__ 1
119f4a2713aSLionel Sambuc // CHECK_C3_M32: #define __i386 1
120f4a2713aSLionel Sambuc // CHECK_C3_M32: #define __i386__ 1
121f4a2713aSLionel Sambuc // CHECK_C3_M32: #define __i486 1
122f4a2713aSLionel Sambuc // CHECK_C3_M32: #define __i486__ 1
123f4a2713aSLionel Sambuc // CHECK_C3_M32: #define __tune_i486__ 1
124f4a2713aSLionel Sambuc // CHECK_C3_M32: #define i386 1
125f4a2713aSLionel Sambuc // RUN: not %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \
126f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
127f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_C3_M64
128f4a2713aSLionel Sambuc // CHECK_C3_M64: error:
129f4a2713aSLionel Sambuc //
130f4a2713aSLionel Sambuc // RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \
131f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
132f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_C3_2_M32
133f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __MMX__ 1
134f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __SSE__ 1
135f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __i386 1
136f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __i386__ 1
137f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __i686 1
138f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __i686__ 1
139f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __pentiumpro 1
140f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __pentiumpro__ 1
141f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __tune_i686__ 1
142f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __tune_pentium2__ 1
143f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define __tune_pentiumpro__ 1
144f4a2713aSLionel Sambuc // CHECK_C3_2_M32: #define i386 1
145f4a2713aSLionel Sambuc // RUN: not %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \
146f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
147f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_C3_2_M64
148f4a2713aSLionel Sambuc // CHECK_C3_2_M64: error:
149f4a2713aSLionel Sambuc //
150f4a2713aSLionel Sambuc // RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \
151f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
152f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I686_M32
153f4a2713aSLionel Sambuc // CHECK_I686_M32: #define __i386 1
154f4a2713aSLionel Sambuc // CHECK_I686_M32: #define __i386__ 1
155f4a2713aSLionel Sambuc // CHECK_I686_M32: #define __i686 1
156f4a2713aSLionel Sambuc // CHECK_I686_M32: #define __i686__ 1
157f4a2713aSLionel Sambuc // CHECK_I686_M32: #define __pentiumpro 1
158f4a2713aSLionel Sambuc // CHECK_I686_M32: #define __pentiumpro__ 1
159f4a2713aSLionel Sambuc // CHECK_I686_M32: #define i386 1
160f4a2713aSLionel Sambuc // RUN: not %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \
161f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
162f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_I686_M64
163f4a2713aSLionel Sambuc // CHECK_I686_M64: error:
164f4a2713aSLionel Sambuc //
165f4a2713aSLionel Sambuc // RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \
166f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
167f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32
168f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __i386 1
169f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __i386__ 1
170f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __i686 1
171f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __i686__ 1
172f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __pentiumpro 1
173f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __pentiumpro__ 1
174f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1
175f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1
176f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M32: #define i386 1
177f4a2713aSLionel Sambuc // RUN: not %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \
178f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
179f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M64
180f4a2713aSLionel Sambuc // CHECK_PENTIUMPRO_M64: error:
181f4a2713aSLionel Sambuc //
182f4a2713aSLionel Sambuc // RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \
183f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
184f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM2_M32
185f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __MMX__ 1
186f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __i386 1
187f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __i386__ 1
188f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __i686 1
189f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __i686__ 1
190f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __pentiumpro 1
191f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __pentiumpro__ 1
192f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __tune_i686__ 1
193f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1
194f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1
195f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M32: #define i386 1
196f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \
197f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
198f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM2_M64
199f4a2713aSLionel Sambuc // CHECK_PENTIUM2_M64: error:
200f4a2713aSLionel Sambuc //
201f4a2713aSLionel Sambuc // RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \
202f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
203f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM3_M32
204f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __MMX__ 1
205f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __SSE__ 1
206f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __i386 1
207f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __i386__ 1
208f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __i686 1
209f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __i686__ 1
210f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __pentiumpro 1
211f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __pentiumpro__ 1
212f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __tune_i686__ 1
213f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __tune_pentium2__ 1
214f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1
215f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1
216f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M32: #define i386 1
217f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \
218f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
219f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM3_M64
220f4a2713aSLionel Sambuc // CHECK_PENTIUM3_M64: error:
221f4a2713aSLionel Sambuc //
222f4a2713aSLionel Sambuc // RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \
223f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
224f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M32
225f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __MMX__ 1
226f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __SSE__ 1
227f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __i386 1
228f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __i386__ 1
229f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __i686 1
230f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __i686__ 1
231f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __pentiumpro 1
232f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __pentiumpro__ 1
233f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __tune_i686__ 1
234f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1
235f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M32: #define i386 1
236f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \
237f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
238f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M64
239f4a2713aSLionel Sambuc // CHECK_PENTIUM3M_M64: error:
240f4a2713aSLionel Sambuc //
241f4a2713aSLionel Sambuc // RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \
242f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
243f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M32
244f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __MMX__ 1
245f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __SSE2__ 1
246f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __SSE__ 1
247f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __i386 1
248f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __i386__ 1
249f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __i686 1
250f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __i686__ 1
251f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __pentiumpro 1
252f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __pentiumpro__ 1
253f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __tune_i686__ 1
254f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1
255f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M32: #define i386 1
256f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \
257f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
258f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M64
259f4a2713aSLionel Sambuc // CHECK_PENTIUM_M_M64: error:
260f4a2713aSLionel Sambuc //
261f4a2713aSLionel Sambuc // RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \
262f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
263f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM4_M32
264f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __MMX__ 1
265f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __SSE2__ 1
266f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __SSE__ 1
267f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __i386 1
268f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __i386__ 1
269f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __pentium4 1
270f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __pentium4__ 1
271f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1
272f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M32: #define i386 1
273f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \
274f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
275f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM4_M64
276f4a2713aSLionel Sambuc // CHECK_PENTIUM4_M64: error:
277f4a2713aSLionel Sambuc //
278f4a2713aSLionel Sambuc // RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \
279f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
280f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M32
281f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __MMX__ 1
282f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __SSE2__ 1
283f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __SSE__ 1
284f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __i386 1
285f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __i386__ 1
286f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __pentium4 1
287f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __pentium4__ 1
288f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1
289f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M32: #define i386 1
290f4a2713aSLionel Sambuc // RUN: not %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \
291f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
292f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M64
293f4a2713aSLionel Sambuc // CHECK_PENTIUM4M_M64: error:
294f4a2713aSLionel Sambuc //
295f4a2713aSLionel Sambuc // RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \
296f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
297f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PRESCOTT_M32
298f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __MMX__ 1
299f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __SSE2__ 1
300f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __SSE3__ 1
301f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __SSE__ 1
302f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __i386 1
303f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __i386__ 1
304f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __nocona 1
305f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __nocona__ 1
306f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define __tune_nocona__ 1
307f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M32: #define i386 1
308f4a2713aSLionel Sambuc // RUN: not %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \
309f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
310f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PRESCOTT_M64
311f4a2713aSLionel Sambuc // CHECK_PRESCOTT_M64: error:
312f4a2713aSLionel Sambuc //
313f4a2713aSLionel Sambuc // RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \
314f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
315f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_NOCONA_M32
316f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __MMX__ 1
317f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __SSE2__ 1
318f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __SSE3__ 1
319f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __SSE__ 1
320f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __i386 1
321f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __i386__ 1
322f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __nocona 1
323f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __nocona__ 1
324f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define __tune_nocona__ 1
325f4a2713aSLionel Sambuc // CHECK_NOCONA_M32: #define i386 1
326f4a2713aSLionel Sambuc // RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \
327f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
328f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_NOCONA_M64
329f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __MMX__ 1
330f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __SSE2_MATH__ 1
331f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __SSE2__ 1
332f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __SSE3__ 1
333f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __SSE_MATH__ 1
334f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __SSE__ 1
335f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __amd64 1
336f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __amd64__ 1
337f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __nocona 1
338f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __nocona__ 1
339f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __tune_nocona__ 1
340f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __x86_64 1
341f4a2713aSLionel Sambuc // CHECK_NOCONA_M64: #define __x86_64__ 1
342f4a2713aSLionel Sambuc //
343f4a2713aSLionel Sambuc // RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \
344f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
345f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_CORE2_M32
346f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __MMX__ 1
347f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __SSE2__ 1
348f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __SSE3__ 1
349f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __SSE__ 1
350f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __SSSE3__ 1
351f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __core2 1
352f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __core2__ 1
353f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __i386 1
354f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __i386__ 1
355f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define __tune_core2__ 1
356f4a2713aSLionel Sambuc // CHECK_CORE2_M32: #define i386 1
357f4a2713aSLionel Sambuc // RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \
358f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
359f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_CORE2_M64
360f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __MMX__ 1
361f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __SSE2_MATH__ 1
362f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __SSE2__ 1
363f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __SSE3__ 1
364f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __SSE_MATH__ 1
365f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __SSE__ 1
366f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __SSSE3__ 1
367f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __amd64 1
368f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __amd64__ 1
369f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __core2 1
370f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __core2__ 1
371f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __tune_core2__ 1
372f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __x86_64 1
373f4a2713aSLionel Sambuc // CHECK_CORE2_M64: #define __x86_64__ 1
374f4a2713aSLionel Sambuc //
375f4a2713aSLionel Sambuc // RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \
376f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
377f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_COREI7_M32
378f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __MMX__ 1
379f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __POPCNT__ 1
380f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __SSE2__ 1
381f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __SSE3__ 1
382f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __SSE4_1__ 1
383f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __SSE4_2__ 1
384f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __SSE__ 1
385f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __SSSE3__ 1
386f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __corei7 1
387f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __corei7__ 1
388f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __i386 1
389f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __i386__ 1
390f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define __tune_corei7__ 1
391f4a2713aSLionel Sambuc // CHECK_COREI7_M32: #define i386 1
392f4a2713aSLionel Sambuc // RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \
393f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
394f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_COREI7_M64
395f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __MMX__ 1
396f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __POPCNT__ 1
397f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSE2_MATH__ 1
398f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSE2__ 1
399f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSE3__ 1
400f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSE4_1__ 1
401f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSE4_2__ 1
402f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSE_MATH__ 1
403f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSE__ 1
404f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __SSSE3__ 1
405f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __amd64 1
406f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __amd64__ 1
407f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __corei7 1
408f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __corei7__ 1
409f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __tune_corei7__ 1
410f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __x86_64 1
411f4a2713aSLionel Sambuc // CHECK_COREI7_M64: #define __x86_64__ 1
412f4a2713aSLionel Sambuc //
413f4a2713aSLionel Sambuc // RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \
414f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
415f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M32
416f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __AES__ 1
417f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __AVX__ 1
418f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __MMX__ 1
419f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __PCLMUL__ 1
420f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32-NOT: __RDRND__
421f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __POPCNT__ 1
422f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __SSE2__ 1
423f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __SSE3__ 1
424f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __SSE4_1__ 1
425f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __SSE4_2__ 1
426f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __SSE__ 1
427f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __SSSE3__ 1
428f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __corei7 1
429f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __corei7__ 1
430f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __i386 1
431f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __i386__ 1
432f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1
433f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M32: #define i386 1
434f4a2713aSLionel Sambuc // RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \
435f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
436f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M64
437f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __AES__ 1
438f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __AVX__ 1
439f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __MMX__ 1
440f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __PCLMUL__ 1
441f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64-NOT: __RDRND__
442f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __POPCNT__ 1
443f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSE2_MATH__ 1
444f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSE2__ 1
445f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSE3__ 1
446f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSE4_1__ 1
447f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSE4_2__ 1
448f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSE_MATH__ 1
449f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSE__ 1
450f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __SSSE3__ 1
451f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __amd64 1
452f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __amd64__ 1
453f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __corei7 1
454f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __corei7__ 1
455f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __tune_corei7__ 1
456f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __x86_64 1
457f4a2713aSLionel Sambuc // CHECK_COREI7_AVX_M64: #define __x86_64__ 1
458f4a2713aSLionel Sambuc //
459f4a2713aSLionel Sambuc // RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \
460f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
461f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M32
462f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __AES__ 1
463f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __AVX__ 1
464f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __F16C__ 1
465f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __MMX__ 1
466f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __PCLMUL__ 1
467f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __RDRND__ 1
468f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __SSE2__ 1
469f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __SSE3__ 1
470f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __SSE4_1__ 1
471f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __SSE4_2__ 1
472f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __SSE__ 1
473f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __SSSE3__ 1
474f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __corei7 1
475f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __corei7__ 1
476f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __i386 1
477f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __i386__ 1
478f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1
479f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M32: #define i386 1
480f4a2713aSLionel Sambuc // RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \
481f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
482f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M64
483f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __AES__ 1
484f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __AVX__ 1
485f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __F16C__ 1
486f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __MMX__ 1
487f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __PCLMUL__ 1
488f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __RDRND__ 1
489f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSE2_MATH__ 1
490f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSE2__ 1
491f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSE3__ 1
492f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSE4_1__ 1
493f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSE4_2__ 1
494f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSE_MATH__ 1
495f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSE__ 1
496f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __SSSE3__ 1
497f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __amd64 1
498f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __amd64__ 1
499f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __corei7 1
500f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __corei7__ 1
501f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __tune_corei7__ 1
502f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __x86_64 1
503f4a2713aSLionel Sambuc // CHECK_CORE_AVX_I_M64: #define __x86_64__ 1
504f4a2713aSLionel Sambuc //
505f4a2713aSLionel Sambuc // RUN: %clang -march=core-avx2 -m32 -E -dM %s -o - 2>&1 \
506f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
507f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M32
508f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __AES__ 1
509f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __AVX2__ 1
510f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __AVX__ 1
511f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __BMI2__ 1
512f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __BMI__ 1
513f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __F16C__ 1
514f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __FMA__ 1
515f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __LZCNT__ 1
516f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __MMX__ 1
517f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __PCLMUL__ 1
518f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __POPCNT__ 1
519f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __RDRND__ 1
520f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __RTM__ 1
521f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __SSE2__ 1
522f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __SSE3__ 1
523f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __SSE4_1__ 1
524f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __SSE4_2__ 1
525f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __SSE__ 1
526f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __SSSE3__ 1
527f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __corei7 1
528f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __corei7__ 1
529f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __i386 1
530f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __i386__ 1
531f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define __tune_corei7__ 1
532f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M32: #define i386 1
533f4a2713aSLionel Sambuc // RUN: %clang -march=core-avx2 -m64 -E -dM %s -o - 2>&1 \
534f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
535f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M64
536f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __AES__ 1
537f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __AVX2__ 1
538f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __AVX__ 1
539f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __BMI2__ 1
540f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __BMI__ 1
541f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __F16C__ 1
542f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __FMA__ 1
543f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __LZCNT__ 1
544f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __MMX__ 1
545f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __PCLMUL__ 1
546f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __POPCNT__ 1
547f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __RDRND__ 1
548f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __RTM__ 1
549f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSE2_MATH__ 1
550f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSE2__ 1
551f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSE3__ 1
552f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSE4_1__ 1
553f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSE4_2__ 1
554f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSE_MATH__ 1
555f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSE__ 1
556f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __SSSE3__ 1
557f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __amd64 1
558f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __amd64__ 1
559f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __corei7 1
560f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __corei7__ 1
561f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __tune_corei7__ 1
562f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __x86_64 1
563f4a2713aSLionel Sambuc // CHECK_CORE_AVX2_M64: #define __x86_64__ 1
564f4a2713aSLionel Sambuc //
565*0a6a1f1dSLionel Sambuc // RUN: %clang -march=broadwell -m32 -E -dM %s -o - 2>&1 \
566*0a6a1f1dSLionel Sambuc // RUN:     -target i386-unknown-linux \
567*0a6a1f1dSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BROADWELL_M32
568*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __ADX__ 1
569*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __AES__ 1
570*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __AVX2__ 1
571*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __AVX__ 1
572*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __BMI2__ 1
573*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __BMI__ 1
574*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __F16C__ 1
575*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __FMA__ 1
576*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __LZCNT__ 1
577*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __MMX__ 1
578*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __PCLMUL__ 1
579*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __POPCNT__ 1
580*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __RDRND__ 1
581*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __RDSEED__ 1
582*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __RTM__ 1
583*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __SSE2__ 1
584*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __SSE3__ 1
585*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __SSE4_1__ 1
586*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __SSE4_2__ 1
587*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __SSE__ 1
588*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __SSSE3__ 1
589*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __corei7 1
590*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __corei7__ 1
591*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __i386 1
592*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __i386__ 1
593*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define __tune_corei7__ 1
594*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M32: #define i386 1
595*0a6a1f1dSLionel Sambuc // RUN: %clang -march=broadwell -m64 -E -dM %s -o - 2>&1 \
596*0a6a1f1dSLionel Sambuc // RUN:     -target i386-unknown-linux \
597*0a6a1f1dSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BROADWELL_M64
598*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __ADX__ 1
599*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __AES__ 1
600*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __AVX2__ 1
601*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __AVX__ 1
602*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __BMI2__ 1
603*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __BMI__ 1
604*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __F16C__ 1
605*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __FMA__ 1
606*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __LZCNT__ 1
607*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __MMX__ 1
608*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __PCLMUL__ 1
609*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __POPCNT__ 1
610*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __RDRND__ 1
611*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __RDSEED__ 1
612*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __RTM__ 1
613*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSE2_MATH__ 1
614*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSE2__ 1
615*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSE3__ 1
616*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSE4_1__ 1
617*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSE4_2__ 1
618*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSE_MATH__ 1
619*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSE__ 1
620*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __SSSE3__ 1
621*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __amd64 1
622*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __amd64__ 1
623*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __corei7 1
624*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __corei7__ 1
625*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __tune_corei7__ 1
626*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __x86_64 1
627*0a6a1f1dSLionel Sambuc // CHECK_BROADWELL_M64: #define __x86_64__ 1
628*0a6a1f1dSLionel Sambuc //
629f4a2713aSLionel Sambuc // RUN: %clang -march=knl -m32 -E -dM %s -o - 2>&1 \
630f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
631f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_KNL_M32
632f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __AES__ 1
633f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __AVX2__ 1
634f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __AVX512CD__ 1
635f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __AVX512ER__ 1
636f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __AVX512F__ 1
637f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __AVX512PF__ 1
638f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __AVX__ 1
639f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __BMI2__ 1
640f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __BMI__ 1
641f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __F16C__ 1
642f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __FMA__ 1
643f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __LZCNT__ 1
644f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __MMX__ 1
645f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __PCLMUL__ 1
646f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __POPCNT__ 1
647f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __RDRND__ 1
648f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __RTM__ 1
649f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __SSE2__ 1
650f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __SSE3__ 1
651f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __SSE4_1__ 1
652f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __SSE4_2__ 1
653f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __SSE__ 1
654f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __SSSE3__ 1
655f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __i386 1
656f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __i386__ 1
657f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __knl 1
658f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __knl__ 1
659f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define __tune_knl__ 1
660f4a2713aSLionel Sambuc // CHECK_KNL_M32: #define i386 1
661*0a6a1f1dSLionel Sambuc 
662f4a2713aSLionel Sambuc // RUN: %clang -march=knl -m64 -E -dM %s -o - 2>&1 \
663f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
664f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_KNL_M64
665f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __AES__ 1
666f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __AVX2__ 1
667f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __AVX512CD__ 1
668f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __AVX512ER__ 1
669f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __AVX512F__ 1
670f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __AVX512PF__ 1
671f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __AVX__ 1
672f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __BMI2__ 1
673f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __BMI__ 1
674f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __F16C__ 1
675f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __FMA__ 1
676f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __LZCNT__ 1
677f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __MMX__ 1
678f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __PCLMUL__ 1
679f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __POPCNT__ 1
680f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __RDRND__ 1
681f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __RTM__ 1
682f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSE2_MATH__ 1
683f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSE2__ 1
684f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSE3__ 1
685f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSE4_1__ 1
686f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSE4_2__ 1
687f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSE_MATH__ 1
688f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSE__ 1
689f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __SSSE3__ 1
690f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __amd64 1
691f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __amd64__ 1
692f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __knl 1
693f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __knl__ 1
694f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __tune_knl__ 1
695f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __x86_64 1
696f4a2713aSLionel Sambuc // CHECK_KNL_M64: #define __x86_64__ 1
697f4a2713aSLionel Sambuc //
698*0a6a1f1dSLionel Sambuc // RUN: %clang -march=skx -m32 -E -dM %s -o - 2>&1 \
699*0a6a1f1dSLionel Sambuc // RUN:     -target i386-unknown-linux \
700*0a6a1f1dSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_SKX_M32
701*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AES__ 1
702*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AVX2__ 1
703*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AVX512BW__ 1
704*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AVX512CD__ 1
705*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AVX512DQ__ 1
706*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AVX512F__ 1
707*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AVX512VL__ 1
708*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __AVX__ 1
709*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __BMI2__ 1
710*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __BMI__ 1
711*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __F16C__ 1
712*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __FMA__ 1
713*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __LZCNT__ 1
714*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __MMX__ 1
715*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __PCLMUL__ 1
716*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __POPCNT__ 1
717*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __RDRND__ 1
718*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __RTM__ 1
719*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __SSE2__ 1
720*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __SSE3__ 1
721*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __SSE4_1__ 1
722*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __SSE4_2__ 1
723*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __SSE__ 1
724*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __SSSE3__ 1
725*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __i386 1
726*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __i386__ 1
727*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __skx 1
728*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __skx__ 1
729*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define __tune_skx__ 1
730*0a6a1f1dSLionel Sambuc // CHECK_SKX_M32: #define i386 1
731*0a6a1f1dSLionel Sambuc 
732*0a6a1f1dSLionel Sambuc // RUN: %clang -march=skx -m64 -E -dM %s -o - 2>&1 \
733*0a6a1f1dSLionel Sambuc // RUN:     -target i386-unknown-linux \
734*0a6a1f1dSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_SKX_M64
735*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AES__ 1
736*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AVX2__ 1
737*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AVX512BW__ 1
738*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AVX512CD__ 1
739*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AVX512DQ__ 1
740*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AVX512F__ 1
741*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AVX512VL__ 1
742*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __AVX__ 1
743*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __BMI2__ 1
744*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __BMI__ 1
745*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __F16C__ 1
746*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __FMA__ 1
747*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __LZCNT__ 1
748*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __MMX__ 1
749*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __PCLMUL__ 1
750*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __POPCNT__ 1
751*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __RDRND__ 1
752*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __RTM__ 1
753*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSE2_MATH__ 1
754*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSE2__ 1
755*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSE3__ 1
756*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSE4_1__ 1
757*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSE4_2__ 1
758*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSE_MATH__ 1
759*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSE__ 1
760*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __SSSE3__ 1
761*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __amd64 1
762*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __amd64__ 1
763*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __skx 1
764*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __skx__ 1
765*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __tune_skx__ 1
766*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __x86_64 1
767*0a6a1f1dSLionel Sambuc // CHECK_SKX_M64: #define __x86_64__ 1
768*0a6a1f1dSLionel Sambuc //
769f4a2713aSLionel Sambuc // RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \
770f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
771f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATOM_M32
772f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __MMX__ 1
773f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __SSE2__ 1
774f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __SSE3__ 1
775f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __SSE__ 1
776f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __SSSE3__ 1
777f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __atom 1
778f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __atom__ 1
779f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __i386 1
780f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __i386__ 1
781f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define __tune_atom__ 1
782f4a2713aSLionel Sambuc // CHECK_ATOM_M32: #define i386 1
783f4a2713aSLionel Sambuc // RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \
784f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
785f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATOM_M64
786f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __MMX__ 1
787f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __SSE2_MATH__ 1
788f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __SSE2__ 1
789f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __SSE3__ 1
790f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __SSE_MATH__ 1
791f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __SSE__ 1
792f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __SSSE3__ 1
793f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __amd64 1
794f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __amd64__ 1
795f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __atom 1
796f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __atom__ 1
797f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __tune_atom__ 1
798f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __x86_64 1
799f4a2713aSLionel Sambuc // CHECK_ATOM_M64: #define __x86_64__ 1
800f4a2713aSLionel Sambuc //
801f4a2713aSLionel Sambuc // RUN: %clang -march=slm -m32 -E -dM %s -o - 2>&1 \
802f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
803f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_SLM_M32
804f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __MMX__ 1
805f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __SSE2__ 1
806f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __SSE3__ 1
807f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __SSE4_1__ 1
808f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __SSE4_2__ 1
809f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __SSE__ 1
810f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __SSSE3__ 1
811f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __i386 1
812f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __i386__ 1
813f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __slm 1
814f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __slm__ 1
815f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define __tune_slm__ 1
816f4a2713aSLionel Sambuc // CHECK_SLM_M32: #define i386 1
817f4a2713aSLionel Sambuc // RUN: %clang -march=slm -m64 -E -dM %s -o - 2>&1 \
818f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
819f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_SLM_M64
820f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __MMX__ 1
821f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSE2_MATH__ 1
822f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSE2__ 1
823f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSE3__ 1
824f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSE4_1__ 1
825f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSE4_2__ 1
826f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSE_MATH__ 1
827f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSE__ 1
828f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __SSSE3__ 1
829f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __amd64 1
830f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __amd64__ 1
831f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __slm 1
832f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __slm__ 1
833f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __tune_slm__ 1
834f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __x86_64 1
835f4a2713aSLionel Sambuc // CHECK_SLM_M64: #define __x86_64__ 1
836f4a2713aSLionel Sambuc //
837f4a2713aSLionel Sambuc // RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \
838f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
839f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_GEODE_M32
840f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __3dNOW_A__ 1
841f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __3dNOW__ 1
842f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __MMX__ 1
843f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __geode 1
844f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __geode__ 1
845f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __i386 1
846f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __i386__ 1
847f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define __tune_geode__ 1
848f4a2713aSLionel Sambuc // CHECK_GEODE_M32: #define i386 1
849f4a2713aSLionel Sambuc // RUN: not %clang -march=geode -m64 -E -dM %s -o - 2>&1 \
850f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
851f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_GEODE_M64
852f4a2713aSLionel Sambuc // CHECK_GEODE_M64: error:
853f4a2713aSLionel Sambuc //
854f4a2713aSLionel Sambuc // RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \
855f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
856f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K6_M32
857f4a2713aSLionel Sambuc // CHECK_K6_M32: #define __MMX__ 1
858f4a2713aSLionel Sambuc // CHECK_K6_M32: #define __i386 1
859f4a2713aSLionel Sambuc // CHECK_K6_M32: #define __i386__ 1
860f4a2713aSLionel Sambuc // CHECK_K6_M32: #define __k6 1
861f4a2713aSLionel Sambuc // CHECK_K6_M32: #define __k6__ 1
862f4a2713aSLionel Sambuc // CHECK_K6_M32: #define __tune_k6__ 1
863f4a2713aSLionel Sambuc // CHECK_K6_M32: #define i386 1
864f4a2713aSLionel Sambuc // RUN: not %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \
865f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
866f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K6_M64
867f4a2713aSLionel Sambuc // CHECK_K6_M64: error:
868f4a2713aSLionel Sambuc //
869f4a2713aSLionel Sambuc // RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \
870f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
871f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K6_2_M32
872f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __3dNOW__ 1
873f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __MMX__ 1
874f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __i386 1
875f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __i386__ 1
876f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __k6 1
877f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __k6_2__ 1
878f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __k6__ 1
879f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __tune_k6_2__ 1
880f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define __tune_k6__ 1
881f4a2713aSLionel Sambuc // CHECK_K6_2_M32: #define i386 1
882f4a2713aSLionel Sambuc // RUN: not %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \
883f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
884f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K6_2_M64
885f4a2713aSLionel Sambuc // CHECK_K6_2_M64: error:
886f4a2713aSLionel Sambuc //
887f4a2713aSLionel Sambuc // RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \
888f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
889f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K6_3_M32
890f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __3dNOW__ 1
891f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __MMX__ 1
892f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __i386 1
893f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __i386__ 1
894f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __k6 1
895f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __k6_3__ 1
896f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __k6__ 1
897f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __tune_k6_3__ 1
898f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define __tune_k6__ 1
899f4a2713aSLionel Sambuc // CHECK_K6_3_M32: #define i386 1
900f4a2713aSLionel Sambuc // RUN: not %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \
901f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
902f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K6_3_M64
903f4a2713aSLionel Sambuc // CHECK_K6_3_M64: error:
904f4a2713aSLionel Sambuc //
905f4a2713aSLionel Sambuc // RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \
906f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
907f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_M32
908f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __3dNOW_A__ 1
909f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __3dNOW__ 1
910f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __MMX__ 1
911f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __athlon 1
912f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __athlon__ 1
913f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __i386 1
914f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __i386__ 1
915f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define __tune_athlon__ 1
916f4a2713aSLionel Sambuc // CHECK_ATHLON_M32: #define i386 1
917f4a2713aSLionel Sambuc // RUN: not %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \
918f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
919f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_M64
920f4a2713aSLionel Sambuc // CHECK_ATHLON_M64: error:
921f4a2713aSLionel Sambuc //
922f4a2713aSLionel Sambuc // RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \
923f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
924f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M32
925f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __3dNOW_A__ 1
926f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __3dNOW__ 1
927f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __MMX__ 1
928f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __athlon 1
929f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __athlon__ 1
930f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __i386 1
931f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __i386__ 1
932f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1
933f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M32: #define i386 1
934f4a2713aSLionel Sambuc // RUN: not %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \
935f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
936f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M64
937f4a2713aSLionel Sambuc // CHECK_ATHLON_TBIRD_M64: error:
938f4a2713aSLionel Sambuc //
939f4a2713aSLionel Sambuc // RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \
940f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
941f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_4_M32
942f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __3dNOW_A__ 1
943f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __3dNOW__ 1
944f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __MMX__ 1
945f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __SSE__ 1
946f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __athlon 1
947f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __athlon__ 1
948f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __athlon_sse__ 1
949f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __i386 1
950f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __i386__ 1
951f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __tune_athlon__ 1
952f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define __tune_athlon_sse__ 1
953f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M32: #define i386 1
954f4a2713aSLionel Sambuc // RUN: not %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \
955f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
956f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64
957f4a2713aSLionel Sambuc // CHECK_ATHLON_4_M64: error:
958f4a2713aSLionel Sambuc //
959f4a2713aSLionel Sambuc // RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \
960f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
961f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32
962f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __3dNOW_A__ 1
963f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __3dNOW__ 1
964f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __MMX__ 1
965f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __SSE__ 1
966f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __athlon 1
967f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __athlon__ 1
968f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1
969f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __i386 1
970f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __i386__ 1
971f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1
972f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define __tune_athlon_sse__ 1
973f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M32: #define i386 1
974f4a2713aSLionel Sambuc // RUN: not %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \
975f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
976f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64
977f4a2713aSLionel Sambuc // CHECK_ATHLON_XP_M64: error:
978f4a2713aSLionel Sambuc //
979f4a2713aSLionel Sambuc // RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \
980f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
981f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32
982f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __3dNOW_A__ 1
983f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __3dNOW__ 1
984f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __MMX__ 1
985f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __SSE__ 1
986f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __athlon 1
987f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __athlon__ 1
988f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1
989f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __i386 1
990f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __i386__ 1
991f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1
992f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define __tune_athlon_sse__ 1
993f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M32: #define i386 1
994f4a2713aSLionel Sambuc // RUN: not %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \
995f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
996f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64
997f4a2713aSLionel Sambuc // CHECK_ATHLON_MP_M64: error:
998f4a2713aSLionel Sambuc //
999f4a2713aSLionel Sambuc // RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \
1000f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1001f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_X86_64_M32
1002f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define __MMX__ 1
1003f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define __SSE2__ 1
1004f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define __SSE__ 1
1005f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define __i386 1
1006f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define __i386__ 1
1007f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define __k8 1
1008f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define __k8__ 1
1009f4a2713aSLionel Sambuc // CHECK_X86_64_M32: #define i386 1
1010f4a2713aSLionel Sambuc // RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \
1011f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1012f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_X86_64_M64
1013f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __MMX__ 1
1014f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __SSE2_MATH__ 1
1015f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __SSE2__ 1
1016f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __SSE_MATH__ 1
1017f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __SSE__ 1
1018f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __amd64 1
1019f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __amd64__ 1
1020f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __k8 1
1021f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __k8__ 1
1022f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __x86_64 1
1023f4a2713aSLionel Sambuc // CHECK_X86_64_M64: #define __x86_64__ 1
1024f4a2713aSLionel Sambuc //
1025f4a2713aSLionel Sambuc // RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \
1026f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1027f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K8_M32
1028f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __3dNOW_A__ 1
1029f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __3dNOW__ 1
1030f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __MMX__ 1
1031f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __SSE2__ 1
1032f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __SSE__ 1
1033f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __i386 1
1034f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __i386__ 1
1035f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __k8 1
1036f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __k8__ 1
1037f4a2713aSLionel Sambuc // CHECK_K8_M32: #define __tune_k8__ 1
1038f4a2713aSLionel Sambuc // CHECK_K8_M32: #define i386 1
1039f4a2713aSLionel Sambuc // RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \
1040f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1041f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K8_M64
1042f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __3dNOW_A__ 1
1043f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __3dNOW__ 1
1044f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __MMX__ 1
1045f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __SSE2_MATH__ 1
1046f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __SSE2__ 1
1047f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __SSE_MATH__ 1
1048f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __SSE__ 1
1049f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __amd64 1
1050f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __amd64__ 1
1051f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __k8 1
1052f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __k8__ 1
1053f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __tune_k8__ 1
1054f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __x86_64 1
1055f4a2713aSLionel Sambuc // CHECK_K8_M64: #define __x86_64__ 1
1056f4a2713aSLionel Sambuc //
1057f4a2713aSLionel Sambuc // RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \
1058f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1059f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32
1060f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __3dNOW_A__ 1
1061f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __3dNOW__ 1
1062f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __MMX__ 1
1063f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __SSE2__ 1
1064f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __SSE3__ 1
1065f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __SSE__ 1
1066f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __i386 1
1067f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __i386__ 1
1068f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __k8 1
1069f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __k8__ 1
1070f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define __tune_k8__ 1
1071f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M32: #define i386 1
1072f4a2713aSLionel Sambuc // RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \
1073f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1074f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_K8_SSE3_M64
1075f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __3dNOW_A__ 1
1076f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __3dNOW__ 1
1077f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __MMX__ 1
1078f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __SSE2_MATH__ 1
1079f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __SSE2__ 1
1080f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __SSE3__ 1
1081f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __SSE_MATH__ 1
1082f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __SSE__ 1
1083f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __amd64 1
1084f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __amd64__ 1
1085f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __k8 1
1086f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __k8__ 1
1087f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __tune_k8__ 1
1088f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __x86_64 1
1089f4a2713aSLionel Sambuc // CHECK_K8_SSE3_M64: #define __x86_64__ 1
1090f4a2713aSLionel Sambuc //
1091f4a2713aSLionel Sambuc // RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \
1092f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1093f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_OPTERON_M32
1094f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __3dNOW_A__ 1
1095f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __3dNOW__ 1
1096f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __MMX__ 1
1097f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __SSE2__ 1
1098f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __SSE__ 1
1099f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __i386 1
1100f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __i386__ 1
1101f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __k8 1
1102f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __k8__ 1
1103f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define __tune_k8__ 1
1104f4a2713aSLionel Sambuc // CHECK_OPTERON_M32: #define i386 1
1105f4a2713aSLionel Sambuc // RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \
1106f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1107f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_OPTERON_M64
1108f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __3dNOW_A__ 1
1109f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __3dNOW__ 1
1110f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __MMX__ 1
1111f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __SSE2_MATH__ 1
1112f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __SSE2__ 1
1113f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __SSE_MATH__ 1
1114f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __SSE__ 1
1115f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __amd64 1
1116f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __amd64__ 1
1117f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __k8 1
1118f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __k8__ 1
1119f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __tune_k8__ 1
1120f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __x86_64 1
1121f4a2713aSLionel Sambuc // CHECK_OPTERON_M64: #define __x86_64__ 1
1122f4a2713aSLionel Sambuc //
1123f4a2713aSLionel Sambuc // RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \
1124f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1125f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32
1126f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __3dNOW_A__ 1
1127f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __3dNOW__ 1
1128f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __MMX__ 1
1129f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __SSE2__ 1
1130f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __SSE3__ 1
1131f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __SSE__ 1
1132f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __i386 1
1133f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __i386__ 1
1134f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __k8 1
1135f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __k8__ 1
1136f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1
1137f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M32: #define i386 1
1138f4a2713aSLionel Sambuc // RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \
1139f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1140f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M64
1141f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __3dNOW_A__ 1
1142f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __3dNOW__ 1
1143f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __MMX__ 1
1144f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __SSE2_MATH__ 1
1145f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __SSE2__ 1
1146f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __SSE3__ 1
1147f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __SSE_MATH__ 1
1148f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __SSE__ 1
1149f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __amd64 1
1150f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __amd64__ 1
1151f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __k8 1
1152f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __k8__ 1
1153f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1
1154f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __x86_64 1
1155f4a2713aSLionel Sambuc // CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1
1156f4a2713aSLionel Sambuc //
1157f4a2713aSLionel Sambuc // RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \
1158f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1159f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON64_M32
1160f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __3dNOW_A__ 1
1161f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __3dNOW__ 1
1162f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __MMX__ 1
1163f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __SSE2__ 1
1164f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __SSE__ 1
1165f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __i386 1
1166f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __i386__ 1
1167f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __k8 1
1168f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __k8__ 1
1169f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define __tune_k8__ 1
1170f4a2713aSLionel Sambuc // CHECK_ATHLON64_M32: #define i386 1
1171f4a2713aSLionel Sambuc // RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \
1172f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1173f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON64_M64
1174f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __3dNOW_A__ 1
1175f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __3dNOW__ 1
1176f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __MMX__ 1
1177f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __SSE2_MATH__ 1
1178f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __SSE2__ 1
1179f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __SSE_MATH__ 1
1180f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __SSE__ 1
1181f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __amd64 1
1182f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __amd64__ 1
1183f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __k8 1
1184f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __k8__ 1
1185f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __tune_k8__ 1
1186f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __x86_64 1
1187f4a2713aSLionel Sambuc // CHECK_ATHLON64_M64: #define __x86_64__ 1
1188f4a2713aSLionel Sambuc //
1189f4a2713aSLionel Sambuc // RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \
1190f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1191f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32
1192f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __3dNOW_A__ 1
1193f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __3dNOW__ 1
1194f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __MMX__ 1
1195f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __SSE2__ 1
1196f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __SSE3__ 1
1197f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __SSE__ 1
1198f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __i386 1
1199f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __i386__ 1
1200f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __k8 1
1201f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __k8__ 1
1202f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1
1203f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M32: #define i386 1
1204f4a2713aSLionel Sambuc // RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \
1205f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1206f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M64
1207f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __3dNOW_A__ 1
1208f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __3dNOW__ 1
1209f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __MMX__ 1
1210f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __SSE2_MATH__ 1
1211f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __SSE2__ 1
1212f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __SSE3__ 1
1213f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __SSE_MATH__ 1
1214f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __SSE__ 1
1215f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __amd64 1
1216f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __amd64__ 1
1217f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __k8 1
1218f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __k8__ 1
1219f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1
1220f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __x86_64 1
1221f4a2713aSLionel Sambuc // CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1
1222f4a2713aSLionel Sambuc //
1223f4a2713aSLionel Sambuc // RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \
1224f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1225f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32
1226f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __3dNOW_A__ 1
1227f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __3dNOW__ 1
1228f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __MMX__ 1
1229f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __SSE2__ 1
1230f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __SSE__ 1
1231f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __i386 1
1232f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __i386__ 1
1233f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __k8 1
1234f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __k8__ 1
1235f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define __tune_k8__ 1
1236f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M32: #define i386 1
1237f4a2713aSLionel Sambuc // RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \
1238f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1239f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M64
1240f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __3dNOW_A__ 1
1241f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __3dNOW__ 1
1242f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __MMX__ 1
1243f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __SSE2_MATH__ 1
1244f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __SSE2__ 1
1245f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __SSE_MATH__ 1
1246f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __SSE__ 1
1247f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __amd64 1
1248f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __amd64__ 1
1249f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __k8 1
1250f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __k8__ 1
1251f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __tune_k8__ 1
1252f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __x86_64 1
1253f4a2713aSLionel Sambuc // CHECK_ATHLON_FX_M64: #define __x86_64__ 1
1254f4a2713aSLionel Sambuc // RUN: %clang -march=amdfam10 -m32 -E -dM %s -o - 2>&1 \
1255f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1256f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_AMDFAM10_M32
1257f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __3dNOW_A__ 1
1258f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __3dNOW__ 1
1259f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __LZCNT__ 1
1260f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __MMX__ 1
1261f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __POPCNT__ 1
1262f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __SSE2_MATH__ 1
1263f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __SSE2__ 1
1264f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __SSE3__ 1
1265f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __SSE4A__ 1
1266f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __SSE_MATH__ 1
1267f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __SSE__ 1
1268f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __amdfam10 1
1269f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __amdfam10__ 1
1270f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __i386 1
1271f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __i386__ 1
1272f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M32: #define __tune_amdfam10__ 1
1273f4a2713aSLionel Sambuc // RUN: %clang -march=amdfam10 -m64 -E -dM %s -o - 2>&1 \
1274f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1275f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_AMDFAM10_M64
1276f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __3dNOW_A__ 1
1277f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __3dNOW__ 1
1278f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __LZCNT__ 1
1279f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __MMX__ 1
1280f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __POPCNT__ 1
1281f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __SSE2_MATH__ 1
1282f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __SSE2__ 1
1283f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __SSE3__ 1
1284f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __SSE4A__ 1
1285f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __SSE_MATH__ 1
1286f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __SSE__ 1
1287f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __amd64 1
1288f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __amd64__ 1
1289f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __amdfam10 1
1290f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __amdfam10__ 1
1291f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __tune_amdfam10__ 1
1292f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __x86_64 1
1293f4a2713aSLionel Sambuc // CHECK_AMDFAM10_M64: #define __x86_64__ 1
1294f4a2713aSLionel Sambuc // RUN: %clang -march=btver1 -m32 -E -dM %s -o - 2>&1 \
1295f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1296f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BTVER1_M32
1297f4a2713aSLionel Sambuc // CHECK_BTVER1_M32-NOT: #define __3dNOW_A__ 1
1298f4a2713aSLionel Sambuc // CHECK_BTVER1_M32-NOT: #define __3dNOW__ 1
1299f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __LZCNT__ 1
1300f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __MMX__ 1
1301f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __POPCNT__ 1
1302f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __PRFCHW__ 1
1303f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __SSE2_MATH__ 1
1304f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __SSE2__ 1
1305f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __SSE3__ 1
1306f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __SSE4A__ 1
1307f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __SSE_MATH__ 1
1308f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __SSE__ 1
1309f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __SSSE3__ 1
1310f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __btver1 1
1311f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __btver1__ 1
1312f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __i386 1
1313f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __i386__ 1
1314f4a2713aSLionel Sambuc // CHECK_BTVER1_M32: #define __tune_btver1__ 1
1315f4a2713aSLionel Sambuc // RUN: %clang -march=btver1 -m64 -E -dM %s -o - 2>&1 \
1316f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1317f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BTVER1_M64
1318f4a2713aSLionel Sambuc // CHECK_BTVER1_M64-NOT: #define __3dNOW_A__ 1
1319f4a2713aSLionel Sambuc // CHECK_BTVER1_M64-NOT: #define __3dNOW__ 1
1320f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __LZCNT__ 1
1321f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __MMX__ 1
1322f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __POPCNT__ 1
1323f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __PRFCHW__ 1
1324f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __SSE2_MATH__ 1
1325f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __SSE2__ 1
1326f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __SSE3__ 1
1327f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __SSE4A__ 1
1328f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __SSE_MATH__ 1
1329f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __SSE__ 1
1330f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __SSSE3__ 1
1331f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __amd64 1
1332f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __amd64__ 1
1333f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __btver1 1
1334f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __btver1__ 1
1335f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __tune_btver1__ 1
1336f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __x86_64 1
1337f4a2713aSLionel Sambuc // CHECK_BTVER1_M64: #define __x86_64__ 1
1338f4a2713aSLionel Sambuc // RUN: %clang -march=btver2 -m32 -E -dM %s -o - 2>&1 \
1339f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1340f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BTVER2_M32
1341f4a2713aSLionel Sambuc // CHECK_BTVER2_M32-NOT: #define __3dNOW_A__ 1
1342f4a2713aSLionel Sambuc // CHECK_BTVER2_M32-NOT: #define __3dNOW__ 1
1343f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __AES__ 1
1344f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __AVX__ 1
1345*0a6a1f1dSLionel Sambuc // CHECK_BTVER2_M32: #define __BMI__ 1
1346*0a6a1f1dSLionel Sambuc // CHECK_BTVER2_M32: #define __F16C__ 1
1347f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __LZCNT__ 1
1348f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __MMX__ 1
1349*0a6a1f1dSLionel Sambuc // CHECK_BTVER2_M32: #define __PCLMUL__ 1
1350f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __POPCNT__ 1
1351f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __PRFCHW__ 1
1352f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __SSE2_MATH__ 1
1353f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __SSE2__ 1
1354f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __SSE3__ 1
1355f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __SSE4A__ 1
1356f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __SSE_MATH__ 1
1357f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __SSE__ 1
1358f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __SSSE3__ 1
1359f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __btver2 1
1360f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __btver2__ 1
1361f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __i386 1
1362f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __i386__ 1
1363f4a2713aSLionel Sambuc // CHECK_BTVER2_M32: #define __tune_btver2__ 1
1364f4a2713aSLionel Sambuc // RUN: %clang -march=btver2 -m64 -E -dM %s -o - 2>&1 \
1365f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1366f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BTVER2_M64
1367f4a2713aSLionel Sambuc // CHECK_BTVER2_M64-NOT: #define __3dNOW_A__ 1
1368f4a2713aSLionel Sambuc // CHECK_BTVER2_M64-NOT: #define __3dNOW__ 1
1369f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __AES__ 1
1370f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __AVX__ 1
1371*0a6a1f1dSLionel Sambuc // CHECK_BTVER2_M64: #define __BMI__ 1
1372*0a6a1f1dSLionel Sambuc // CHECK_BTVER2_M64: #define __F16C__ 1
1373f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __LZCNT__ 1
1374f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __MMX__ 1
1375*0a6a1f1dSLionel Sambuc // CHECK_BTVER2_M64: #define __PCLMUL__ 1
1376f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __POPCNT__ 1
1377f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __PRFCHW__ 1
1378f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __SSE2_MATH__ 1
1379f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __SSE2__ 1
1380f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __SSE3__ 1
1381f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __SSE4A__ 1
1382f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __SSE_MATH__ 1
1383f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __SSE__ 1
1384f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __SSSE3__ 1
1385f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __amd64 1
1386f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __amd64__ 1
1387f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __btver2 1
1388f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __btver2__ 1
1389f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __tune_btver2__ 1
1390f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __x86_64 1
1391f4a2713aSLionel Sambuc // CHECK_BTVER2_M64: #define __x86_64__ 1
1392f4a2713aSLionel Sambuc // RUN: %clang -march=bdver1 -m32 -E -dM %s -o - 2>&1 \
1393f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1394f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER1_M32
1395f4a2713aSLionel Sambuc // CHECK_BDVER1_M32-NOT: #define __3dNOW_A__ 1
1396f4a2713aSLionel Sambuc // CHECK_BDVER1_M32-NOT: #define __3dNOW__ 1
1397f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __AES__ 1
1398f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __AVX__ 1
1399f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __FMA4__ 1
1400f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __LZCNT__ 1
1401f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __MMX__ 1
1402f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __PCLMUL__ 1
1403f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __POPCNT__ 1
1404f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __PRFCHW__ 1
1405f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE2_MATH__ 1
1406f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE2__ 1
1407f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE3__ 1
1408f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE4A__ 1
1409f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE4_1__ 1
1410f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE4_2__ 1
1411f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE_MATH__ 1
1412f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSE__ 1
1413f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __SSSE3__ 1
1414f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __XOP__ 1
1415f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __bdver1 1
1416f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __bdver1__ 1
1417f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __i386 1
1418f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __i386__ 1
1419f4a2713aSLionel Sambuc // CHECK_BDVER1_M32: #define __tune_bdver1__ 1
1420f4a2713aSLionel Sambuc // RUN: %clang -march=bdver1 -m64 -E -dM %s -o - 2>&1 \
1421f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1422f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER1_M64
1423f4a2713aSLionel Sambuc // CHECK_BDVER1_M64-NOT: #define __3dNOW_A__ 1
1424f4a2713aSLionel Sambuc // CHECK_BDVER1_M64-NOT: #define __3dNOW__ 1
1425f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __AES__ 1
1426f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __AVX__ 1
1427f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __FMA4__ 1
1428f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __LZCNT__ 1
1429f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __MMX__ 1
1430f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __PCLMUL__ 1
1431f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __POPCNT__ 1
1432f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __PRFCHW__ 1
1433f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE2_MATH__ 1
1434f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE2__ 1
1435f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE3__ 1
1436f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE4A__ 1
1437f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE4_1__ 1
1438f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE4_2__ 1
1439f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE_MATH__ 1
1440f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSE__ 1
1441f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __SSSE3__ 1
1442f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __XOP__ 1
1443f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __amd64 1
1444f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __amd64__ 1
1445f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __bdver1 1
1446f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __bdver1__ 1
1447f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __tune_bdver1__ 1
1448f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __x86_64 1
1449f4a2713aSLionel Sambuc // CHECK_BDVER1_M64: #define __x86_64__ 1
1450f4a2713aSLionel Sambuc // RUN: %clang -march=bdver2 -m32 -E -dM %s -o - 2>&1 \
1451f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1452f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER2_M32
1453f4a2713aSLionel Sambuc // CHECK_BDVER2_M32-NOT: #define __3dNOW_A__ 1
1454f4a2713aSLionel Sambuc // CHECK_BDVER2_M32-NOT: #define __3dNOW__ 1
1455f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __AES__ 1
1456f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __AVX__ 1
1457f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __BMI__ 1
1458f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __F16C__ 1
1459f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __FMA4__ 1
1460f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __FMA__ 1
1461f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __LZCNT__ 1
1462f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __MMX__ 1
1463f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __PCLMUL__ 1
1464f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __POPCNT__ 1
1465f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __PRFCHW__ 1
1466f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE2_MATH__ 1
1467f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE2__ 1
1468f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE3__ 1
1469f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE4A__ 1
1470f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE4_1__ 1
1471f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE4_2__ 1
1472f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE_MATH__ 1
1473f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSE__ 1
1474f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __SSSE3__ 1
1475f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __TBM__ 1
1476f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __XOP__ 1
1477f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __bdver2 1
1478f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __bdver2__ 1
1479f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __i386 1
1480f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __i386__ 1
1481f4a2713aSLionel Sambuc // CHECK_BDVER2_M32: #define __tune_bdver2__ 1
1482f4a2713aSLionel Sambuc // RUN: %clang -march=bdver2 -m64 -E -dM %s -o - 2>&1 \
1483f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1484f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER2_M64
1485f4a2713aSLionel Sambuc // CHECK_BDVER2_M64-NOT: #define __3dNOW_A__ 1
1486f4a2713aSLionel Sambuc // CHECK_BDVER2_M64-NOT: #define __3dNOW__ 1
1487f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __AES__ 1
1488f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __AVX__ 1
1489f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __BMI__ 1
1490f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __F16C__ 1
1491f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __FMA4__ 1
1492f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __FMA__ 1
1493f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __LZCNT__ 1
1494f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __MMX__ 1
1495f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __PCLMUL__ 1
1496f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __POPCNT__ 1
1497f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __PRFCHW__ 1
1498f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE2_MATH__ 1
1499f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE2__ 1
1500f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE3__ 1
1501f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE4A__ 1
1502f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE4_1__ 1
1503f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE4_2__ 1
1504f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE_MATH__ 1
1505f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSE__ 1
1506f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __SSSE3__ 1
1507f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __TBM__ 1
1508f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __XOP__ 1
1509f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __amd64 1
1510f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __amd64__ 1
1511f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __bdver2 1
1512f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __bdver2__ 1
1513f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __tune_bdver2__ 1
1514f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __x86_64 1
1515f4a2713aSLionel Sambuc // CHECK_BDVER2_M64: #define __x86_64__ 1
1516f4a2713aSLionel Sambuc // RUN: %clang -march=bdver3 -m32 -E -dM %s -o - 2>&1 \
1517f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1518f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER3_M32
1519f4a2713aSLionel Sambuc // CHECK_BDVER3_M32-NOT: #define __3dNOW_A__ 1
1520f4a2713aSLionel Sambuc // CHECK_BDVER3_M32-NOT: #define __3dNOW__ 1
1521f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __AES__ 1
1522f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __AVX__ 1
1523f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __BMI__ 1
1524f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __F16C__ 1
1525f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __FMA4__ 1
1526f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __FMA__ 1
1527*0a6a1f1dSLionel Sambuc // CHECK_BDVER3_M32: #define __FSGSBASE__ 1
1528f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __LZCNT__ 1
1529f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __MMX__ 1
1530f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __PCLMUL__ 1
1531f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __POPCNT__ 1
1532f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __PRFCHW__ 1
1533f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE2_MATH__ 1
1534f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE2__ 1
1535f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE3__ 1
1536f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE4A__ 1
1537f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE4_1__ 1
1538f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE4_2__ 1
1539f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE_MATH__ 1
1540f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSE__ 1
1541f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __SSSE3__ 1
1542f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __TBM__ 1
1543f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __XOP__ 1
1544f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __bdver3 1
1545f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __bdver3__ 1
1546f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __i386 1
1547f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __i386__ 1
1548f4a2713aSLionel Sambuc // CHECK_BDVER3_M32: #define __tune_bdver3__ 1
1549f4a2713aSLionel Sambuc // RUN: %clang -march=bdver3 -m64 -E -dM %s -o - 2>&1 \
1550f4a2713aSLionel Sambuc // RUN:     -target i386-unknown-linux \
1551f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER3_M64
1552f4a2713aSLionel Sambuc // CHECK_BDVER3_M64-NOT: #define __3dNOW_A__ 1
1553f4a2713aSLionel Sambuc // CHECK_BDVER3_M64-NOT: #define __3dNOW__ 1
1554f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __AES__ 1
1555f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __AVX__ 1
1556f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __BMI__ 1
1557f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __F16C__ 1
1558f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __FMA4__ 1
1559f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __FMA__ 1
1560*0a6a1f1dSLionel Sambuc // CHECK_BDVER3_M64: #define __FSGSBASE__ 1
1561f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __LZCNT__ 1
1562f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __MMX__ 1
1563f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __PCLMUL__ 1
1564f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __POPCNT__ 1
1565f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __PRFCHW__ 1
1566f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE2_MATH__ 1
1567f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE2__ 1
1568f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE3__ 1
1569f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE4A__ 1
1570f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE4_1__ 1
1571f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE4_2__ 1
1572f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE_MATH__ 1
1573f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSE__ 1
1574f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __SSSE3__ 1
1575f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __TBM__ 1
1576f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __XOP__ 1
1577f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __amd64 1
1578f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __amd64__ 1
1579f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __bdver3 1
1580f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __bdver3__ 1
1581f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __tune_bdver3__ 1
1582f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __x86_64 1
1583f4a2713aSLionel Sambuc // CHECK_BDVER3_M64: #define __x86_64__ 1
1584*0a6a1f1dSLionel Sambuc // RUN: %clang -march=bdver4 -m32 -E -dM %s -o - 2>&1 \
1585*0a6a1f1dSLionel Sambuc // RUN:     -target i386-unknown-linux \
1586*0a6a1f1dSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER4_M32
1587*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32-NOT: #define __3dNOW_A__ 1
1588*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32-NOT: #define __3dNOW__ 1
1589*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __AES__ 1
1590*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __AVX2__ 1
1591*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __AVX__ 1
1592*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __BMI2__ 1
1593*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __BMI__ 1
1594*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __F16C__ 1
1595*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __FMA4__ 1
1596*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __FMA__ 1
1597*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __FSGSBASE__ 1
1598*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __LZCNT__ 1
1599*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __MMX__ 1
1600*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __PCLMUL__ 1
1601*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __POPCNT__ 1
1602*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __PRFCHW__ 1
1603*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE2_MATH__ 1
1604*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE2__ 1
1605*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE3__ 1
1606*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE4A__ 1
1607*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE4_1__ 1
1608*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE4_2__ 1
1609*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE_MATH__ 1
1610*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSE__ 1
1611*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __SSSE3__ 1
1612*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __TBM__ 1
1613*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __XOP__ 1
1614*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __bdver4 1
1615*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __bdver4__ 1
1616*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __i386 1
1617*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __i386__ 1
1618*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M32: #define __tune_bdver4__ 1
1619*0a6a1f1dSLionel Sambuc // RUN: %clang -march=bdver4 -m64 -E -dM %s -o - 2>&1 \
1620*0a6a1f1dSLionel Sambuc // RUN:     -target i386-unknown-linux \
1621*0a6a1f1dSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_BDVER4_M64
1622*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64-NOT: #define __3dNOW_A__ 1
1623*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64-NOT: #define __3dNOW__ 1
1624*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __AES__ 1
1625*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __AVX2__ 1
1626*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __AVX__ 1
1627*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __BMI2__ 1
1628*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __BMI__ 1
1629*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __F16C__ 1
1630*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __FMA4__ 1
1631*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __FMA__ 1
1632*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __FSGSBASE__ 1
1633*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __LZCNT__ 1
1634*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __MMX__ 1
1635*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __PCLMUL__ 1
1636*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __POPCNT__ 1
1637*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __PRFCHW__ 1
1638*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE2_MATH__ 1
1639*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE2__ 1
1640*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE3__ 1
1641*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE4A__ 1
1642*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE4_1__ 1
1643*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE4_2__ 1
1644*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE_MATH__ 1
1645*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSE__ 1
1646*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __SSSE3__ 1
1647*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __TBM__ 1
1648*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __XOP__ 1
1649*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __amd64 1
1650*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __amd64__ 1
1651*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __bdver4 1
1652*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __bdver4__ 1
1653*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __tune_bdver4__ 1
1654*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __x86_64 1
1655*0a6a1f1dSLionel Sambuc // CHECK_BDVER4_M64: #define __x86_64__ 1
1656f4a2713aSLionel Sambuc //
1657f4a2713aSLionel Sambuc // End X86/GCC/Linux tests ------------------
1658f4a2713aSLionel Sambuc 
1659f4a2713aSLionel Sambuc // Begin PPC/GCC/Linux tests ----------------
1660f4a2713aSLionel Sambuc // RUN: %clang -mvsx -E -dM %s -o - 2>&1 \
1661f4a2713aSLionel Sambuc // RUN:     -target powerpc64-unknown-linux \
1662f4a2713aSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PPC_VSX_M64
1663f4a2713aSLionel Sambuc //
1664f4a2713aSLionel Sambuc // CHECK_PPC_VSX_M64: #define __VSX__
1665*0a6a1f1dSLionel Sambuc //
1666*0a6a1f1dSLionel Sambuc // RUN: %clang -mpower8-vector -E -dM %s -o - 2>&1 \
1667*0a6a1f1dSLionel Sambuc // RUN:     -target powerpc64-unknown-linux \
1668*0a6a1f1dSLionel Sambuc // RUN:   | FileCheck %s -check-prefix=CHECK_PPC_POWER8_VECTOR_M64
1669*0a6a1f1dSLionel Sambuc //
1670*0a6a1f1dSLionel Sambuc // CHECK_PPC_POWER8_VECTOR_M64: #define __POWER8_VECTOR__
1671*0a6a1f1dSLionel Sambuc //
1672