Config.in.x86 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835
  1. # i386/x86_64 cpu features
  2. config BR2_X86_CPU_HAS_MMX
  3. bool
  4. config BR2_X86_CPU_HAS_3DNOW
  5. bool
  6. config BR2_X86_CPU_HAS_SSE
  7. bool
  8. config BR2_X86_CPU_HAS_SSE2
  9. bool
  10. config BR2_X86_CPU_HAS_SSE3
  11. bool
  12. config BR2_X86_CPU_HAS_SSSE3
  13. bool
  14. config BR2_X86_CPU_HAS_SSE4
  15. bool
  16. config BR2_X86_CPU_HAS_SSE42
  17. bool
  18. config BR2_X86_CPU_HAS_AVX
  19. bool
  20. config BR2_X86_CPU_HAS_AVX2
  21. bool
  22. # BR2_X86_CPU_HAS_AVX512 implies the following AVX512 extensions:
  23. # AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
  24. # This subset is common to Intel Xeon (excl Xeon Phi), AMD Zen 4, and
  25. # the x86-64-v4 psABI.
  26. #
  27. # Only select BR2_X86_CPU_HAS_AVX512 if the CPU supports this entire
  28. # subset of extensions.
  29. config BR2_X86_CPU_HAS_AVX512
  30. bool
  31. # This list of CPU architecture variant is (loosely) ordered according
  32. # to the gcc documentation at
  33. # https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/x86-Options.html
  34. choice
  35. prompt "Target Architecture Variant"
  36. default BR2_x86_i586 if BR2_i386
  37. depends on BR2_i386 || BR2_x86_64
  38. help
  39. Specific CPU variant to use
  40. config BR2_x86_i486
  41. bool "i486"
  42. depends on !BR2_x86_64
  43. config BR2_x86_i586
  44. bool "i586"
  45. depends on !BR2_x86_64
  46. config BR2_x86_x1000
  47. bool "x1000"
  48. depends on !BR2_x86_64
  49. help
  50. The Intel X1000 is a Pentium class microprocessor in the
  51. Quark (sub-Atom) Product Line. The X1000 has a bug on the
  52. lock prefix requiring that prefix must be stripped at build
  53. time.
  54. See https://en.wikipedia.org/wiki/Intel_Quark
  55. config BR2_x86_i686
  56. bool "i686"
  57. depends on !BR2_x86_64
  58. config BR2_x86_pentiumpro
  59. bool "pentium pro"
  60. depends on !BR2_x86_64
  61. config BR2_x86_pentium_mmx
  62. bool "pentium MMX"
  63. depends on !BR2_x86_64
  64. select BR2_X86_CPU_HAS_MMX
  65. config BR2_x86_pentium_m
  66. bool "pentium mobile"
  67. depends on !BR2_x86_64
  68. select BR2_X86_CPU_HAS_MMX
  69. select BR2_X86_CPU_HAS_SSE
  70. config BR2_x86_pentium2
  71. bool "pentium2"
  72. depends on !BR2_x86_64
  73. select BR2_X86_CPU_HAS_MMX
  74. config BR2_x86_pentium3
  75. bool "pentium3"
  76. depends on !BR2_x86_64
  77. select BR2_X86_CPU_HAS_MMX
  78. select BR2_X86_CPU_HAS_SSE
  79. config BR2_x86_pentium4
  80. bool "pentium4"
  81. depends on !BR2_x86_64
  82. select BR2_X86_CPU_HAS_MMX
  83. select BR2_X86_CPU_HAS_SSE
  84. select BR2_X86_CPU_HAS_SSE2
  85. config BR2_x86_prescott
  86. bool "prescott"
  87. depends on !BR2_x86_64
  88. select BR2_X86_CPU_HAS_MMX
  89. select BR2_X86_CPU_HAS_SSE
  90. select BR2_X86_CPU_HAS_SSE2
  91. select BR2_X86_CPU_HAS_SSE3
  92. config BR2_x86_x86_64
  93. bool "x86-64"
  94. depends on BR2_x86_64
  95. select BR2_X86_CPU_HAS_MMX
  96. select BR2_X86_CPU_HAS_SSE
  97. select BR2_X86_CPU_HAS_SSE2
  98. help
  99. This option corresponds to -march=x86-64, documented as a
  100. "Generic CPU with 64-bit extensions" by the GCC
  101. documentation. It is a 64-bit CPU with MMX, SSE and SSE2
  102. support.
  103. config BR2_x86_x86_64_v2
  104. bool "x86-64-v2"
  105. depends on BR2_x86_64
  106. select BR2_X86_CPU_HAS_MMX
  107. select BR2_X86_CPU_HAS_SSE
  108. select BR2_X86_CPU_HAS_SSE2
  109. select BR2_X86_CPU_HAS_SSE3
  110. select BR2_X86_CPU_HAS_SSSE3
  111. select BR2_X86_CPU_HAS_SSE4
  112. select BR2_X86_CPU_HAS_SSE42
  113. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  114. help
  115. This option corresponds to the x86-64-v2 micro-architecture
  116. level, as defined by the x86-64 psABI document, see
  117. https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex.
  118. It is close to the Nehalem CPU architecture, and is
  119. applicable for CPUs that support CMPXCHG16B, LAHF-SAHF,
  120. POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3.
  121. config BR2_x86_x86_64_v3
  122. bool "x86-64-v3"
  123. depends on BR2_x86_64
  124. select BR2_X86_CPU_HAS_MMX
  125. select BR2_X86_CPU_HAS_SSE
  126. select BR2_X86_CPU_HAS_SSE2
  127. select BR2_X86_CPU_HAS_SSE3
  128. select BR2_X86_CPU_HAS_SSSE3
  129. select BR2_X86_CPU_HAS_SSE4
  130. select BR2_X86_CPU_HAS_SSE42
  131. select BR2_X86_CPU_HAS_AVX
  132. select BR2_X86_CPU_HAS_AVX2
  133. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  134. help
  135. This option corresponds to the x86-64-v3 micro-architecture
  136. level, as defined by the x86-64 psABI document, see
  137. https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex.
  138. It is close to the Haswell CPU architecture, and is
  139. applicable for CPUs that support all of x86-64-v2 plus AVX,
  140. AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE.
  141. config BR2_x86_x86_64_v4
  142. bool "x86-64-v4"
  143. depends on BR2_x86_64
  144. select BR2_X86_CPU_HAS_MMX
  145. select BR2_X86_CPU_HAS_SSE
  146. select BR2_X86_CPU_HAS_SSE2
  147. select BR2_X86_CPU_HAS_SSE3
  148. select BR2_X86_CPU_HAS_SSSE3
  149. select BR2_X86_CPU_HAS_SSE4
  150. select BR2_X86_CPU_HAS_SSE42
  151. select BR2_X86_CPU_HAS_AVX
  152. select BR2_X86_CPU_HAS_AVX2
  153. select BR2_X86_CPU_HAS_AVX512
  154. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  155. help
  156. This option corresponds to the x86-64-v4 micro-architecture
  157. level, as defined by the x86-64 psABI document, see
  158. https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex.
  159. It is applicable for CPUs that support all of x86-64-v3 plus
  160. AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL.
  161. config BR2_x86_nocona
  162. bool "nocona"
  163. select BR2_X86_CPU_HAS_MMX
  164. select BR2_X86_CPU_HAS_SSE
  165. select BR2_X86_CPU_HAS_SSE2
  166. select BR2_X86_CPU_HAS_SSE3
  167. config BR2_x86_core2
  168. bool "core2"
  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. config BR2_x86_corei7
  175. bool "corei7"
  176. select BR2_X86_CPU_HAS_MMX
  177. select BR2_X86_CPU_HAS_SSE
  178. select BR2_X86_CPU_HAS_SSE2
  179. select BR2_X86_CPU_HAS_SSE3
  180. select BR2_X86_CPU_HAS_SSSE3
  181. select BR2_X86_CPU_HAS_SSE4
  182. select BR2_X86_CPU_HAS_SSE42
  183. help
  184. This option is deprecated. Since gcc 4.9, the gcc option
  185. "nehalem" is preferred. Use BR2_x86_nehalem instead.
  186. config BR2_x86_nehalem
  187. bool "nehalem"
  188. select BR2_X86_CPU_HAS_MMX
  189. select BR2_X86_CPU_HAS_SSE
  190. select BR2_X86_CPU_HAS_SSE2
  191. select BR2_X86_CPU_HAS_SSE3
  192. select BR2_X86_CPU_HAS_SSSE3
  193. select BR2_X86_CPU_HAS_SSE4
  194. select BR2_X86_CPU_HAS_SSE42
  195. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  196. config BR2_x86_westmere
  197. bool "westmere"
  198. select BR2_X86_CPU_HAS_MMX
  199. select BR2_X86_CPU_HAS_SSE
  200. select BR2_X86_CPU_HAS_SSE2
  201. select BR2_X86_CPU_HAS_SSE3
  202. select BR2_X86_CPU_HAS_SSSE3
  203. select BR2_X86_CPU_HAS_SSE4
  204. select BR2_X86_CPU_HAS_SSE42
  205. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  206. config BR2_x86_corei7_avx
  207. bool "corei7-avx"
  208. select BR2_X86_CPU_HAS_MMX
  209. select BR2_X86_CPU_HAS_SSE
  210. select BR2_X86_CPU_HAS_SSE2
  211. select BR2_X86_CPU_HAS_SSE3
  212. select BR2_X86_CPU_HAS_SSSE3
  213. select BR2_X86_CPU_HAS_SSE4
  214. select BR2_X86_CPU_HAS_SSE42
  215. select BR2_X86_CPU_HAS_AVX
  216. help
  217. This option is deprecated. Since gcc 4.9, the gcc option
  218. "sandybridge" is preferred. Use BR2_x86_sandybridge instead.
  219. config BR2_x86_sandybridge
  220. bool "sandybridge"
  221. select BR2_X86_CPU_HAS_MMX
  222. select BR2_X86_CPU_HAS_SSE
  223. select BR2_X86_CPU_HAS_SSE2
  224. select BR2_X86_CPU_HAS_SSE3
  225. select BR2_X86_CPU_HAS_SSSE3
  226. select BR2_X86_CPU_HAS_SSE4
  227. select BR2_X86_CPU_HAS_SSE42
  228. select BR2_X86_CPU_HAS_AVX
  229. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  230. config BR2_x86_ivybridge
  231. bool "ivybridge"
  232. select BR2_X86_CPU_HAS_MMX
  233. select BR2_X86_CPU_HAS_SSE
  234. select BR2_X86_CPU_HAS_SSE2
  235. select BR2_X86_CPU_HAS_SSE3
  236. select BR2_X86_CPU_HAS_SSSE3
  237. select BR2_X86_CPU_HAS_SSE4
  238. select BR2_X86_CPU_HAS_SSE42
  239. select BR2_X86_CPU_HAS_AVX
  240. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  241. config BR2_x86_core_avx2
  242. bool "core-avx2"
  243. select BR2_X86_CPU_HAS_MMX
  244. select BR2_X86_CPU_HAS_SSE
  245. select BR2_X86_CPU_HAS_SSE2
  246. select BR2_X86_CPU_HAS_SSE3
  247. select BR2_X86_CPU_HAS_SSSE3
  248. select BR2_X86_CPU_HAS_SSE4
  249. select BR2_X86_CPU_HAS_SSE42
  250. select BR2_X86_CPU_HAS_AVX
  251. select BR2_X86_CPU_HAS_AVX2
  252. help
  253. This option is deprecated. Since gcc 4.9, the gcc option
  254. "haswell" is preferred. Use BR2_x86_haswell instead.
  255. config BR2_x86_haswell
  256. bool "haswell"
  257. select BR2_X86_CPU_HAS_MMX
  258. select BR2_X86_CPU_HAS_SSE
  259. select BR2_X86_CPU_HAS_SSE2
  260. select BR2_X86_CPU_HAS_SSE3
  261. select BR2_X86_CPU_HAS_SSSE3
  262. select BR2_X86_CPU_HAS_SSE4
  263. select BR2_X86_CPU_HAS_SSE42
  264. select BR2_X86_CPU_HAS_AVX
  265. select BR2_X86_CPU_HAS_AVX2
  266. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  267. config BR2_x86_broadwell
  268. bool "broadwell"
  269. select BR2_X86_CPU_HAS_MMX
  270. select BR2_X86_CPU_HAS_SSE
  271. select BR2_X86_CPU_HAS_SSE2
  272. select BR2_X86_CPU_HAS_SSE3
  273. select BR2_X86_CPU_HAS_SSSE3
  274. select BR2_X86_CPU_HAS_SSE4
  275. select BR2_X86_CPU_HAS_SSE42
  276. select BR2_X86_CPU_HAS_AVX
  277. select BR2_X86_CPU_HAS_AVX2
  278. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  279. config BR2_x86_skylake
  280. bool "skylake"
  281. select BR2_X86_CPU_HAS_MMX
  282. select BR2_X86_CPU_HAS_SSE
  283. select BR2_X86_CPU_HAS_SSE2
  284. select BR2_X86_CPU_HAS_SSE3
  285. select BR2_X86_CPU_HAS_SSSE3
  286. select BR2_X86_CPU_HAS_SSE4
  287. select BR2_X86_CPU_HAS_SSE42
  288. select BR2_X86_CPU_HAS_AVX
  289. select BR2_X86_CPU_HAS_AVX2
  290. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  291. config BR2_x86_atom
  292. bool "atom"
  293. select BR2_X86_CPU_HAS_MMX
  294. select BR2_X86_CPU_HAS_SSE
  295. select BR2_X86_CPU_HAS_SSE2
  296. select BR2_X86_CPU_HAS_SSE3
  297. select BR2_X86_CPU_HAS_SSSE3
  298. help
  299. This option is deprecated. Since gcc 4.9, the gcc option
  300. "bonnell" is preferred. Use BR2_x86_bonnell instead.
  301. config BR2_x86_bonnell
  302. bool "bonnell"
  303. select BR2_X86_CPU_HAS_MMX
  304. select BR2_X86_CPU_HAS_SSE
  305. select BR2_X86_CPU_HAS_SSE2
  306. select BR2_X86_CPU_HAS_SSE3
  307. select BR2_X86_CPU_HAS_SSSE3
  308. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  309. config BR2_x86_silvermont
  310. bool "silvermont"
  311. select BR2_X86_CPU_HAS_MMX
  312. select BR2_X86_CPU_HAS_SSE
  313. select BR2_X86_CPU_HAS_SSE2
  314. select BR2_X86_CPU_HAS_SSE3
  315. select BR2_X86_CPU_HAS_SSSE3
  316. select BR2_X86_CPU_HAS_SSE4
  317. select BR2_X86_CPU_HAS_SSE42
  318. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  319. config BR2_x86_goldmont
  320. bool "goldmont"
  321. select BR2_X86_CPU_HAS_MMX
  322. select BR2_X86_CPU_HAS_SSE
  323. select BR2_X86_CPU_HAS_SSE2
  324. select BR2_X86_CPU_HAS_SSE3
  325. select BR2_X86_CPU_HAS_SSSE3
  326. select BR2_X86_CPU_HAS_SSE4
  327. select BR2_X86_CPU_HAS_SSE42
  328. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  329. config BR2_x86_goldmont_plus
  330. bool "goldmont-plus"
  331. select BR2_X86_CPU_HAS_MMX
  332. select BR2_X86_CPU_HAS_SSE
  333. select BR2_X86_CPU_HAS_SSE2
  334. select BR2_X86_CPU_HAS_SSE3
  335. select BR2_X86_CPU_HAS_SSSE3
  336. select BR2_X86_CPU_HAS_SSE4
  337. select BR2_X86_CPU_HAS_SSE42
  338. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  339. config BR2_x86_tremont
  340. bool "tremont"
  341. select BR2_X86_CPU_HAS_MMX
  342. select BR2_X86_CPU_HAS_SSE
  343. select BR2_X86_CPU_HAS_SSE2
  344. select BR2_X86_CPU_HAS_SSE3
  345. select BR2_X86_CPU_HAS_SSSE3
  346. select BR2_X86_CPU_HAS_SSE4
  347. select BR2_X86_CPU_HAS_SSE42
  348. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  349. config BR2_x86_sierraforest
  350. bool "sierraforest"
  351. select BR2_X86_CPU_HAS_MMX
  352. select BR2_X86_CPU_HAS_SSE
  353. select BR2_X86_CPU_HAS_SSE2
  354. select BR2_X86_CPU_HAS_SSE3
  355. select BR2_X86_CPU_HAS_SSSE3
  356. select BR2_X86_CPU_HAS_SSE4
  357. select BR2_X86_CPU_HAS_SSE42
  358. select BR2_X86_CPU_HAS_AVX
  359. select BR2_X86_CPU_HAS_AVX2
  360. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  361. config BR2_x86_grandridge
  362. bool "grandridge"
  363. select BR2_X86_CPU_HAS_MMX
  364. select BR2_X86_CPU_HAS_SSE
  365. select BR2_X86_CPU_HAS_SSE2
  366. select BR2_X86_CPU_HAS_SSE3
  367. select BR2_X86_CPU_HAS_SSSE3
  368. select BR2_X86_CPU_HAS_SSE4
  369. select BR2_X86_CPU_HAS_SSE42
  370. select BR2_X86_CPU_HAS_AVX
  371. select BR2_X86_CPU_HAS_AVX2
  372. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  373. config BR2_x86_knightslanding
  374. bool "knightslanding"
  375. select BR2_X86_CPU_HAS_MMX
  376. select BR2_X86_CPU_HAS_SSE
  377. select BR2_X86_CPU_HAS_SSE2
  378. select BR2_X86_CPU_HAS_SSE3
  379. select BR2_X86_CPU_HAS_SSSE3
  380. select BR2_X86_CPU_HAS_SSE4
  381. select BR2_X86_CPU_HAS_SSE42
  382. select BR2_X86_CPU_HAS_AVX
  383. select BR2_X86_CPU_HAS_AVX2
  384. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  385. config BR2_x86_knightsmill
  386. bool "knightsmill"
  387. select BR2_X86_CPU_HAS_MMX
  388. select BR2_X86_CPU_HAS_SSE
  389. select BR2_X86_CPU_HAS_SSE2
  390. select BR2_X86_CPU_HAS_SSE3
  391. select BR2_X86_CPU_HAS_SSSE3
  392. select BR2_X86_CPU_HAS_SSE4
  393. select BR2_X86_CPU_HAS_SSE42
  394. select BR2_X86_CPU_HAS_AVX
  395. select BR2_X86_CPU_HAS_AVX2
  396. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  397. config BR2_x86_skylake_avx512
  398. bool "skylake-avx512"
  399. select BR2_X86_CPU_HAS_MMX
  400. select BR2_X86_CPU_HAS_SSE
  401. select BR2_X86_CPU_HAS_SSE2
  402. select BR2_X86_CPU_HAS_SSE3
  403. select BR2_X86_CPU_HAS_SSSE3
  404. select BR2_X86_CPU_HAS_SSE4
  405. select BR2_X86_CPU_HAS_SSE42
  406. select BR2_X86_CPU_HAS_AVX
  407. select BR2_X86_CPU_HAS_AVX2
  408. select BR2_X86_CPU_HAS_AVX512
  409. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  410. config BR2_x86_cannonlake
  411. bool "cannonlake"
  412. select BR2_X86_CPU_HAS_MMX
  413. select BR2_X86_CPU_HAS_SSE
  414. select BR2_X86_CPU_HAS_SSE2
  415. select BR2_X86_CPU_HAS_SSE3
  416. select BR2_X86_CPU_HAS_SSSE3
  417. select BR2_X86_CPU_HAS_SSE4
  418. select BR2_X86_CPU_HAS_SSE42
  419. select BR2_X86_CPU_HAS_AVX
  420. select BR2_X86_CPU_HAS_AVX2
  421. select BR2_X86_CPU_HAS_AVX512
  422. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  423. config BR2_x86_icelake_client
  424. bool "icelake-client"
  425. select BR2_X86_CPU_HAS_MMX
  426. select BR2_X86_CPU_HAS_SSE
  427. select BR2_X86_CPU_HAS_SSE2
  428. select BR2_X86_CPU_HAS_SSE3
  429. select BR2_X86_CPU_HAS_SSSE3
  430. select BR2_X86_CPU_HAS_SSE4
  431. select BR2_X86_CPU_HAS_SSE42
  432. select BR2_X86_CPU_HAS_AVX
  433. select BR2_X86_CPU_HAS_AVX2
  434. select BR2_X86_CPU_HAS_AVX512
  435. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  436. config BR2_x86_icelake_server
  437. bool "icelake-server"
  438. select BR2_X86_CPU_HAS_MMX
  439. select BR2_X86_CPU_HAS_SSE
  440. select BR2_X86_CPU_HAS_SSE2
  441. select BR2_X86_CPU_HAS_SSE3
  442. select BR2_X86_CPU_HAS_SSSE3
  443. select BR2_X86_CPU_HAS_SSE4
  444. select BR2_X86_CPU_HAS_SSE42
  445. select BR2_X86_CPU_HAS_AVX
  446. select BR2_X86_CPU_HAS_AVX2
  447. select BR2_X86_CPU_HAS_AVX512
  448. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  449. config BR2_x86_cascadelake
  450. bool "cascadelake"
  451. select BR2_X86_CPU_HAS_MMX
  452. select BR2_X86_CPU_HAS_SSE
  453. select BR2_X86_CPU_HAS_SSE2
  454. select BR2_X86_CPU_HAS_SSE3
  455. select BR2_X86_CPU_HAS_SSSE3
  456. select BR2_X86_CPU_HAS_SSE4
  457. select BR2_X86_CPU_HAS_SSE42
  458. select BR2_X86_CPU_HAS_AVX
  459. select BR2_X86_CPU_HAS_AVX2
  460. select BR2_X86_CPU_HAS_AVX512
  461. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  462. config BR2_x86_cooperlake
  463. bool "cooperlake"
  464. select BR2_X86_CPU_HAS_MMX
  465. select BR2_X86_CPU_HAS_SSE
  466. select BR2_X86_CPU_HAS_SSE2
  467. select BR2_X86_CPU_HAS_SSE3
  468. select BR2_X86_CPU_HAS_SSSE3
  469. select BR2_X86_CPU_HAS_SSE4
  470. select BR2_X86_CPU_HAS_SSE42
  471. select BR2_X86_CPU_HAS_AVX
  472. select BR2_X86_CPU_HAS_AVX2
  473. select BR2_X86_CPU_HAS_AVX512
  474. select BR2_ARCH_NEEDS_GCC_AT_LEAST_10
  475. config BR2_x86_tigerlake
  476. bool "tigerlake"
  477. select BR2_X86_CPU_HAS_MMX
  478. select BR2_X86_CPU_HAS_SSE
  479. select BR2_X86_CPU_HAS_SSE2
  480. select BR2_X86_CPU_HAS_SSE3
  481. select BR2_X86_CPU_HAS_SSSE3
  482. select BR2_X86_CPU_HAS_SSE4
  483. select BR2_X86_CPU_HAS_SSE42
  484. select BR2_X86_CPU_HAS_AVX
  485. select BR2_X86_CPU_HAS_AVX2
  486. select BR2_X86_CPU_HAS_AVX512
  487. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  488. config BR2_x86_sapphirerapids
  489. bool "sapphirerapids"
  490. select BR2_X86_CPU_HAS_MMX
  491. select BR2_X86_CPU_HAS_SSE
  492. select BR2_X86_CPU_HAS_SSE2
  493. select BR2_X86_CPU_HAS_SSE3
  494. select BR2_X86_CPU_HAS_SSSE3
  495. select BR2_X86_CPU_HAS_SSE4
  496. select BR2_X86_CPU_HAS_SSE42
  497. select BR2_X86_CPU_HAS_AVX
  498. select BR2_X86_CPU_HAS_AVX2
  499. select BR2_X86_CPU_HAS_AVX512
  500. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  501. help
  502. Use for Sapphire Rapids, Emerald Rapids
  503. config BR2_x86_alderlake
  504. bool "alderlake"
  505. select BR2_X86_CPU_HAS_MMX
  506. select BR2_X86_CPU_HAS_SSE
  507. select BR2_X86_CPU_HAS_SSE2
  508. select BR2_X86_CPU_HAS_SSE3
  509. select BR2_X86_CPU_HAS_SSSE3
  510. select BR2_X86_CPU_HAS_SSE4
  511. select BR2_X86_CPU_HAS_SSE42
  512. select BR2_X86_CPU_HAS_AVX
  513. select BR2_X86_CPU_HAS_AVX2
  514. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  515. help
  516. Use for Alder Lake, Raptor Lake, Meteor Lake
  517. config BR2_x86_rocketlake
  518. bool "rocketlake"
  519. select BR2_X86_CPU_HAS_MMX
  520. select BR2_X86_CPU_HAS_SSE
  521. select BR2_X86_CPU_HAS_SSE2
  522. select BR2_X86_CPU_HAS_SSE3
  523. select BR2_X86_CPU_HAS_SSSE3
  524. select BR2_X86_CPU_HAS_SSE4
  525. select BR2_X86_CPU_HAS_SSE42
  526. select BR2_X86_CPU_HAS_AVX
  527. select BR2_X86_CPU_HAS_AVX2
  528. select BR2_X86_CPU_HAS_AVX512
  529. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  530. config BR2_x86_graniterapids
  531. bool "graniterapids"
  532. select BR2_X86_CPU_HAS_MMX
  533. select BR2_X86_CPU_HAS_SSE
  534. select BR2_X86_CPU_HAS_SSE2
  535. select BR2_X86_CPU_HAS_SSE3
  536. select BR2_X86_CPU_HAS_SSSE3
  537. select BR2_X86_CPU_HAS_SSE4
  538. select BR2_X86_CPU_HAS_SSE42
  539. select BR2_X86_CPU_HAS_AVX
  540. select BR2_X86_CPU_HAS_AVX2
  541. select BR2_X86_CPU_HAS_AVX512
  542. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  543. config BR2_x86_graniterapids_d
  544. bool "graniterapids-d"
  545. select BR2_X86_CPU_HAS_MMX
  546. select BR2_X86_CPU_HAS_SSE
  547. select BR2_X86_CPU_HAS_SSE2
  548. select BR2_X86_CPU_HAS_SSE3
  549. select BR2_X86_CPU_HAS_SSSE3
  550. select BR2_X86_CPU_HAS_SSE4
  551. select BR2_X86_CPU_HAS_SSE42
  552. select BR2_X86_CPU_HAS_AVX
  553. select BR2_X86_CPU_HAS_AVX2
  554. select BR2_X86_CPU_HAS_AVX512
  555. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  556. config BR2_x86_k6
  557. bool "k6"
  558. depends on !BR2_x86_64
  559. select BR2_X86_CPU_HAS_MMX
  560. config BR2_x86_k6_2
  561. bool "k6-2"
  562. depends on !BR2_x86_64
  563. select BR2_X86_CPU_HAS_MMX
  564. select BR2_X86_CPU_HAS_3DNOW
  565. config BR2_x86_athlon
  566. bool "athlon"
  567. depends on !BR2_x86_64
  568. select BR2_X86_CPU_HAS_MMX
  569. select BR2_X86_CPU_HAS_3DNOW
  570. config BR2_x86_athlon_4
  571. bool "athlon-4"
  572. depends on !BR2_x86_64
  573. select BR2_X86_CPU_HAS_MMX
  574. select BR2_X86_CPU_HAS_SSE
  575. select BR2_X86_CPU_HAS_3DNOW
  576. config BR2_x86_opteron
  577. bool "opteron"
  578. select BR2_X86_CPU_HAS_MMX
  579. select BR2_X86_CPU_HAS_SSE
  580. select BR2_X86_CPU_HAS_SSE2
  581. config BR2_x86_opteron_sse3
  582. bool "opteron w/ SSE3"
  583. select BR2_X86_CPU_HAS_MMX
  584. select BR2_X86_CPU_HAS_SSE
  585. select BR2_X86_CPU_HAS_SSE2
  586. select BR2_X86_CPU_HAS_SSE3
  587. config BR2_x86_barcelona
  588. bool "barcelona"
  589. select BR2_X86_CPU_HAS_MMX
  590. select BR2_X86_CPU_HAS_SSE
  591. select BR2_X86_CPU_HAS_SSE2
  592. select BR2_X86_CPU_HAS_SSE3
  593. config BR2_x86_bobcat
  594. bool "bobcat"
  595. select BR2_X86_CPU_HAS_MMX
  596. select BR2_X86_CPU_HAS_SSE
  597. select BR2_X86_CPU_HAS_SSE2
  598. select BR2_X86_CPU_HAS_SSE3
  599. select BR2_X86_CPU_HAS_SSSE3
  600. config BR2_x86_jaguar
  601. bool "jaguar"
  602. select BR2_X86_CPU_HAS_MMX
  603. select BR2_X86_CPU_HAS_SSE
  604. select BR2_X86_CPU_HAS_SSE2
  605. select BR2_X86_CPU_HAS_SSE3
  606. select BR2_X86_CPU_HAS_SSSE3
  607. select BR2_X86_CPU_HAS_SSE4
  608. select BR2_X86_CPU_HAS_SSE42
  609. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  610. config BR2_x86_bulldozer
  611. bool "bulldozer"
  612. select BR2_X86_CPU_HAS_MMX
  613. select BR2_X86_CPU_HAS_SSE
  614. select BR2_X86_CPU_HAS_SSE2
  615. select BR2_X86_CPU_HAS_SSE3
  616. select BR2_X86_CPU_HAS_SSSE3
  617. select BR2_X86_CPU_HAS_SSE4
  618. select BR2_X86_CPU_HAS_SSE42
  619. config BR2_x86_piledriver
  620. bool "piledriver"
  621. select BR2_X86_CPU_HAS_MMX
  622. select BR2_X86_CPU_HAS_SSE
  623. select BR2_X86_CPU_HAS_SSE2
  624. select BR2_X86_CPU_HAS_SSE3
  625. select BR2_X86_CPU_HAS_SSSE3
  626. select BR2_X86_CPU_HAS_SSE4
  627. select BR2_X86_CPU_HAS_SSE42
  628. config BR2_x86_steamroller
  629. bool "steamroller"
  630. select BR2_X86_CPU_HAS_MMX
  631. select BR2_X86_CPU_HAS_SSE
  632. select BR2_X86_CPU_HAS_SSE2
  633. select BR2_X86_CPU_HAS_SSE3
  634. select BR2_X86_CPU_HAS_SSSE3
  635. select BR2_X86_CPU_HAS_SSE4
  636. select BR2_X86_CPU_HAS_SSE42
  637. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  638. config BR2_x86_excavator
  639. bool "excavator"
  640. select BR2_X86_CPU_HAS_MMX
  641. select BR2_X86_CPU_HAS_SSE
  642. select BR2_X86_CPU_HAS_SSE2
  643. select BR2_X86_CPU_HAS_SSE3
  644. select BR2_X86_CPU_HAS_SSSE3
  645. select BR2_X86_CPU_HAS_SSE4
  646. select BR2_X86_CPU_HAS_SSE42
  647. select BR2_X86_CPU_HAS_AVX
  648. select BR2_X86_CPU_HAS_AVX2
  649. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  650. config BR2_x86_zen
  651. bool "zen"
  652. select BR2_X86_CPU_HAS_MMX
  653. select BR2_X86_CPU_HAS_SSE
  654. select BR2_X86_CPU_HAS_SSE2
  655. select BR2_X86_CPU_HAS_SSE3
  656. select BR2_X86_CPU_HAS_SSSE3
  657. select BR2_X86_CPU_HAS_SSE4
  658. select BR2_X86_CPU_HAS_SSE42
  659. select BR2_X86_CPU_HAS_AVX
  660. select BR2_X86_CPU_HAS_AVX2
  661. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  662. config BR2_x86_zen2
  663. bool "zen 2"
  664. select BR2_X86_CPU_HAS_MMX
  665. select BR2_X86_CPU_HAS_SSE
  666. select BR2_X86_CPU_HAS_SSE2
  667. select BR2_X86_CPU_HAS_SSE3
  668. select BR2_X86_CPU_HAS_SSSE3
  669. select BR2_X86_CPU_HAS_SSE4
  670. select BR2_X86_CPU_HAS_SSE42
  671. select BR2_X86_CPU_HAS_AVX
  672. select BR2_X86_CPU_HAS_AVX2
  673. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  674. config BR2_x86_zen3
  675. bool "zen 3"
  676. select BR2_X86_CPU_HAS_MMX
  677. select BR2_X86_CPU_HAS_SSE
  678. select BR2_X86_CPU_HAS_SSE2
  679. select BR2_X86_CPU_HAS_SSE3
  680. select BR2_X86_CPU_HAS_SSSE3
  681. select BR2_X86_CPU_HAS_SSE4
  682. select BR2_X86_CPU_HAS_SSE42
  683. select BR2_X86_CPU_HAS_AVX
  684. select BR2_X86_CPU_HAS_AVX2
  685. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  686. config BR2_x86_zen4
  687. bool "zen 4"
  688. select BR2_X86_CPU_HAS_MMX
  689. select BR2_X86_CPU_HAS_SSE
  690. select BR2_X86_CPU_HAS_SSE2
  691. select BR2_X86_CPU_HAS_SSE3
  692. select BR2_X86_CPU_HAS_SSSE3
  693. select BR2_X86_CPU_HAS_SSE4
  694. select BR2_X86_CPU_HAS_SSE42
  695. select BR2_X86_CPU_HAS_AVX
  696. select BR2_X86_CPU_HAS_AVX2
  697. select BR2_X86_CPU_HAS_AVX512
  698. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  699. config BR2_x86_geode
  700. bool "AMD Geode"
  701. depends on !BR2_x86_64
  702. select BR2_X86_CPU_HAS_MMX
  703. select BR2_X86_CPU_HAS_3DNOW
  704. config BR2_x86_c3
  705. bool "Via/Cyrix C3 (Samuel/Ezra cores)"
  706. depends on !BR2_x86_64
  707. select BR2_X86_CPU_HAS_MMX
  708. select BR2_X86_CPU_HAS_3DNOW
  709. config BR2_x86_c32
  710. bool "Via C3-2 (Nehemiah cores)"
  711. depends on !BR2_x86_64
  712. select BR2_X86_CPU_HAS_MMX
  713. select BR2_X86_CPU_HAS_SSE
  714. config BR2_x86_winchip_c6
  715. bool "IDT Winchip C6"
  716. depends on !BR2_x86_64
  717. select BR2_X86_CPU_HAS_MMX
  718. config BR2_x86_winchip2
  719. bool "IDT Winchip 2"
  720. depends on !BR2_x86_64
  721. select BR2_X86_CPU_HAS_MMX
  722. endchoice
  723. config BR2_ARCH
  724. default "i486" if BR2_x86_i486
  725. default "i586" if BR2_x86_i586
  726. default "i586" if BR2_x86_x1000
  727. default "i586" if BR2_x86_pentium_mmx
  728. default "i586" if BR2_x86_geode
  729. default "i586" if BR2_x86_c3
  730. default "i686" if BR2_x86_c32
  731. default "i586" if BR2_x86_winchip_c6
  732. default "i586" if BR2_x86_winchip2
  733. # We use the property of Kconfig that the first match of a
  734. # list of default will be chosen. So the following entry will
  735. # not match for all BR2_i386=y configurations, but only the
  736. # ones that didn't match any of the previous cases (i486,
  737. # i586).
  738. default "i686" if BR2_i386
  739. default "x86_64" if BR2_x86_64
  740. config BR2_NORMALIZED_ARCH
  741. default "i386" if !BR2_x86_64
  742. default "x86_64" if BR2_x86_64
  743. config BR2_ENDIAN
  744. default "LITTLE"
  745. config BR2_GCC_TARGET_ARCH
  746. default "i486" if BR2_x86_i486
  747. default "i586" if BR2_x86_i586
  748. default "i586" if BR2_x86_x1000
  749. default "pentium-mmx" if BR2_x86_pentium_mmx
  750. default "i686" if BR2_x86_i686
  751. default "pentiumpro" if BR2_x86_pentiumpro
  752. default "pentium-m" if BR2_x86_pentium_m
  753. default "pentium2" if BR2_x86_pentium2
  754. default "pentium3" if BR2_x86_pentium3
  755. default "pentium4" if BR2_x86_pentium4
  756. default "prescott" if BR2_x86_prescott
  757. default "x86-64" if BR2_x86_x86_64
  758. default "x86-64-v2" if BR2_x86_x86_64_v2
  759. default "x86-64-v3" if BR2_x86_x86_64_v3
  760. default "x86-64-v4" if BR2_x86_x86_64_v4
  761. default "nocona" if BR2_x86_nocona
  762. default "core2" if BR2_x86_core2
  763. default "corei7" if BR2_x86_corei7
  764. default "nehalem" if BR2_x86_nehalem
  765. default "corei7-avx" if BR2_x86_corei7_avx
  766. default "sandybridge" if BR2_x86_sandybridge
  767. default "ivybridge" if BR2_x86_ivybridge
  768. default "core-avx2" if BR2_x86_core_avx2
  769. default "haswell" if BR2_x86_haswell
  770. default "broadwell" if BR2_x86_broadwell
  771. default "skylake" if BR2_x86_skylake
  772. default "atom" if BR2_x86_atom
  773. default "bonnell" if BR2_x86_bonnell
  774. default "westmere" if BR2_x86_westmere
  775. default "silvermont" if BR2_x86_silvermont
  776. default "goldmont" if BR2_x86_goldmont
  777. default "goldmont-plus" if BR2_x86_goldmont_plus
  778. default "tremont" if BR2_x86_tremont
  779. default "sierraforest" if BR2_x86_sierraforest
  780. default "grandridge" if BR2_x86_grandridge
  781. default "knl" if BR2_x86_knightslanding
  782. default "knm" if BR2_x86_knightsmill
  783. default "skylake-avx512" if BR2_x86_skylake_avx512
  784. default "cannonlake" if BR2_x86_cannonlake
  785. default "icelake-client" if BR2_x86_icelake_client
  786. default "icelake-server" if BR2_x86_icelake_server
  787. default "cascadelake" if BR2_x86_cascadelake
  788. default "cooperlake" if BR2_x86_cooperlake
  789. default "tigerlake" if BR2_x86_tigerlake
  790. default "sapphirerapids" if BR2_x86_sapphirerapids
  791. default "alderlake" if BR2_x86_alderlake
  792. default "rocketlake" if BR2_x86_rocketlake
  793. default "graniterapids" if BR2_x86_graniterapids
  794. default "graniterapids-d" if BR2_x86_graniterapids_d
  795. default "k8" if BR2_x86_opteron
  796. default "k8-sse3" if BR2_x86_opteron_sse3
  797. default "barcelona" if BR2_x86_barcelona
  798. default "btver1" if BR2_x86_bobcat
  799. default "btver2" if BR2_x86_jaguar
  800. default "bdver1" if BR2_x86_bulldozer
  801. default "bdver2" if BR2_x86_piledriver
  802. default "bdver3" if BR2_x86_steamroller
  803. default "bdver4" if BR2_x86_excavator
  804. default "znver1" if BR2_x86_zen
  805. default "znver2" if BR2_x86_zen2
  806. default "znver3" if BR2_x86_zen3
  807. default "znver4" if BR2_x86_zen4
  808. default "k6" if BR2_x86_k6
  809. default "k6-2" if BR2_x86_k6_2
  810. default "athlon" if BR2_x86_athlon
  811. default "athlon-4" if BR2_x86_athlon_4
  812. default "winchip-c6" if BR2_x86_winchip_c6
  813. default "winchip2" if BR2_x86_winchip2
  814. default "c3" if BR2_x86_c3
  815. default "c3-2" if BR2_x86_c32
  816. default "geode" if BR2_x86_geode
  817. config BR2_READELF_ARCH_NAME
  818. default "Intel 80386" if BR2_i386
  819. default "Advanced Micro Devices X86-64" if BR2_x86_64
  820. # vim: ft=kconfig
  821. # -*- mode:kconfig; -*-