2
1

Config.in.x86 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810
  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_skylake_avx512
  375. bool "skylake-avx512"
  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_X86_CPU_HAS_AVX512
  386. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  387. config BR2_x86_cannonlake
  388. bool "cannonlake"
  389. select BR2_X86_CPU_HAS_MMX
  390. select BR2_X86_CPU_HAS_SSE
  391. select BR2_X86_CPU_HAS_SSE2
  392. select BR2_X86_CPU_HAS_SSE3
  393. select BR2_X86_CPU_HAS_SSSE3
  394. select BR2_X86_CPU_HAS_SSE4
  395. select BR2_X86_CPU_HAS_SSE42
  396. select BR2_X86_CPU_HAS_AVX
  397. select BR2_X86_CPU_HAS_AVX2
  398. select BR2_X86_CPU_HAS_AVX512
  399. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  400. config BR2_x86_icelake_client
  401. bool "icelake-client"
  402. select BR2_X86_CPU_HAS_MMX
  403. select BR2_X86_CPU_HAS_SSE
  404. select BR2_X86_CPU_HAS_SSE2
  405. select BR2_X86_CPU_HAS_SSE3
  406. select BR2_X86_CPU_HAS_SSSE3
  407. select BR2_X86_CPU_HAS_SSE4
  408. select BR2_X86_CPU_HAS_SSE42
  409. select BR2_X86_CPU_HAS_AVX
  410. select BR2_X86_CPU_HAS_AVX2
  411. select BR2_X86_CPU_HAS_AVX512
  412. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  413. config BR2_x86_icelake_server
  414. bool "icelake-server"
  415. select BR2_X86_CPU_HAS_MMX
  416. select BR2_X86_CPU_HAS_SSE
  417. select BR2_X86_CPU_HAS_SSE2
  418. select BR2_X86_CPU_HAS_SSE3
  419. select BR2_X86_CPU_HAS_SSSE3
  420. select BR2_X86_CPU_HAS_SSE4
  421. select BR2_X86_CPU_HAS_SSE42
  422. select BR2_X86_CPU_HAS_AVX
  423. select BR2_X86_CPU_HAS_AVX2
  424. select BR2_X86_CPU_HAS_AVX512
  425. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  426. config BR2_x86_cascadelake
  427. bool "cascadelake"
  428. select BR2_X86_CPU_HAS_MMX
  429. select BR2_X86_CPU_HAS_SSE
  430. select BR2_X86_CPU_HAS_SSE2
  431. select BR2_X86_CPU_HAS_SSE3
  432. select BR2_X86_CPU_HAS_SSSE3
  433. select BR2_X86_CPU_HAS_SSE4
  434. select BR2_X86_CPU_HAS_SSE42
  435. select BR2_X86_CPU_HAS_AVX
  436. select BR2_X86_CPU_HAS_AVX2
  437. select BR2_X86_CPU_HAS_AVX512
  438. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  439. config BR2_x86_cooperlake
  440. bool "cooperlake"
  441. select BR2_X86_CPU_HAS_MMX
  442. select BR2_X86_CPU_HAS_SSE
  443. select BR2_X86_CPU_HAS_SSE2
  444. select BR2_X86_CPU_HAS_SSE3
  445. select BR2_X86_CPU_HAS_SSSE3
  446. select BR2_X86_CPU_HAS_SSE4
  447. select BR2_X86_CPU_HAS_SSE42
  448. select BR2_X86_CPU_HAS_AVX
  449. select BR2_X86_CPU_HAS_AVX2
  450. select BR2_X86_CPU_HAS_AVX512
  451. select BR2_ARCH_NEEDS_GCC_AT_LEAST_10
  452. config BR2_x86_tigerlake
  453. bool "tigerlake"
  454. select BR2_X86_CPU_HAS_MMX
  455. select BR2_X86_CPU_HAS_SSE
  456. select BR2_X86_CPU_HAS_SSE2
  457. select BR2_X86_CPU_HAS_SSE3
  458. select BR2_X86_CPU_HAS_SSSE3
  459. select BR2_X86_CPU_HAS_SSE4
  460. select BR2_X86_CPU_HAS_SSE42
  461. select BR2_X86_CPU_HAS_AVX
  462. select BR2_X86_CPU_HAS_AVX2
  463. select BR2_X86_CPU_HAS_AVX512
  464. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  465. config BR2_x86_sapphirerapids
  466. bool "sapphirerapids"
  467. select BR2_X86_CPU_HAS_MMX
  468. select BR2_X86_CPU_HAS_SSE
  469. select BR2_X86_CPU_HAS_SSE2
  470. select BR2_X86_CPU_HAS_SSE3
  471. select BR2_X86_CPU_HAS_SSSE3
  472. select BR2_X86_CPU_HAS_SSE4
  473. select BR2_X86_CPU_HAS_SSE42
  474. select BR2_X86_CPU_HAS_AVX
  475. select BR2_X86_CPU_HAS_AVX2
  476. select BR2_X86_CPU_HAS_AVX512
  477. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  478. help
  479. Use for Sapphire Rapids, Emerald Rapids
  480. config BR2_x86_alderlake
  481. bool "alderlake"
  482. select BR2_X86_CPU_HAS_MMX
  483. select BR2_X86_CPU_HAS_SSE
  484. select BR2_X86_CPU_HAS_SSE2
  485. select BR2_X86_CPU_HAS_SSE3
  486. select BR2_X86_CPU_HAS_SSSE3
  487. select BR2_X86_CPU_HAS_SSE4
  488. select BR2_X86_CPU_HAS_SSE42
  489. select BR2_X86_CPU_HAS_AVX
  490. select BR2_X86_CPU_HAS_AVX2
  491. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  492. help
  493. Use for Alder Lake, Raptor Lake, Meteor Lake
  494. config BR2_x86_rocketlake
  495. bool "rocketlake"
  496. select BR2_X86_CPU_HAS_MMX
  497. select BR2_X86_CPU_HAS_SSE
  498. select BR2_X86_CPU_HAS_SSE2
  499. select BR2_X86_CPU_HAS_SSE3
  500. select BR2_X86_CPU_HAS_SSSE3
  501. select BR2_X86_CPU_HAS_SSE4
  502. select BR2_X86_CPU_HAS_SSE42
  503. select BR2_X86_CPU_HAS_AVX
  504. select BR2_X86_CPU_HAS_AVX2
  505. select BR2_X86_CPU_HAS_AVX512
  506. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  507. config BR2_x86_graniterapids
  508. bool "graniterapids"
  509. select BR2_X86_CPU_HAS_MMX
  510. select BR2_X86_CPU_HAS_SSE
  511. select BR2_X86_CPU_HAS_SSE2
  512. select BR2_X86_CPU_HAS_SSE3
  513. select BR2_X86_CPU_HAS_SSSE3
  514. select BR2_X86_CPU_HAS_SSE4
  515. select BR2_X86_CPU_HAS_SSE42
  516. select BR2_X86_CPU_HAS_AVX
  517. select BR2_X86_CPU_HAS_AVX2
  518. select BR2_X86_CPU_HAS_AVX512
  519. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  520. config BR2_x86_graniterapids_d
  521. bool "graniterapids-d"
  522. select BR2_X86_CPU_HAS_MMX
  523. select BR2_X86_CPU_HAS_SSE
  524. select BR2_X86_CPU_HAS_SSE2
  525. select BR2_X86_CPU_HAS_SSE3
  526. select BR2_X86_CPU_HAS_SSSE3
  527. select BR2_X86_CPU_HAS_SSE4
  528. select BR2_X86_CPU_HAS_SSE42
  529. select BR2_X86_CPU_HAS_AVX
  530. select BR2_X86_CPU_HAS_AVX2
  531. select BR2_X86_CPU_HAS_AVX512
  532. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  533. config BR2_x86_k6
  534. bool "k6"
  535. depends on !BR2_x86_64
  536. select BR2_X86_CPU_HAS_MMX
  537. config BR2_x86_k6_2
  538. bool "k6-2"
  539. depends on !BR2_x86_64
  540. select BR2_X86_CPU_HAS_MMX
  541. select BR2_X86_CPU_HAS_3DNOW
  542. config BR2_x86_athlon
  543. bool "athlon"
  544. depends on !BR2_x86_64
  545. select BR2_X86_CPU_HAS_MMX
  546. select BR2_X86_CPU_HAS_3DNOW
  547. config BR2_x86_athlon_4
  548. bool "athlon-4"
  549. depends on !BR2_x86_64
  550. select BR2_X86_CPU_HAS_MMX
  551. select BR2_X86_CPU_HAS_SSE
  552. select BR2_X86_CPU_HAS_3DNOW
  553. config BR2_x86_opteron
  554. bool "opteron"
  555. select BR2_X86_CPU_HAS_MMX
  556. select BR2_X86_CPU_HAS_SSE
  557. select BR2_X86_CPU_HAS_SSE2
  558. config BR2_x86_opteron_sse3
  559. bool "opteron w/ SSE3"
  560. select BR2_X86_CPU_HAS_MMX
  561. select BR2_X86_CPU_HAS_SSE
  562. select BR2_X86_CPU_HAS_SSE2
  563. select BR2_X86_CPU_HAS_SSE3
  564. config BR2_x86_barcelona
  565. bool "barcelona"
  566. select BR2_X86_CPU_HAS_MMX
  567. select BR2_X86_CPU_HAS_SSE
  568. select BR2_X86_CPU_HAS_SSE2
  569. select BR2_X86_CPU_HAS_SSE3
  570. config BR2_x86_bobcat
  571. bool "bobcat"
  572. select BR2_X86_CPU_HAS_MMX
  573. select BR2_X86_CPU_HAS_SSE
  574. select BR2_X86_CPU_HAS_SSE2
  575. select BR2_X86_CPU_HAS_SSE3
  576. select BR2_X86_CPU_HAS_SSSE3
  577. config BR2_x86_jaguar
  578. bool "jaguar"
  579. select BR2_X86_CPU_HAS_MMX
  580. select BR2_X86_CPU_HAS_SSE
  581. select BR2_X86_CPU_HAS_SSE2
  582. select BR2_X86_CPU_HAS_SSE3
  583. select BR2_X86_CPU_HAS_SSSE3
  584. select BR2_X86_CPU_HAS_SSE4
  585. select BR2_X86_CPU_HAS_SSE42
  586. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  587. config BR2_x86_bulldozer
  588. bool "bulldozer"
  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. select BR2_X86_CPU_HAS_SSSE3
  594. select BR2_X86_CPU_HAS_SSE4
  595. select BR2_X86_CPU_HAS_SSE42
  596. config BR2_x86_piledriver
  597. bool "piledriver"
  598. select BR2_X86_CPU_HAS_MMX
  599. select BR2_X86_CPU_HAS_SSE
  600. select BR2_X86_CPU_HAS_SSE2
  601. select BR2_X86_CPU_HAS_SSE3
  602. select BR2_X86_CPU_HAS_SSSE3
  603. select BR2_X86_CPU_HAS_SSE4
  604. select BR2_X86_CPU_HAS_SSE42
  605. config BR2_x86_steamroller
  606. bool "steamroller"
  607. select BR2_X86_CPU_HAS_MMX
  608. select BR2_X86_CPU_HAS_SSE
  609. select BR2_X86_CPU_HAS_SSE2
  610. select BR2_X86_CPU_HAS_SSE3
  611. select BR2_X86_CPU_HAS_SSSE3
  612. select BR2_X86_CPU_HAS_SSE4
  613. select BR2_X86_CPU_HAS_SSE42
  614. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  615. config BR2_x86_excavator
  616. bool "excavator"
  617. select BR2_X86_CPU_HAS_MMX
  618. select BR2_X86_CPU_HAS_SSE
  619. select BR2_X86_CPU_HAS_SSE2
  620. select BR2_X86_CPU_HAS_SSE3
  621. select BR2_X86_CPU_HAS_SSSE3
  622. select BR2_X86_CPU_HAS_SSE4
  623. select BR2_X86_CPU_HAS_SSE42
  624. select BR2_X86_CPU_HAS_AVX
  625. select BR2_X86_CPU_HAS_AVX2
  626. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  627. config BR2_x86_zen
  628. bool "zen"
  629. select BR2_X86_CPU_HAS_MMX
  630. select BR2_X86_CPU_HAS_SSE
  631. select BR2_X86_CPU_HAS_SSE2
  632. select BR2_X86_CPU_HAS_SSE3
  633. select BR2_X86_CPU_HAS_SSSE3
  634. select BR2_X86_CPU_HAS_SSE4
  635. select BR2_X86_CPU_HAS_SSE42
  636. select BR2_X86_CPU_HAS_AVX
  637. select BR2_X86_CPU_HAS_AVX2
  638. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  639. config BR2_x86_zen2
  640. bool "zen 2"
  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_9
  651. config BR2_x86_zen3
  652. bool "zen 3"
  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_11
  663. config BR2_x86_zen4
  664. bool "zen 4"
  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_X86_CPU_HAS_AVX512
  675. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  676. config BR2_x86_geode
  677. bool "AMD Geode"
  678. depends on !BR2_x86_64
  679. select BR2_X86_CPU_HAS_MMX
  680. select BR2_X86_CPU_HAS_3DNOW
  681. config BR2_x86_c3
  682. bool "Via/Cyrix C3 (Samuel/Ezra cores)"
  683. depends on !BR2_x86_64
  684. select BR2_X86_CPU_HAS_MMX
  685. select BR2_X86_CPU_HAS_3DNOW
  686. config BR2_x86_c32
  687. bool "Via C3-2 (Nehemiah cores)"
  688. depends on !BR2_x86_64
  689. select BR2_X86_CPU_HAS_MMX
  690. select BR2_X86_CPU_HAS_SSE
  691. config BR2_x86_winchip_c6
  692. bool "IDT Winchip C6"
  693. depends on !BR2_x86_64
  694. select BR2_X86_CPU_HAS_MMX
  695. config BR2_x86_winchip2
  696. bool "IDT Winchip 2"
  697. depends on !BR2_x86_64
  698. select BR2_X86_CPU_HAS_MMX
  699. endchoice
  700. config BR2_ARCH
  701. default "i486" if BR2_x86_i486
  702. default "i586" if BR2_x86_i586
  703. default "i586" if BR2_x86_x1000
  704. default "i586" if BR2_x86_pentium_mmx
  705. default "i586" if BR2_x86_geode
  706. default "i586" if BR2_x86_c3
  707. default "i686" if BR2_x86_c32
  708. default "i586" if BR2_x86_winchip_c6
  709. default "i586" if BR2_x86_winchip2
  710. # We use the property of Kconfig that the first match of a
  711. # list of default will be chosen. So the following entry will
  712. # not match for all BR2_i386=y configurations, but only the
  713. # ones that didn't match any of the previous cases (i486,
  714. # i586).
  715. default "i686" if BR2_i386
  716. default "x86_64" if BR2_x86_64
  717. config BR2_NORMALIZED_ARCH
  718. default "i386" if !BR2_x86_64
  719. default "x86_64" if BR2_x86_64
  720. config BR2_ENDIAN
  721. default "LITTLE"
  722. config BR2_GCC_TARGET_ARCH
  723. default "i486" if BR2_x86_i486
  724. default "i586" if BR2_x86_i586
  725. default "i586" if BR2_x86_x1000
  726. default "pentium-mmx" if BR2_x86_pentium_mmx
  727. default "i686" if BR2_x86_i686
  728. default "pentiumpro" if BR2_x86_pentiumpro
  729. default "pentium-m" if BR2_x86_pentium_m
  730. default "pentium2" if BR2_x86_pentium2
  731. default "pentium3" if BR2_x86_pentium3
  732. default "pentium4" if BR2_x86_pentium4
  733. default "prescott" if BR2_x86_prescott
  734. default "x86-64" if BR2_x86_x86_64
  735. default "x86-64-v2" if BR2_x86_x86_64_v2
  736. default "x86-64-v3" if BR2_x86_x86_64_v3
  737. default "x86-64-v4" if BR2_x86_x86_64_v4
  738. default "nocona" if BR2_x86_nocona
  739. default "core2" if BR2_x86_core2
  740. default "corei7" if BR2_x86_corei7
  741. default "nehalem" if BR2_x86_nehalem
  742. default "corei7-avx" if BR2_x86_corei7_avx
  743. default "sandybridge" if BR2_x86_sandybridge
  744. default "ivybridge" if BR2_x86_ivybridge
  745. default "core-avx2" if BR2_x86_core_avx2
  746. default "haswell" if BR2_x86_haswell
  747. default "broadwell" if BR2_x86_broadwell
  748. default "skylake" if BR2_x86_skylake
  749. default "atom" if BR2_x86_atom
  750. default "bonnell" if BR2_x86_bonnell
  751. default "westmere" if BR2_x86_westmere
  752. default "silvermont" if BR2_x86_silvermont
  753. default "goldmont" if BR2_x86_goldmont
  754. default "goldmont-plus" if BR2_x86_goldmont_plus
  755. default "tremont" if BR2_x86_tremont
  756. default "sierraforest" if BR2_x86_sierraforest
  757. default "grandridge" if BR2_x86_grandridge
  758. default "skylake-avx512" if BR2_x86_skylake_avx512
  759. default "cannonlake" if BR2_x86_cannonlake
  760. default "icelake-client" if BR2_x86_icelake_client
  761. default "icelake-server" if BR2_x86_icelake_server
  762. default "cascadelake" if BR2_x86_cascadelake
  763. default "cooperlake" if BR2_x86_cooperlake
  764. default "tigerlake" if BR2_x86_tigerlake
  765. default "sapphirerapids" if BR2_x86_sapphirerapids
  766. default "alderlake" if BR2_x86_alderlake
  767. default "rocketlake" if BR2_x86_rocketlake
  768. default "graniterapids" if BR2_x86_graniterapids
  769. default "graniterapids-d" if BR2_x86_graniterapids_d
  770. default "k8" if BR2_x86_opteron
  771. default "k8-sse3" if BR2_x86_opteron_sse3
  772. default "barcelona" if BR2_x86_barcelona
  773. default "btver1" if BR2_x86_bobcat
  774. default "btver2" if BR2_x86_jaguar
  775. default "bdver1" if BR2_x86_bulldozer
  776. default "bdver2" if BR2_x86_piledriver
  777. default "bdver3" if BR2_x86_steamroller
  778. default "bdver4" if BR2_x86_excavator
  779. default "znver1" if BR2_x86_zen
  780. default "znver2" if BR2_x86_zen2
  781. default "znver3" if BR2_x86_zen3
  782. default "znver4" if BR2_x86_zen4
  783. default "k6" if BR2_x86_k6
  784. default "k6-2" if BR2_x86_k6_2
  785. default "athlon" if BR2_x86_athlon
  786. default "athlon-4" if BR2_x86_athlon_4
  787. default "winchip-c6" if BR2_x86_winchip_c6
  788. default "winchip2" if BR2_x86_winchip2
  789. default "c3" if BR2_x86_c3
  790. default "c3-2" if BR2_x86_c32
  791. default "geode" if BR2_x86_geode
  792. config BR2_READELF_ARCH_NAME
  793. default "Intel 80386" if BR2_i386
  794. default "Advanced Micro Devices X86-64" if BR2_x86_64
  795. # vim: ft=kconfig
  796. # -*- mode:kconfig; -*-