Config.in.x86 24 KB

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