You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2023/08/19 10:43:15 UTC

[nuttx] branch master updated: arm64/gnu:Set arch_* optimizations to be on by default.

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 <ch...@xiaomi.com>
AuthorDate: Fri May 12 20:54:10 2023 +0800

    arm64/gnu:Set arch_* optimizations to be on by default.
    
    Signed-off-by: chenrun1 <ch...@xiaomi.com>
---
 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