1 # i386/x86_64 cpu features
2 config BR2_X86_CPU_HAS_MMX
4 config BR2_X86_CPU_HAS_SSE
6 config BR2_X86_CPU_HAS_SSE2
8 config BR2_X86_CPU_HAS_SSE3
10 config BR2_X86_CPU_HAS_SSSE3
12 config BR2_X86_CPU_HAS_SSE4
14 config BR2_X86_CPU_HAS_SSE42
16 config BR2_X86_CPU_HAS_AVX
18 config BR2_X86_CPU_HAS_AVX2
22 prompt "Target Architecture Variant"
23 depends on BR2_i386 || BR2_x86_64
24 default BR2_x86_i586 if BR2_i386
26 Specific CPU variant to use
30 depends on !BR2_x86_64
33 depends on !BR2_x86_64
36 depends on !BR2_x86_64
39 depends on !BR2_x86_64
40 config BR2_x86_pentiumpro
42 depends on !BR2_x86_64
43 config BR2_x86_pentium_mmx
45 select BR2_X86_CPU_HAS_MMX
46 depends on !BR2_x86_64
47 config BR2_x86_pentium_m
49 select BR2_X86_CPU_HAS_MMX
50 select BR2_X86_CPU_HAS_SSE
51 depends on !BR2_x86_64
52 config BR2_x86_pentium2
54 select BR2_X86_CPU_HAS_MMX
55 depends on !BR2_x86_64
56 config BR2_x86_pentium3
58 select BR2_X86_CPU_HAS_MMX
59 select BR2_X86_CPU_HAS_SSE
60 depends on !BR2_x86_64
61 config BR2_x86_pentium4
63 select BR2_X86_CPU_HAS_MMX
64 select BR2_X86_CPU_HAS_SSE
65 select BR2_X86_CPU_HAS_SSE2
66 depends on !BR2_x86_64
67 config BR2_x86_prescott
69 select BR2_X86_CPU_HAS_MMX
70 select BR2_X86_CPU_HAS_SSE
71 select BR2_X86_CPU_HAS_SSE2
72 select BR2_X86_CPU_HAS_SSE3
73 depends on !BR2_x86_64
76 select BR2_X86_CPU_HAS_MMX
77 select BR2_X86_CPU_HAS_SSE
78 select BR2_X86_CPU_HAS_SSE2
79 select BR2_X86_CPU_HAS_SSE3
82 select BR2_X86_CPU_HAS_MMX
83 select BR2_X86_CPU_HAS_SSE
84 select BR2_X86_CPU_HAS_SSE2
85 select BR2_X86_CPU_HAS_SSE3
86 select BR2_X86_CPU_HAS_SSSE3
89 select BR2_X86_CPU_HAS_MMX
90 select BR2_X86_CPU_HAS_SSE
91 select BR2_X86_CPU_HAS_SSE2
92 select BR2_X86_CPU_HAS_SSE3
93 select BR2_X86_CPU_HAS_SSSE3
94 select BR2_X86_CPU_HAS_SSE4
95 select BR2_X86_CPU_HAS_SSE42
96 config BR2_x86_corei7_avx
98 select BR2_X86_CPU_HAS_MMX
99 select BR2_X86_CPU_HAS_SSE
100 select BR2_X86_CPU_HAS_SSE2
101 select BR2_X86_CPU_HAS_SSE3
102 select BR2_X86_CPU_HAS_SSSE3
103 select BR2_X86_CPU_HAS_SSE4
104 select BR2_X86_CPU_HAS_SSE42
105 select BR2_X86_CPU_HAS_AVX
106 config BR2_x86_core_avx2
108 select BR2_X86_CPU_HAS_MMX
109 select BR2_X86_CPU_HAS_SSE
110 select BR2_X86_CPU_HAS_SSE2
111 select BR2_X86_CPU_HAS_SSE3
112 select BR2_X86_CPU_HAS_SSSE3
113 select BR2_X86_CPU_HAS_SSE4
114 select BR2_X86_CPU_HAS_SSE42
115 select BR2_X86_CPU_HAS_AVX
116 select BR2_X86_CPU_HAS_AVX2
119 select BR2_X86_CPU_HAS_MMX
120 select BR2_X86_CPU_HAS_SSE
121 select BR2_X86_CPU_HAS_SSE2
122 select BR2_X86_CPU_HAS_SSE3
123 select BR2_X86_CPU_HAS_SSSE3
126 select BR2_X86_CPU_HAS_MMX
127 depends on !BR2_x86_64
130 select BR2_X86_CPU_HAS_MMX
131 depends on !BR2_x86_64
132 config BR2_x86_athlon
134 select BR2_X86_CPU_HAS_MMX
135 depends on !BR2_x86_64
136 config BR2_x86_athlon_4
138 select BR2_X86_CPU_HAS_MMX
139 select BR2_X86_CPU_HAS_SSE
140 depends on !BR2_x86_64
141 config BR2_x86_opteron
143 select BR2_X86_CPU_HAS_MMX
144 select BR2_X86_CPU_HAS_SSE
145 select BR2_X86_CPU_HAS_SSE2
146 config BR2_x86_opteron_sse3
147 bool "opteron w/ SSE3"
148 select BR2_X86_CPU_HAS_MMX
149 select BR2_X86_CPU_HAS_SSE
150 select BR2_X86_CPU_HAS_SSE2
151 select BR2_X86_CPU_HAS_SSE3
152 config BR2_x86_barcelona
154 select BR2_X86_CPU_HAS_MMX
155 select BR2_X86_CPU_HAS_SSE
156 select BR2_X86_CPU_HAS_SSE2
157 select BR2_X86_CPU_HAS_SSE3
158 config BR2_x86_jaguar
160 select BR2_X86_CPU_HAS_MMX
161 select BR2_X86_CPU_HAS_SSE
162 select BR2_X86_CPU_HAS_SSE2
163 select BR2_X86_CPU_HAS_SSE3
164 select BR2_X86_CPU_HAS_SSSE3
165 select BR2_X86_CPU_HAS_SSE4
166 select BR2_X86_CPU_HAS_SSE42
167 config BR2_x86_steamroller
169 select BR2_X86_CPU_HAS_MMX
170 select BR2_X86_CPU_HAS_SSE
171 select BR2_X86_CPU_HAS_SSE2
172 select BR2_X86_CPU_HAS_SSE3
173 select BR2_X86_CPU_HAS_SSSE3
174 select BR2_X86_CPU_HAS_SSE4
175 select BR2_X86_CPU_HAS_SSE42
178 # Don't include MMX support because there several variant of geode
179 # processor, some with MMX support, some without.
180 # See: http://en.wikipedia.org/wiki/Geode_%28processor%29
181 depends on !BR2_x86_64
183 bool "Via/Cyrix C3 (Samuel/Ezra cores)"
184 select BR2_X86_CPU_HAS_MMX
185 depends on !BR2_x86_64
187 bool "Via C3-2 (Nehemiah cores)"
188 select BR2_X86_CPU_HAS_MMX
189 select BR2_X86_CPU_HAS_SSE
190 depends on !BR2_x86_64
191 config BR2_x86_winchip_c6
192 bool "IDT Winchip C6"
193 select BR2_X86_CPU_HAS_MMX
194 depends on !BR2_x86_64
195 config BR2_x86_winchip2
197 select BR2_X86_CPU_HAS_MMX
198 depends on !BR2_x86_64
202 default "i386" if BR2_x86_i386
203 default "i486" if BR2_x86_i486
204 default "i586" if BR2_x86_i586
205 default "i586" if BR2_x86_pentium_mmx
206 default "i586" if BR2_x86_geode
207 default "i586" if BR2_x86_c3
208 default "i686" if BR2_x86_c32
209 default "i586" if BR2_x86_winchip_c6
210 default "i586" if BR2_x86_winchip2
211 default "i686" if BR2_x86_i686
212 default "i686" if BR2_x86_pentium2
213 default "i686" if BR2_x86_pentium3
214 default "i686" if BR2_x86_pentium4
215 default "i686" if BR2_x86_pentium_m
216 default "i686" if BR2_x86_pentiumpro
217 default "i686" if BR2_x86_prescott
218 default "i686" if BR2_x86_nocona && BR2_i386
219 default "i686" if BR2_x86_core2 && BR2_i386
220 default "i686" if BR2_x86_corei7 && BR2_i386
221 default "i686" if BR2_x86_atom && BR2_i386
222 default "i686" if BR2_x86_opteron && BR2_i386
223 default "i686" if BR2_x86_opteron_sse3 && BR2_i386
224 default "i686" if BR2_x86_barcelona && BR2_i386
225 default "i686" if BR2_x86_jaguar && BR2_i386
226 default "i686" if BR2_x86_steamroller && BR2_i386
227 default "i686" if BR2_x86_k6
228 default "i686" if BR2_x86_k6_2
229 default "i686" if BR2_x86_athlon
230 default "i686" if BR2_x86_athlon_4
231 default "x86_64" if BR2_x86_64
236 config BR2_ARCH_HAS_ATOMICS
237 default y if !BR2_x86_i386
239 config BR2_GCC_TARGET_ARCH
240 default "i386" if BR2_x86_i386
241 default "i486" if BR2_x86_i486
242 default "i586" if BR2_x86_i586
243 default "pentium-mmx" if BR2_x86_pentium_mmx
244 default "i686" if BR2_x86_i686
245 default "pentiumpro" if BR2_x86_pentiumpro
246 default "pentium-m" if BR2_x86_pentium_m
247 default "pentium2" if BR2_x86_pentium2
248 default "pentium3" if BR2_x86_pentium3
249 default "pentium4" if BR2_x86_pentium4
250 default "prescott" if BR2_x86_prescott
251 default "nocona" if BR2_x86_nocona
252 default "core2" if BR2_x86_core2
253 default "corei7" if BR2_x86_corei7
254 default "corei7-avx" if BR2_x86_corei7_avx
255 default "core-avx2" if BR2_x86_core_avx2
256 default "atom" if BR2_x86_atom
257 default "k8" if BR2_x86_opteron
258 default "k8-sse3" if BR2_x86_opteron_sse3
259 default "barcelona" if BR2_x86_barcelona
260 default "btver2" if BR2_x86_jaguar
261 default "bdver3" if BR2_x86_steamroller
262 default "k6" if BR2_x86_k6
263 default "k6-2" if BR2_x86_k6_2
264 default "athlon" if BR2_x86_athlon
265 default "athlon-4" if BR2_x86_athlon_4
266 default "winchip-c6" if BR2_x86_winchip_c6
267 default "winchip2" if BR2_x86_winchip2
268 default "c3" if BR2_x86_c3
269 default "c3-2" if BR2_x86_c32
270 default "geode" if BR2_x86_geode