From 62ef4a61660a0b83520a33a3fb786fe09955106a Mon Sep 17 00:00:00 2001 From: Alexey Lapshin Date: Tue, 28 Jul 2026 17:07:05 +0700 Subject: [PATCH] feat(soc): esp32s31 enable zc* extension --- components/soc/esp32s31/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32s31/include/soc/soc_caps.h | 2 ++ components/soc/project_include.cmake | 6 ++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/components/soc/esp32s31/include/soc/Kconfig.soc_caps.in b/components/soc/esp32s31/include/soc/Kconfig.soc_caps.in index fe8128d37ea..5d043f72cad 100644 --- a/components/soc/esp32s31/include/soc/Kconfig.soc_caps.in +++ b/components/soc/esp32s31/include/soc/Kconfig.soc_caps.in @@ -567,6 +567,10 @@ config SOC_SIMD_PREFERRED_DATA_ALIGNMENT int default 16 +config SOC_CPU_HAS_ZC_EXTENSIONS + bool + default y + config SOC_DMA_CAN_ACCESS_FLASH bool default y diff --git a/components/soc/esp32s31/include/soc/soc_caps.h b/components/soc/esp32s31/include/soc/soc_caps.h index fda586653a0..aa55281cf3c 100644 --- a/components/soc/esp32s31/include/soc/soc_caps.h +++ b/components/soc/esp32s31/include/soc/soc_caps.h @@ -193,6 +193,8 @@ #define SOC_SIMD_PREFERRED_DATA_ALIGNMENT 16 // The preferred data alignment accepted by the SIMD instructions, in bytes +#define SOC_CPU_HAS_ZC_EXTENSIONS 1 + /*-------------------------- DMA Common CAPS ----------------------------------------*/ #define SOC_DMA_CAN_ACCESS_FLASH 1 /*!< DMA can access Flash memory */ diff --git a/components/soc/project_include.cmake b/components/soc/project_include.cmake index 3f2c6c36a23..19393903996 100644 --- a/components/soc/project_include.cmake +++ b/components/soc/project_include.cmake @@ -55,9 +55,11 @@ if(CONFIG_IDF_TOOLCHAIN_GCC) if(CONFIG_SOC_CPU_ZCMP_PUSH_REVERSED) idf_toolchain_add_flags(COMPILE_OPTIONS "-mno-cm-push-reverse") endif() - if(CONFIG_SOC_CPU_ZCMP_POPRET_ISSUE) + # TODO GCC-493: uncomment when the issue is resolved + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126454 + # if(CONFIG_SOC_CPU_ZCMP_POPRET_ISSUE) idf_toolchain_add_flags(COMPILE_OPTIONS "-mno-cm-popret") - endif() + # endif() endif() endif()