This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit d3897cbd5303d2faecebf9e7f129cc66623b0ded
Author: zhangyuan29 <[email protected]>
AuthorDate: Mon Jul 13 15:09:48 2026 +0800

    libc/tricore: enable full set of arch string/memory functions
    
    Complete the TRICORE_STRING_FUNCTION select list from 5 to 15 functions.
    All 15 arch string/memory assembly routines were already implemented and
    benchmarked on TC4Z9 B2 hardware across both toolchains, but the group
    switch only selected memcpy/memset/memmove/memcmp/strcmp. Add the
    remaining memchr/strcpy/strlen/strchr/strchrnul/strncmp/strnlen/strncpy/
    stpcpy/strrchr so the whole confirmed set is enabled together.
    
    Signed-off-by: zhangyuan29 <[email protected]>
---
 libs/libc/machine/tricore/Kconfig | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/libs/libc/machine/tricore/Kconfig 
b/libs/libc/machine/tricore/Kconfig
index 0f76b4db1ec..2cc9a9b8dfb 100644
--- a/libs/libc/machine/tricore/Kconfig
+++ b/libs/libc/machine/tricore/Kconfig
@@ -10,11 +10,24 @@ config TRICORE_STRING_FUNCTION
        select TRICORE_MEMSET
        select TRICORE_MEMMOVE
        select TRICORE_MEMCMP
+       select TRICORE_MEMCHR
        select TRICORE_STRCMP
-       ---help---
-               Enable the confirmed-win TriCore assembly library functions as a
-               group: memcpy/memset/memmove/memcmp/strcmp.  Real on-board
-               benchmarks (lzcu B2, TC4Z9) show them ahead of the BSD C 
versions.
+       select TRICORE_STRCPY
+       select TRICORE_STRLEN
+       select TRICORE_STRCHR
+       select TRICORE_STRCHRNUL
+       select TRICORE_STRNCMP
+       select TRICORE_STRNLEN
+       select TRICORE_STRNCPY
+       select TRICORE_STPCPY
+       select TRICORE_STRRCHR
+       ---help---
+               Enable the full set of TriCore assembly library functions as a
+               group: memcpy/memset/memmove/memcmp/memchr and the string ops
+               strcmp/strcpy/strlen/strchr/strchrnul/strncmp/strnlen/strncpy/
+               stpcpy/strrchr.  Real on-board benchmarks (rzcu/lzcu B2, TC4Z9)
+               show the group ahead of the BSD C versions overall, most 
functions
+               substantially so.
                The block-move routines (memcpy/memset/memmove) align to an 
8-byte
                boundary before issuing quad ld.dd/st.dd so that stores to DLMU
                shared memory (0xB0/0x90, 64-bit ECC granularity) always write 
whole

Reply via email to