Specifying stringlib
The memcpy and memmove functions are often used to copy memory in the C standard library. BiSheng compiler implements a vectorized version with high performance for Arm processors.
Use the neon version.
1 2 | clang -O3 -Wl,--defsym,memcpy=__memcpy_aarch64_simd -Wl,-Bstatic -lstringlib -Wl,-Bdynamic clang -O3 -Wl,--defsym,memmove=__memmove_aarch64_simd -Wl,-Bstatic -lstringlib -Wl,-Bdynamic |
Uses the sve version.
1 2 | clang -O3 -Wl,--defsym,memcpy=__memcpy_aarch64_sve -Wl,-Bstatic -lstringlib -Wl,-Bdynamic clang -O3 -Wl,--defsym,memmove=__memmove_aarch64_sve -Wl,-Bstatic -lstringlib -Wl,-Bdynamic |
The dynamic link library file of stringlib is stored in BiShengCompiler-5.1.0.2-aarch64-linux/lib.
Parent topic: Function Library Optimization