This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new fb74c46e4d arm64/gnu:Set arch_* optimizations to be on by default.
fb74c46e4d is described below
commit fb74c46e4d86db3ec7bf5dadd503a9dfd7cdb62c
Author: chenrun1 <[email protected]>
AuthorDate: Fri May 12 20:54:10 2023 +0800
arm64/gnu:Set arch_* optimizations to be on by default.
Signed-off-by: chenrun1 <[email protected]>
---
boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh/defconfig | 1 +
.../arm64/fvp-v8r/fvp-armv8r/configs/nsh_smp/defconfig | 1 +
boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig | 1 +
boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig | 1 +
.../arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig | 1 +
libs/libc/machine/arm/armv7-a/Kconfig | 11 +++++++++++
libs/libc/machine/arm/armv7-m/Kconfig | 11 +++++++++++
libs/libc/machine/arm/armv7-r/Kconfig | 11 +++++++++++
libs/libc/machine/arm/armv8-m/Kconfig | 11 +++++++++++
libs/libc/machine/arm64/Kconfig | 18 ++++++++++++++++++
libs/libc/machine/risc-v/Kconfig | 8 ++++++++
libs/libc/machine/xtensa/Kconfig | 11 +++++++++++
12 files changed, 86 insertions(+)
diff --git a/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh/defconfig
b/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh/defconfig
index bf1a985d2f..1727a62906 100644
--- a/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh/defconfig
+++ b/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh/defconfig
@@ -14,6 +14,7 @@ CONFIG_ARCH_CHIP_FVP_ARMV8R=y
CONFIG_ARCH_CHIP_FVP_R82=y
CONFIG_ARCH_EARLY_PRINT=y
CONFIG_ARCH_INTERRUPTSTACK=4096
+CONFIG_ARM64_STRING_FUNCTION=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_ASSERTIONS=y
CONFIG_DEBUG_ERROR=y
diff --git a/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh_smp/defconfig
b/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh_smp/defconfig
index ea25788059..9edb10cb28 100644
--- a/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh_smp/defconfig
+++ b/boards/arm64/fvp-v8r/fvp-armv8r/configs/nsh_smp/defconfig
@@ -14,6 +14,7 @@ CONFIG_ARCH_CHIP_FVP_ARMV8R=y
CONFIG_ARCH_CHIP_FVP_R82=y
CONFIG_ARCH_EARLY_PRINT=y
CONFIG_ARCH_INTERRUPTSTACK=4096
+CONFIG_ARM64_STRING_FUNCTION=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_ASSERTIONS=y
CONFIG_DEBUG_ERROR=y
diff --git a/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig
b/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig
index 1103129ba8..790520f24c 100644
--- a/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig
+++ b/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig
@@ -15,6 +15,7 @@ CONFIG_ARCH_CHIP="qemu"
CONFIG_ARCH_CHIP_QEMU=y
CONFIG_ARCH_CHIP_QEMU_A53=y
CONFIG_ARCH_INTERRUPTSTACK=4096
+CONFIG_ARM64_STRING_FUNCTION=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_FULLOPT=y
CONFIG_DEBUG_SYMBOLS=y
diff --git a/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig
b/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig
index b3e6fb0aec..a867661cfe 100644
--- a/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig
+++ b/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig
@@ -16,6 +16,7 @@ CONFIG_ARCH_EARLY_PRINT=y
CONFIG_ARCH_INTERRUPTSTACK=4096
CONFIG_ARM64_SEMIHOSTING_HOSTFS=y
CONFIG_ARM64_SEMIHOSTING_HOSTFS_CACHE_COHERENCE=y
+CONFIG_ARM64_STRING_FUNCTION=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_ASSERTIONS=y
CONFIG_DEBUG_ERROR=y
diff --git a/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig
b/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig
index 307fb19e21..f0679b106a 100644
--- a/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig
+++ b/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig
@@ -14,6 +14,7 @@ CONFIG_ARCH_CHIP_QEMU=y
CONFIG_ARCH_CHIP_QEMU_A53=y
CONFIG_ARCH_EARLY_PRINT=y
CONFIG_ARCH_INTERRUPTSTACK=8192
+CONFIG_ARM64_STRING_FUNCTION=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_ASSERTIONS=y
CONFIG_DEBUG_ERROR=y
diff --git a/libs/libc/machine/arm/armv7-a/Kconfig
b/libs/libc/machine/arm/armv7-a/Kconfig
index f3bae712ad..60e3fa661c 100644
--- a/libs/libc/machine/arm/armv7-a/Kconfig
+++ b/libs/libc/machine/arm/armv7-a/Kconfig
@@ -3,6 +3,17 @@
# see the file kconfig-language.txt in the NuttX tools repository.
#
+config ARMV7A_STRING_FUNCTION
+ bool "Enable optimized ARMv7M specific string function"
+ default n
+ depends on ARCH_TOOLCHAIN_GNU
+ select ARMV7A_MEMCHR
+ select ARMV7A_MEMCPY
+ select ARMV7A_MEMMOVE
+ select ARMV7A_MEMSET
+ select ARMV7A_STRCMP
+ select ARMV7A_STRLEN
+
config ARMV7A_MEMCHR
bool "Enable optimized memchr() for ARMv7-A"
default n
diff --git a/libs/libc/machine/arm/armv7-m/Kconfig
b/libs/libc/machine/arm/armv7-m/Kconfig
index 10ab6ee02a..b837c6b523 100644
--- a/libs/libc/machine/arm/armv7-m/Kconfig
+++ b/libs/libc/machine/arm/armv7-m/Kconfig
@@ -5,6 +5,17 @@
if ARCH_ARMV7M
+config ARMV7M_STRING_FUNCTION
+ bool "Enable optimized ARMv7M specific string function"
+ default n
+ depends on ARCH_TOOLCHAIN_GNU
+ select ARMV7M_MEMCHR
+ select ARMV7M_MEMCPY
+ select ARMV7M_MEMSET
+ select ARMV7M_MEMMOVE
+ select ARMV7M_STRCMP
+ select ARMV7M_STRLEN
+
config ARMV7M_MEMCHR
bool "Enable optimized memchr() for ARMv7-M"
default n
diff --git a/libs/libc/machine/arm/armv7-r/Kconfig
b/libs/libc/machine/arm/armv7-r/Kconfig
index dd4bed8c88..f80622c4ec 100644
--- a/libs/libc/machine/arm/armv7-r/Kconfig
+++ b/libs/libc/machine/arm/armv7-r/Kconfig
@@ -3,6 +3,17 @@
# see the file kconfig-language.txt in the NuttX tools repository.
#
+config ARMV7R_STRING_FUNCTION
+ bool "Enable optimized ARMv7R specific string function"
+ default n
+ depends on ARCH_TOOLCHAIN_GNU
+ select ARMV7R_MEMCHR
+ select ARMV7R_MEMCPY
+ select ARMV7R_MEMMOVE
+ select ARMV7R_MEMSET
+ select ARMV7R_STRCMP
+ select ARMV7R_STRLEN
+
config ARMV7R_MEMCHR
bool "Enable optimized memchr() for ARMv7-R"
default n
diff --git a/libs/libc/machine/arm/armv8-m/Kconfig
b/libs/libc/machine/arm/armv8-m/Kconfig
index 2d52a8322a..2d27574986 100644
--- a/libs/libc/machine/arm/armv8-m/Kconfig
+++ b/libs/libc/machine/arm/armv8-m/Kconfig
@@ -5,6 +5,17 @@
if ARCH_ARMV8M
+config ARMV8M_STRING_FUNCTION
+ bool "Enable optimized ARMv8M specific string function"
+ default n
+ depends on ARCH_TOOLCHAIN_GNU
+ select ARMV8M_MEMCHR
+ select ARMV8M_MEMCPY
+ select ARMV8M_MEMSET
+ select ARMV8M_STRCMP
+ select ARMV8M_STRCMP
+ select ARMV8M_STRLEN
+
config ARMV8M_MEMCHR
bool "Enable optimized memchr() for ARMv8-M"
default n
diff --git a/libs/libc/machine/arm64/Kconfig b/libs/libc/machine/arm64/Kconfig
index 2b7bc703c7..6c83e6406f 100644
--- a/libs/libc/machine/arm64/Kconfig
+++ b/libs/libc/machine/arm64/Kconfig
@@ -3,6 +3,24 @@
# see the file kconfig-language.txt in the NuttX tools repository.
#
+config ARM64_STRING_FUNCTION
+ bool "Enable optimized ARM64 specific string function"
+ default n
+ depends on ARCH_TOOLCHAIN_GNU
+ select ARM64_MEMCHR
+ select ARM64_MEMCMP
+ select ARM64_MEMCPY
+ select ARM64_MEMSET
+ select ARM64_MEMMOVE
+ select ARM64_STRCHR
+ select ARM64_STRCHRNUL
+ select ARM64_STRCMP
+ select ARM64_STRCPY
+ select ARM64_STRLEN
+ select ARM64_STRNCMP
+ select ARM64_STRNLEN
+ select ARM64_STRRCHR
+
config ARM64_MEMCHR
bool "Enable optimized memchr() for ARM64"
default n
diff --git a/libs/libc/machine/risc-v/Kconfig b/libs/libc/machine/risc-v/Kconfig
index 39a5f9259c..2e1dc8ff37 100644
--- a/libs/libc/machine/risc-v/Kconfig
+++ b/libs/libc/machine/risc-v/Kconfig
@@ -3,6 +3,14 @@
# see the file kconfig-language.txt in the NuttX tools repository.
#
+config RISCV_STRING_FUNCTION
+ bool "Enable optimized RISC-V specific string function"
+ default n
+ depends on ARCH_TOOLCHAIN_GNU
+ select RISCV_MEMCPY
+ select RISCV_MEMSET
+ select RISCV_STRCMP
+
config RISCV_MEMCPY
bool "Enable optimized memcpy() for RISC-V"
select LIBC_ARCH_MEMCPY
diff --git a/libs/libc/machine/xtensa/Kconfig b/libs/libc/machine/xtensa/Kconfig
index b30ba5608d..7ade4f47b8 100644
--- a/libs/libc/machine/xtensa/Kconfig
+++ b/libs/libc/machine/xtensa/Kconfig
@@ -3,6 +3,17 @@
# see the file kconfig-language.txt in the NuttX tools repository.
#
+config XTENSA_STRING_FUNCTION
+ bool "Enable optimized XTENSA specific string function"
+ default n
+ select XTENSA_MEMCPY
+ select XTENSA_MEMMOVE
+ select XTENSA_MEMSET
+ select XTENSA_STRCMP
+ select XTENSA_STRCPY
+ select XTENSA_STRLEN
+ select XTENSA_STRNCPY
+
config XTENSA_MEMCPY
bool "Enable optimized memcpy() for XTENSA"
select LIBC_ARCH_MEMCPY