gcc-m-cpu.cmake 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # SPDX-License-Identifier: Apache-2.0
  2. # Determines what argument to give to -mcpu= based on the
  3. # KConfig'uration and sets this to GCC_M_CPU
  4. if("${ARCH}" STREQUAL "arm")
  5. if (CONFIG_CPU_CORTEX_M0)
  6. set(GCC_M_CPU cortex-m0)
  7. elseif(CONFIG_CPU_CORTEX_M0PLUS)
  8. set(GCC_M_CPU cortex-m0plus)
  9. elseif(CONFIG_CPU_CORTEX_M1)
  10. set(GCC_M_CPU cortex-m1)
  11. elseif(CONFIG_CPU_CORTEX_M3)
  12. set(GCC_M_CPU cortex-m3)
  13. elseif(CONFIG_CPU_CORTEX_M4)
  14. set(GCC_M_CPU cortex-m4)
  15. elseif(CONFIG_CPU_CORTEX_M7)
  16. set(GCC_M_CPU cortex-m7)
  17. elseif(CONFIG_CPU_CORTEX_M23)
  18. set(GCC_M_CPU cortex-m23)
  19. elseif(CONFIG_CPU_CORTEX_M33)
  20. if (CONFIG_ARMV8_M_DSP)
  21. set(GCC_M_CPU cortex-m33)
  22. else()
  23. set(GCC_M_CPU cortex-m33+nodsp)
  24. endif()
  25. elseif(CONFIG_CPU_CORTEX_M55)
  26. if (CONFIG_ARMV8_1_M_MVEF)
  27. set(GCC_M_CPU cortex-m55)
  28. elseif(CONFIG_ARMV8_1_M_MVEI)
  29. set(GCC_M_CPU cortex-m55+nomve.fp)
  30. elseif(CONFIG_ARMV8_M_DSP)
  31. set(GCC_M_CPU cortex-m55+nomve)
  32. else()
  33. set(GCC_M_CPU cortex-m55+nodsp)
  34. endif()
  35. elseif(CONFIG_CPU_CORTEX_R4)
  36. set(GCC_M_CPU cortex-r4)
  37. elseif(CONFIG_CPU_CORTEX_R5)
  38. set(GCC_M_CPU cortex-r5)
  39. elseif(CONFIG_CPU_CORTEX_R7)
  40. set(GCC_M_CPU cortex-r7)
  41. else()
  42. message(FATAL_ERROR "Expected CONFIG_CPU_CORTEX_x to be defined")
  43. endif()
  44. elseif("${ARCH}" STREQUAL "arm64")
  45. if(CONFIG_CPU_CORTEX_A53)
  46. set(GCC_M_CPU cortex-a53)
  47. elseif(CONFIG_CPU_CORTEX_A72)
  48. set(GCC_M_CPU cortex-a72)
  49. elseif(CONFIG_CPU_CORTEX_R82)
  50. set(GCC_M_ARCH armv8.4-a)
  51. endif()
  52. elseif("${ARCH}" STREQUAL "arc")
  53. if(CONFIG_CPU_EM4_FPUS)
  54. set(GCC_M_CPU em4_fpus)
  55. elseif(CONFIG_CPU_EM4_DMIPS)
  56. set(GCC_M_CPU em4_dmips)
  57. elseif(CONFIG_CPU_EM4_FPUDA)
  58. set(GCC_M_CPU em4_fpuda)
  59. elseif(CONFIG_CPU_HS3X)
  60. set(GCC_M_CPU archs)
  61. elseif(CONFIG_CPU_HS6X)
  62. set(GCC_M_CPU arc64)
  63. elseif(CONFIG_CPU_EM4)
  64. set(GCC_M_CPU arcem)
  65. elseif(CONFIG_CPU_EM6)
  66. set(GCC_M_CPU arcem)
  67. endif()
  68. endif()