Config.in.x86 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
  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. config BR2_X86_CPU_HAS_AVX512
  23. bool
  24. # This list of CPU architecture variant is (loosely) ordered according
  25. # to the gcc documentation at
  26. # https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/x86-Options.html
  27. choice
  28. prompt "Target Architecture Variant"
  29. default BR2_x86_i586 if BR2_i386
  30. depends on BR2_i386 || BR2_x86_64
  31. help
  32. Specific CPU variant to use
  33. config BR2_x86_i486
  34. bool "i486"
  35. depends on !BR2_x86_64
  36. config BR2_x86_i586
  37. bool "i586"
  38. depends on !BR2_x86_64
  39. config BR2_x86_x1000
  40. bool "x1000"
  41. depends on !BR2_x86_64
  42. help
  43. The Intel X1000 is a Pentium class microprocessor in the
  44. Quark (sub-Atom) Product Line. The X1000 has a bug on the
  45. lock prefix requiring that prefix must be stripped at build
  46. time.
  47. See https://en.wikipedia.org/wiki/Intel_Quark
  48. config BR2_x86_i686
  49. bool "i686"
  50. depends on !BR2_x86_64
  51. config BR2_x86_pentiumpro
  52. bool "pentium pro"
  53. depends on !BR2_x86_64
  54. config BR2_x86_pentium_mmx
  55. bool "pentium MMX"
  56. depends on !BR2_x86_64
  57. select BR2_X86_CPU_HAS_MMX
  58. config BR2_x86_pentium_m
  59. bool "pentium mobile"
  60. depends on !BR2_x86_64
  61. select BR2_X86_CPU_HAS_MMX
  62. select BR2_X86_CPU_HAS_SSE
  63. config BR2_x86_pentium2
  64. bool "pentium2"
  65. depends on !BR2_x86_64
  66. select BR2_X86_CPU_HAS_MMX
  67. config BR2_x86_pentium3
  68. bool "pentium3"
  69. depends on !BR2_x86_64
  70. select BR2_X86_CPU_HAS_MMX
  71. select BR2_X86_CPU_HAS_SSE
  72. config BR2_x86_pentium4
  73. bool "pentium4"
  74. depends on !BR2_x86_64
  75. select BR2_X86_CPU_HAS_MMX
  76. select BR2_X86_CPU_HAS_SSE
  77. select BR2_X86_CPU_HAS_SSE2
  78. config BR2_x86_prescott
  79. bool "prescott"
  80. depends on !BR2_x86_64
  81. select BR2_X86_CPU_HAS_MMX
  82. select BR2_X86_CPU_HAS_SSE
  83. select BR2_X86_CPU_HAS_SSE2
  84. select BR2_X86_CPU_HAS_SSE3
  85. config BR2_x86_x86_64
  86. bool "x86-64"
  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. help
  92. This option corresponds to -march=x86-64, documented as a
  93. "Generic CPU with 64-bit extensions" by the GCC
  94. documentation. It is a 64-bit CPU with MMX, SSE and SSE2
  95. support.
  96. config BR2_x86_x86_64_v2
  97. bool "x86-64-v2"
  98. depends on BR2_x86_64
  99. select BR2_X86_CPU_HAS_MMX
  100. select BR2_X86_CPU_HAS_SSE
  101. select BR2_X86_CPU_HAS_SSE2
  102. select BR2_X86_CPU_HAS_SSE3
  103. select BR2_X86_CPU_HAS_SSSE3
  104. select BR2_X86_CPU_HAS_SSE4
  105. select BR2_X86_CPU_HAS_SSE42
  106. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  107. help
  108. This option corresponds to the x86-64-v2 micro-architecture
  109. level, as defined by the x86-64 psABI document, see
  110. https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex.
  111. It is close to the Nehalem CPU architecture, and is
  112. applicable for CPUs that support CMPXCHG16B, LAHF-SAHF,
  113. POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3.
  114. config BR2_x86_x86_64_v3
  115. bool "x86-64-v3"
  116. depends on BR2_x86_64
  117. select BR2_X86_CPU_HAS_MMX
  118. select BR2_X86_CPU_HAS_SSE
  119. select BR2_X86_CPU_HAS_SSE2
  120. select BR2_X86_CPU_HAS_SSE3
  121. select BR2_X86_CPU_HAS_SSSE3
  122. select BR2_X86_CPU_HAS_SSE4
  123. select BR2_X86_CPU_HAS_SSE42
  124. select BR2_X86_CPU_HAS_AVX
  125. select BR2_X86_CPU_HAS_AVX2
  126. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  127. help
  128. This option corresponds to the x86-64-v3 micro-architecture
  129. level, as defined by the x86-64 psABI document, see
  130. https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex.
  131. It is close to the Haswell CPU architecture, and is
  132. applicable for CPUs that support all of x86-64-v2 plus AVX,
  133. AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE.
  134. config BR2_x86_x86_64_v4
  135. bool "x86-64-v4"
  136. depends on BR2_x86_64
  137. select BR2_X86_CPU_HAS_MMX
  138. select BR2_X86_CPU_HAS_SSE
  139. select BR2_X86_CPU_HAS_SSE2
  140. select BR2_X86_CPU_HAS_SSE3
  141. select BR2_X86_CPU_HAS_SSSE3
  142. select BR2_X86_CPU_HAS_SSE4
  143. select BR2_X86_CPU_HAS_SSE42
  144. select BR2_X86_CPU_HAS_AVX
  145. select BR2_X86_CPU_HAS_AVX2
  146. select BR2_X86_CPU_HAS_AVX512
  147. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  148. help
  149. This option corresponds to the x86-64-v4 micro-architecture
  150. level, as defined by the x86-64 psABI document, see
  151. https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex.
  152. It is applicable for CPUs that support all of x86-64-v3 plus
  153. AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL.
  154. config BR2_x86_nocona
  155. bool "nocona"
  156. select BR2_X86_CPU_HAS_MMX
  157. select BR2_X86_CPU_HAS_SSE
  158. select BR2_X86_CPU_HAS_SSE2
  159. select BR2_X86_CPU_HAS_SSE3
  160. config BR2_x86_core2
  161. bool "core2"
  162. select BR2_X86_CPU_HAS_MMX
  163. select BR2_X86_CPU_HAS_SSE
  164. select BR2_X86_CPU_HAS_SSE2
  165. select BR2_X86_CPU_HAS_SSE3
  166. select BR2_X86_CPU_HAS_SSSE3
  167. config BR2_x86_corei7
  168. bool "corei7"
  169. select BR2_X86_CPU_HAS_MMX
  170. select BR2_X86_CPU_HAS_SSE
  171. select BR2_X86_CPU_HAS_SSE2
  172. select BR2_X86_CPU_HAS_SSE3
  173. select BR2_X86_CPU_HAS_SSSE3
  174. select BR2_X86_CPU_HAS_SSE4
  175. select BR2_X86_CPU_HAS_SSE42
  176. help
  177. This option is deprecated. Since gcc 4.9, the gcc option
  178. "nehalem" is preferred. Use BR2_x86_nehalem instead.
  179. config BR2_x86_nehalem
  180. bool "nehalem"
  181. select BR2_X86_CPU_HAS_MMX
  182. select BR2_X86_CPU_HAS_SSE
  183. select BR2_X86_CPU_HAS_SSE2
  184. select BR2_X86_CPU_HAS_SSE3
  185. select BR2_X86_CPU_HAS_SSSE3
  186. select BR2_X86_CPU_HAS_SSE4
  187. select BR2_X86_CPU_HAS_SSE42
  188. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  189. config BR2_x86_westmere
  190. bool "westmere"
  191. select BR2_X86_CPU_HAS_MMX
  192. select BR2_X86_CPU_HAS_SSE
  193. select BR2_X86_CPU_HAS_SSE2
  194. select BR2_X86_CPU_HAS_SSE3
  195. select BR2_X86_CPU_HAS_SSSE3
  196. select BR2_X86_CPU_HAS_SSE4
  197. select BR2_X86_CPU_HAS_SSE42
  198. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  199. config BR2_x86_corei7_avx
  200. bool "corei7-avx"
  201. select BR2_X86_CPU_HAS_MMX
  202. select BR2_X86_CPU_HAS_SSE
  203. select BR2_X86_CPU_HAS_SSE2
  204. select BR2_X86_CPU_HAS_SSE3
  205. select BR2_X86_CPU_HAS_SSSE3
  206. select BR2_X86_CPU_HAS_SSE4
  207. select BR2_X86_CPU_HAS_SSE42
  208. select BR2_X86_CPU_HAS_AVX
  209. help
  210. This option is deprecated. Since gcc 4.9, the gcc option
  211. "sandybridge" is preferred. Use BR2_x86_sandybridge instead.
  212. config BR2_x86_sandybridge
  213. bool "sandybridge"
  214. select BR2_X86_CPU_HAS_MMX
  215. select BR2_X86_CPU_HAS_SSE
  216. select BR2_X86_CPU_HAS_SSE2
  217. select BR2_X86_CPU_HAS_SSE3
  218. select BR2_X86_CPU_HAS_SSSE3
  219. select BR2_X86_CPU_HAS_SSE4
  220. select BR2_X86_CPU_HAS_SSE42
  221. select BR2_X86_CPU_HAS_AVX
  222. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  223. config BR2_x86_core_avx2
  224. bool "core-avx2"
  225. select BR2_X86_CPU_HAS_MMX
  226. select BR2_X86_CPU_HAS_SSE
  227. select BR2_X86_CPU_HAS_SSE2
  228. select BR2_X86_CPU_HAS_SSE3
  229. select BR2_X86_CPU_HAS_SSSE3
  230. select BR2_X86_CPU_HAS_SSE4
  231. select BR2_X86_CPU_HAS_SSE42
  232. select BR2_X86_CPU_HAS_AVX
  233. select BR2_X86_CPU_HAS_AVX2
  234. help
  235. This option is deprecated. Since gcc 4.9, the gcc option
  236. "haswell" is preferred. Use BR2_x86_haswell instead.
  237. config BR2_x86_haswell
  238. bool "haswell"
  239. select BR2_X86_CPU_HAS_MMX
  240. select BR2_X86_CPU_HAS_SSE
  241. select BR2_X86_CPU_HAS_SSE2
  242. select BR2_X86_CPU_HAS_SSE3
  243. select BR2_X86_CPU_HAS_SSSE3
  244. select BR2_X86_CPU_HAS_SSE4
  245. select BR2_X86_CPU_HAS_SSE42
  246. select BR2_X86_CPU_HAS_AVX
  247. select BR2_X86_CPU_HAS_AVX2
  248. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  249. config BR2_x86_broadwell
  250. bool "broadwell"
  251. select BR2_X86_CPU_HAS_MMX
  252. select BR2_X86_CPU_HAS_SSE
  253. select BR2_X86_CPU_HAS_SSE2
  254. select BR2_X86_CPU_HAS_SSE3
  255. select BR2_X86_CPU_HAS_SSSE3
  256. select BR2_X86_CPU_HAS_SSE4
  257. select BR2_X86_CPU_HAS_SSE42
  258. select BR2_X86_CPU_HAS_AVX
  259. select BR2_X86_CPU_HAS_AVX2
  260. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  261. config BR2_x86_skylake
  262. bool "skylake"
  263. select BR2_X86_CPU_HAS_MMX
  264. select BR2_X86_CPU_HAS_SSE
  265. select BR2_X86_CPU_HAS_SSE2
  266. select BR2_X86_CPU_HAS_SSE3
  267. select BR2_X86_CPU_HAS_SSSE3
  268. select BR2_X86_CPU_HAS_SSE4
  269. select BR2_X86_CPU_HAS_SSE42
  270. select BR2_X86_CPU_HAS_AVX
  271. select BR2_X86_CPU_HAS_AVX2
  272. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  273. config BR2_x86_atom
  274. bool "atom"
  275. select BR2_X86_CPU_HAS_MMX
  276. select BR2_X86_CPU_HAS_SSE
  277. select BR2_X86_CPU_HAS_SSE2
  278. select BR2_X86_CPU_HAS_SSE3
  279. select BR2_X86_CPU_HAS_SSSE3
  280. help
  281. This option is deprecated. Since gcc 4.9, the gcc option
  282. "bonnell" is preferred. Use BR2_x86_bonnell instead.
  283. config BR2_x86_bonnell
  284. bool "bonnell"
  285. select BR2_X86_CPU_HAS_MMX
  286. select BR2_X86_CPU_HAS_SSE
  287. select BR2_X86_CPU_HAS_SSE2
  288. select BR2_X86_CPU_HAS_SSE3
  289. select BR2_X86_CPU_HAS_SSSE3
  290. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  291. config BR2_x86_silvermont
  292. bool "silvermont"
  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. select BR2_X86_CPU_HAS_SSE4
  299. select BR2_X86_CPU_HAS_SSE42
  300. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  301. config BR2_x86_goldmont
  302. bool "goldmont"
  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_X86_CPU_HAS_SSE4
  309. select BR2_X86_CPU_HAS_SSE42
  310. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  311. config BR2_x86_goldmont_plus
  312. bool "goldmont-plus"
  313. select BR2_X86_CPU_HAS_MMX
  314. select BR2_X86_CPU_HAS_SSE
  315. select BR2_X86_CPU_HAS_SSE2
  316. select BR2_X86_CPU_HAS_SSE3
  317. select BR2_X86_CPU_HAS_SSSE3
  318. select BR2_X86_CPU_HAS_SSE4
  319. select BR2_X86_CPU_HAS_SSE42
  320. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  321. config BR2_x86_tremont
  322. bool "tremont"
  323. select BR2_X86_CPU_HAS_MMX
  324. select BR2_X86_CPU_HAS_SSE
  325. select BR2_X86_CPU_HAS_SSE2
  326. select BR2_X86_CPU_HAS_SSE3
  327. select BR2_X86_CPU_HAS_SSSE3
  328. select BR2_X86_CPU_HAS_SSE4
  329. select BR2_X86_CPU_HAS_SSE42
  330. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  331. config BR2_x86_skylake_avx512
  332. bool "skylake-avx512"
  333. select BR2_X86_CPU_HAS_MMX
  334. select BR2_X86_CPU_HAS_SSE
  335. select BR2_X86_CPU_HAS_SSE2
  336. select BR2_X86_CPU_HAS_SSE3
  337. select BR2_X86_CPU_HAS_SSSE3
  338. select BR2_X86_CPU_HAS_SSE4
  339. select BR2_X86_CPU_HAS_SSE42
  340. select BR2_X86_CPU_HAS_AVX
  341. select BR2_X86_CPU_HAS_AVX2
  342. select BR2_X86_CPU_HAS_AVX512
  343. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  344. config BR2_x86_cannonlake
  345. bool "cannonlake"
  346. select BR2_X86_CPU_HAS_MMX
  347. select BR2_X86_CPU_HAS_SSE
  348. select BR2_X86_CPU_HAS_SSE2
  349. select BR2_X86_CPU_HAS_SSE3
  350. select BR2_X86_CPU_HAS_SSSE3
  351. select BR2_X86_CPU_HAS_SSE4
  352. select BR2_X86_CPU_HAS_SSE42
  353. select BR2_X86_CPU_HAS_AVX
  354. select BR2_X86_CPU_HAS_AVX2
  355. select BR2_X86_CPU_HAS_AVX512
  356. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  357. config BR2_x86_icelake_client
  358. bool "icelake-client"
  359. select BR2_X86_CPU_HAS_MMX
  360. select BR2_X86_CPU_HAS_SSE
  361. select BR2_X86_CPU_HAS_SSE2
  362. select BR2_X86_CPU_HAS_SSE3
  363. select BR2_X86_CPU_HAS_SSSE3
  364. select BR2_X86_CPU_HAS_SSE4
  365. select BR2_X86_CPU_HAS_SSE42
  366. select BR2_X86_CPU_HAS_AVX
  367. select BR2_X86_CPU_HAS_AVX2
  368. select BR2_X86_CPU_HAS_AVX512
  369. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  370. config BR2_x86_icelake_server
  371. bool "icelake-server"
  372. select BR2_X86_CPU_HAS_MMX
  373. select BR2_X86_CPU_HAS_SSE
  374. select BR2_X86_CPU_HAS_SSE2
  375. select BR2_X86_CPU_HAS_SSE3
  376. select BR2_X86_CPU_HAS_SSSE3
  377. select BR2_X86_CPU_HAS_SSE4
  378. select BR2_X86_CPU_HAS_SSE42
  379. select BR2_X86_CPU_HAS_AVX
  380. select BR2_X86_CPU_HAS_AVX2
  381. select BR2_X86_CPU_HAS_AVX512
  382. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  383. config BR2_x86_cascadelake
  384. bool "cascadelake"
  385. select BR2_X86_CPU_HAS_MMX
  386. select BR2_X86_CPU_HAS_SSE
  387. select BR2_X86_CPU_HAS_SSE2
  388. select BR2_X86_CPU_HAS_SSE3
  389. select BR2_X86_CPU_HAS_SSSE3
  390. select BR2_X86_CPU_HAS_SSE4
  391. select BR2_X86_CPU_HAS_SSE42
  392. select BR2_X86_CPU_HAS_AVX
  393. select BR2_X86_CPU_HAS_AVX2
  394. select BR2_X86_CPU_HAS_AVX512
  395. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  396. config BR2_x86_cooperlake
  397. bool "cooperlake"
  398. select BR2_X86_CPU_HAS_MMX
  399. select BR2_X86_CPU_HAS_SSE
  400. select BR2_X86_CPU_HAS_SSE2
  401. select BR2_X86_CPU_HAS_SSE3
  402. select BR2_X86_CPU_HAS_SSSE3
  403. select BR2_X86_CPU_HAS_SSE4
  404. select BR2_X86_CPU_HAS_SSE42
  405. select BR2_X86_CPU_HAS_AVX
  406. select BR2_X86_CPU_HAS_AVX2
  407. select BR2_X86_CPU_HAS_AVX512
  408. select BR2_ARCH_NEEDS_GCC_AT_LEAST_10
  409. config BR2_x86_tigerlake
  410. bool "tigerlake"
  411. select BR2_X86_CPU_HAS_MMX
  412. select BR2_X86_CPU_HAS_SSE
  413. select BR2_X86_CPU_HAS_SSE2
  414. select BR2_X86_CPU_HAS_SSE3
  415. select BR2_X86_CPU_HAS_SSSE3
  416. select BR2_X86_CPU_HAS_SSE4
  417. select BR2_X86_CPU_HAS_SSE42
  418. select BR2_X86_CPU_HAS_AVX
  419. select BR2_X86_CPU_HAS_AVX2
  420. select BR2_X86_CPU_HAS_AVX512
  421. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  422. config BR2_x86_sapphirerapids
  423. bool "sapphirerapids"
  424. select BR2_X86_CPU_HAS_MMX
  425. select BR2_X86_CPU_HAS_SSE
  426. select BR2_X86_CPU_HAS_SSE2
  427. select BR2_X86_CPU_HAS_SSE3
  428. select BR2_X86_CPU_HAS_SSSE3
  429. select BR2_X86_CPU_HAS_SSE4
  430. select BR2_X86_CPU_HAS_SSE42
  431. select BR2_X86_CPU_HAS_AVX
  432. select BR2_X86_CPU_HAS_AVX2
  433. select BR2_X86_CPU_HAS_AVX512
  434. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  435. config BR2_x86_alderlake
  436. bool "alderlake"
  437. select BR2_X86_CPU_HAS_MMX
  438. select BR2_X86_CPU_HAS_SSE
  439. select BR2_X86_CPU_HAS_SSE2
  440. select BR2_X86_CPU_HAS_SSE3
  441. select BR2_X86_CPU_HAS_SSSE3
  442. select BR2_X86_CPU_HAS_SSE4
  443. select BR2_X86_CPU_HAS_SSE42
  444. select BR2_X86_CPU_HAS_AVX
  445. select BR2_X86_CPU_HAS_AVX2
  446. select BR2_X86_CPU_HAS_AVX512
  447. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  448. config BR2_x86_rocketlake
  449. bool "rocketlake"
  450. select BR2_X86_CPU_HAS_MMX
  451. select BR2_X86_CPU_HAS_SSE
  452. select BR2_X86_CPU_HAS_SSE2
  453. select BR2_X86_CPU_HAS_SSE3
  454. select BR2_X86_CPU_HAS_SSSE3
  455. select BR2_X86_CPU_HAS_SSE4
  456. select BR2_X86_CPU_HAS_SSE42
  457. select BR2_X86_CPU_HAS_AVX
  458. select BR2_X86_CPU_HAS_AVX2
  459. select BR2_X86_CPU_HAS_AVX512
  460. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  461. config BR2_x86_k6
  462. bool "k6"
  463. depends on !BR2_x86_64
  464. select BR2_X86_CPU_HAS_MMX
  465. config BR2_x86_k6_2
  466. bool "k6-2"
  467. depends on !BR2_x86_64
  468. select BR2_X86_CPU_HAS_MMX
  469. select BR2_X86_CPU_HAS_3DNOW
  470. config BR2_x86_athlon
  471. bool "athlon"
  472. depends on !BR2_x86_64
  473. select BR2_X86_CPU_HAS_MMX
  474. select BR2_X86_CPU_HAS_3DNOW
  475. config BR2_x86_athlon_4
  476. bool "athlon-4"
  477. depends on !BR2_x86_64
  478. select BR2_X86_CPU_HAS_MMX
  479. select BR2_X86_CPU_HAS_SSE
  480. select BR2_X86_CPU_HAS_3DNOW
  481. config BR2_x86_opteron
  482. bool "opteron"
  483. select BR2_X86_CPU_HAS_MMX
  484. select BR2_X86_CPU_HAS_SSE
  485. select BR2_X86_CPU_HAS_SSE2
  486. config BR2_x86_opteron_sse3
  487. bool "opteron w/ SSE3"
  488. select BR2_X86_CPU_HAS_MMX
  489. select BR2_X86_CPU_HAS_SSE
  490. select BR2_X86_CPU_HAS_SSE2
  491. select BR2_X86_CPU_HAS_SSE3
  492. config BR2_x86_barcelona
  493. bool "barcelona"
  494. select BR2_X86_CPU_HAS_MMX
  495. select BR2_X86_CPU_HAS_SSE
  496. select BR2_X86_CPU_HAS_SSE2
  497. select BR2_X86_CPU_HAS_SSE3
  498. config BR2_x86_jaguar
  499. bool "jaguar"
  500. select BR2_X86_CPU_HAS_MMX
  501. select BR2_X86_CPU_HAS_SSE
  502. select BR2_X86_CPU_HAS_SSE2
  503. select BR2_X86_CPU_HAS_SSE3
  504. select BR2_X86_CPU_HAS_SSSE3
  505. select BR2_X86_CPU_HAS_SSE4
  506. select BR2_X86_CPU_HAS_SSE42
  507. config BR2_x86_steamroller
  508. bool "steamroller"
  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. config BR2_x86_geode
  517. bool "geode"
  518. # Don't include MMX support because there several variant of geode
  519. # processor, some with MMX support, some without.
  520. # See: http://en.wikipedia.org/wiki/Geode_%28processor%29
  521. depends on !BR2_x86_64
  522. config BR2_x86_c3
  523. bool "Via/Cyrix C3 (Samuel/Ezra cores)"
  524. depends on !BR2_x86_64
  525. select BR2_X86_CPU_HAS_MMX
  526. select BR2_X86_CPU_HAS_3DNOW
  527. config BR2_x86_c32
  528. bool "Via C3-2 (Nehemiah cores)"
  529. depends on !BR2_x86_64
  530. select BR2_X86_CPU_HAS_MMX
  531. select BR2_X86_CPU_HAS_SSE
  532. config BR2_x86_winchip_c6
  533. bool "IDT Winchip C6"
  534. depends on !BR2_x86_64
  535. select BR2_X86_CPU_HAS_MMX
  536. config BR2_x86_winchip2
  537. bool "IDT Winchip 2"
  538. depends on !BR2_x86_64
  539. select BR2_X86_CPU_HAS_MMX
  540. endchoice
  541. config BR2_ARCH
  542. default "i486" if BR2_x86_i486
  543. default "i586" if BR2_x86_i586
  544. default "i586" if BR2_x86_x1000
  545. default "i586" if BR2_x86_pentium_mmx
  546. default "i586" if BR2_x86_geode
  547. default "i586" if BR2_x86_c3
  548. default "i686" if BR2_x86_c32
  549. default "i586" if BR2_x86_winchip_c6
  550. default "i586" if BR2_x86_winchip2
  551. # We use the property of Kconfig that the first match of a
  552. # list of default will be chosen. So the following entry will
  553. # not match for all BR2_i386=y configurations, but only the
  554. # ones that didn't match any of the previous cases (i486,
  555. # i586).
  556. default "i686" if BR2_i386
  557. default "x86_64" if BR2_x86_64
  558. config BR2_NORMALIZED_ARCH
  559. default "i386" if !BR2_x86_64
  560. default "x86_64" if BR2_x86_64
  561. config BR2_ENDIAN
  562. default "LITTLE"
  563. config BR2_GCC_TARGET_ARCH
  564. default "i486" if BR2_x86_i486
  565. default "i586" if BR2_x86_i586
  566. default "i586" if BR2_x86_x1000
  567. default "pentium-mmx" if BR2_x86_pentium_mmx
  568. default "i686" if BR2_x86_i686
  569. default "pentiumpro" if BR2_x86_pentiumpro
  570. default "pentium-m" if BR2_x86_pentium_m
  571. default "pentium2" if BR2_x86_pentium2
  572. default "pentium3" if BR2_x86_pentium3
  573. default "pentium4" if BR2_x86_pentium4
  574. default "prescott" if BR2_x86_prescott
  575. default "x86-64" if BR2_x86_x86_64
  576. default "x86-64-v2" if BR2_x86_x86_64_v2
  577. default "x86-64-v3" if BR2_x86_x86_64_v3
  578. default "x86-64-v4" if BR2_x86_x86_64_v4
  579. default "nocona" if BR2_x86_nocona
  580. default "core2" if BR2_x86_core2
  581. default "corei7" if BR2_x86_corei7
  582. default "nehalem" if BR2_x86_nehalem
  583. default "corei7-avx" if BR2_x86_corei7_avx
  584. default "sandybridge" if BR2_x86_sandybridge
  585. default "core-avx2" if BR2_x86_core_avx2
  586. default "haswell" if BR2_x86_haswell
  587. default "broadwell" if BR2_x86_broadwell
  588. default "skylake" if BR2_x86_skylake
  589. default "atom" if BR2_x86_atom
  590. default "bonnell" if BR2_x86_bonnell
  591. default "westmere" if BR2_x86_westmere
  592. default "silvermont" if BR2_x86_silvermont
  593. default "goldmont" if BR2_x86_goldmont
  594. default "goldmont-plus" if BR2_x86_goldmont_plus
  595. default "tremont" if BR2_x86_tremont
  596. default "skylake-avx512" if BR2_x86_skylake_avx512
  597. default "cannonlake" if BR2_x86_cannonlake
  598. default "icelake-client" if BR2_x86_icelake_client
  599. default "icelake-server" if BR2_x86_icelake_server
  600. default "cascadelake" if BR2_x86_cascadelake
  601. default "cooperlake" if BR2_x86_cooperlake
  602. default "tigerlake" if BR2_x86_tigerlake
  603. default "sapphirerapids" if BR2_x86_sapphirerapids
  604. default "alderlake" if BR2_x86_alderlake
  605. default "rocketlake" if BR2_x86_rocketlake
  606. default "k8" if BR2_x86_opteron
  607. default "k8-sse3" if BR2_x86_opteron_sse3
  608. default "barcelona" if BR2_x86_barcelona
  609. default "btver2" if BR2_x86_jaguar
  610. default "bdver3" if BR2_x86_steamroller
  611. default "k6" if BR2_x86_k6
  612. default "k6-2" if BR2_x86_k6_2
  613. default "athlon" if BR2_x86_athlon
  614. default "athlon-4" if BR2_x86_athlon_4
  615. default "winchip-c6" if BR2_x86_winchip_c6
  616. default "winchip2" if BR2_x86_winchip2
  617. default "c3" if BR2_x86_c3
  618. default "c3-2" if BR2_x86_c32
  619. default "geode" if BR2_x86_geode
  620. config BR2_READELF_ARCH_NAME
  621. default "Intel 80386" if BR2_i386
  622. default "Advanced Micro Devices X86-64" if BR2_x86_64
  623. # vim: ft=kconfig
  624. # -*- mode:kconfig; -*-