]> sourceware.org Git - glibc.git/commit
Loongarch: Add ifunc support for strchr{aligned, lsx, lasx} and strchrnul{aligned...
authordengjianbo <dengjianbo@loongson.cn>
Tue, 15 Aug 2023 01:08:11 +0000 (09:08 +0800)
committercaiyinyu <caiyinyu@loongson.cn>
Thu, 17 Aug 2023 02:12:18 +0000 (10:12 +0800)
commitba67bc8e0a682d98583975b4d3896c5d5fbd33d2
treef82ffee5ddaf9581728b1b263f74890f84e24866
parent652b9fdb77d9fd056d4dd26dad2c14142768ab49
Loongarch: Add ifunc support for strchr{aligned, lsx, lasx} and strchrnul{aligned, lsx, lasx}

These implementations improve the time to run strchr{nul}
microbenchmark in glibc as below:
strchr-lasx       reduces the runtime about 50%-83%
strchr-lsx        reduces the runtime about 30%-67%
strchr-aligned    reduces the runtime about 10%-20%
strchrnul-lasx    reduces the runtime about 50%-83%
strchrnul-lsx     reduces the runtime about 36%-65%
strchrnul-aligned reduces the runtime about 6%-10%
12 files changed:
sysdeps/loongarch/lp64/multiarch/Makefile
sysdeps/loongarch/lp64/multiarch/ifunc-impl-list.c
sysdeps/loongarch/lp64/multiarch/ifunc-strchr.h [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/ifunc-strchrnul.h [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchr-aligned.S [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchr-lasx.S [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchr-lsx.S [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchr.c [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchrnul-aligned.S [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchrnul-lasx.S [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchrnul-lsx.S [new file with mode: 0644]
sysdeps/loongarch/lp64/multiarch/strchrnul.c [new file with mode: 0644]
This page took 0.041775 seconds and 5 git commands to generate.