@@ -402,31 +402,40 @@ elseif(CPU STREQUAL "Cortex-M35P")
402402 endif ()
403403elseif (CPU STREQUAL "Cortex-M52" )
404404 set (ARMCLANG_ARCH "armv8.1m.main" )
405+ set (CPU_FEATURES "Cortex-M52" )
405406 if (MVE STREQUAL "NO_MVE" )
406- if (FPU STREQUAL "DP_FPU " )
407- set (ARMCLANG_CPU "-mcpu=Cortex-M52 +nomve -mfloat-abi=hard " )
407+ if (FPU STREQUAL "NO_FPU " )
408+ set (CPU_FEATURES " ${CPU_FEATURES} +nomve+nofp " )
408409 elseif (FPU STREQUAL "SP_FPU" )
409- set (ARMCLANG_CPU "-mcpu=Cortex-M52 +nomve+nofp.dp -mfloat-abi=hard " )
410- else ( )
411- message (FATAL_ERROR "Error: Cortex-M52 +nomve+nofp is not supported! " )
410+ set (CPU_FEATURES " ${CPU_FEATURES} +nomve+nofp.dp" )
411+ elseif (FPU STREQUAL "DP_FPU" )
412+ set (CPU_FEATURES " ${CPU_FEATURES} +nomve" )
412413 endif ()
413414 elseif (MVE STREQUAL "INT_MVE" )
414- if (FPU STREQUAL "SP_FPU" )
415- set (ARMCLANG_CPU "-mcpu=Cortex-M52+nomve.fp+nofp.dp -mfloat-abi=hard" )
415+ if (FPU STREQUAL "NO_FPU" )
416+ set (CPU_FEATURES "${CPU_FEATURES} +nomve.fp+nofp" )
417+ elseif (FPU STREQUAL "SP_FPU" )
418+ set (CPU_FEATURES "${CPU_FEATURES} +nomve.fp+nofp.dp" )
416419 elseif (FPU STREQUAL "DP_FPU" )
417420 message (FATAL_ERROR "Error: Cortex-M52+nomve.fp is not supported!" )
418- else ()
419- set (ARMCLANG_CPU "-mcpu=Cortex-M52+nomve.fp+nofp" )
420421 endif ()
421- else ( )
422- if (FPU STREQUAL "DP_FPU " )
423- set (ARMCLANG_CPU "-mcpu= Cortex-M52 -mfloat-abi=hard" )
422+ elseif (MVE STREQUAL "FP_MVE" )
423+ if (FPU STREQUAL "NO_FPU " )
424+ message (FATAL_ERROR "Error: Cortex-M52+nofp is not supported!" )
424425 elseif (FPU STREQUAL "SP_FPU" )
425426 message (FATAL_ERROR "Error: Cortex-M52+nofp.dp is not supported!" )
426- else ( )
427- message (FATAL_ERROR "Error: Cortex-M52+nofp is not supported! " )
427+ elseif (FPU STREQUAL "DP_FPU" )
428+ set (CPU_FEATURES " ${CPU_FEATURES} " )
428429 endif ()
429430 endif ()
431+ if (PACBTI STREQUAL "NO_PACBTI" )
432+ set (CPU_FEATURES "${CPU_FEATURES} +nopacbti" )
433+ endif ()
434+ if (FPU STREQUAL "NO_FPU" )
435+ set (ARMCLANG_CPU "-mcpu=${CPU_FEATURES} " )
436+ else ()
437+ set (ARMCLANG_CPU "-mcpu=${CPU_FEATURES} -mfloat-abi=hard" )
438+ endif ()
430439elseif (CPU STREQUAL "Cortex-M55" )
431440 set (ARMCLANG_ARCH "armv8.1m.main" )
432441 if (FPU STREQUAL "NO_FPU" )
0 commit comments