1 // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -verify
2 // RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s -verify
3 // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s -verify
4 // expected-no-diagnostics
5 
6 #if defined(i386) || defined(__x86_64__)
7 
8 // Pretend to enable all features.
9 #ifndef __3dNOW__
10 #define __3dNOW__
11 #endif
12 #ifndef __BMI__
13 #define __BMI__
14 #endif
15 #ifndef __BMI2__
16 #define __BMI2__
17 #endif
18 #ifndef __LZCNT__
19 #define __LZCNT__
20 #endif
21 #ifndef __POPCNT__
22 #define __POPCNT__
23 #endif
24 #ifndef __RDSEED__
25 #define __RDSEED__
26 #endif
27 #ifndef __PRFCHW__
28 #define __PRFCHW__
29 #endif
30 #ifndef __SSE4A__
31 #define __SSE4A__
32 #endif
33 #ifndef __FMA4__
34 #define __FMA4__
35 #endif
36 #ifndef __XOP__
37 #define __XOP__
38 #endif
39 #ifndef __F16C__
40 #define __F16C__
41 #endif
42 #ifndef __MMX__
43 #define __MMX__
44 #endif
45 #ifndef __SSE__
46 #define __SSE__
47 #endif
48 #ifndef __SSE2__
49 #define __SSE2__
50 #endif
51 #ifndef __SSE3__
52 #define __SSE3__
53 #endif
54 #ifndef __SSSE3__
55 #define __SSSE3__
56 #endif
57 #ifndef __SSE4_1__
58 #define __SSE4_1__
59 #endif
60 #ifndef __SSE4_2__
61 #define __SSE4_2__
62 #endif
63 #ifndef __AES__
64 #define __AES__
65 #endif
66 #ifndef __AVX__
67 #define __AVX__
68 #endif
69 #ifndef __AVX2__
70 #define __AVX2__
71 #endif
72 #ifndef __BMI__
73 #define __BMI__
74 #endif
75 #ifndef __BMI2__
76 #define __BMI2__
77 #endif
78 #ifndef __LZCNT__
79 #define __LZCNT__
80 #endif
81 #ifndef __FMA__
82 #define __FMA__
83 #endif
84 #ifndef __RDRND__
85 #define __RDRND__
86 #endif
87 #ifndef __SHA__
88 #define __SHA__
89 #endif
90 #ifndef __ADX__
91 #define __ADX__
92 #endif
93 #ifndef __TBM__
94 #define __TBM__
95 #endif
96 #ifndef __RTM__
97 #define __RTM__
98 #endif
99 #ifndef __PCLMUL__
100 #define __PCLMUL__
101 #endif
102 #ifndef __FSGSBASE__
103 #define __FSGSBASE__
104 #endif
105 #ifndef __AVX512F__
106 #define __AVX512F__
107 #endif
108 #ifndef __AVX512VL__
109 #define __AVX512VL__
110 #endif
111 #ifndef __AVX512BW__
112 #define __AVX512BW__
113 #endif
114 #ifndef __AVX512ER__
115 #define __AVX512ER__
116 #endif
117 #ifndef __AVX512PF__
118 #define __AVX512PF__
119 #endif
120 #ifndef __AVX512DQ__
121 #define __AVX512DQ__
122 #endif
123 #ifndef __AVX512CD__
124 #define __AVX512CD__
125 #endif
126 
127 // Now include the metaheader that includes all x86 intrinsic headers.
128 #include <x86intrin.h>
129 
130 #endif
131