diff --git a/cmake/compiler/gcc/target_riscv.cmake b/cmake/compiler/gcc/target_riscv.cmake index 95ef3f63c9f..4e83f5d187b 100644 --- a/cmake/compiler/gcc/target_riscv.cmake +++ b/cmake/compiler/gcc/target_riscv.cmake @@ -81,7 +81,9 @@ if(CONFIG_RISCV_ISA_EXT_ZBS) string(CONCAT riscv_march ${riscv_march} "_zbs") endif() -if(CONFIG_RISCV_ISA_EXT_ZMMUL AND +# Check whether we already imply Zmmul by selecting the M extension; if not - enable it +if(NOT CONFIG_RISCV_ISA_EXT_M AND + CONFIG_RISCV_ISA_EXT_ZMMUL AND "${GCC_COMPILER_VERSION}" VERSION_GREATER_EQUAL 13.0.0) string(CONCAT riscv_march ${riscv_march} "_zmmul") endif()