powerpc: Optimized rawmemchr for POWER9
authorAnton Blanchard <anton@ozlabs.org>
Thu, 14 May 2020 11:49:16 +0000 (21:49 +1000)
committerPaul E. Murphy <murphyp@linux.vnet.ibm.com>
Mon, 18 May 2020 22:08:54 +0000 (17:08 -0500)
commit765de945efc5d5602999b2999fe8abdf04881370
tree8c252731dcf3fc61ae700a5dba120c1eafc8f41f
parent9e38f455a6c602be86b7b5a8d6523cbdcd7ec051
powerpc: Optimized rawmemchr for POWER9

This version uses vector instructions and is up to 60% faster on medium
matches and up to 90% faster on long matches, compared to the POWER7
version. A few examples:

                            __rawmemchr_power9  __rawmemchr_power7
Length   32, alignment  0:   2.27566             3.77765
Length   64, alignment  2:   2.46231             3.51064
Length 1024, alignment  0:  17.3059             32.6678
sysdeps/powerpc/powerpc64/le/power9/rawmemchr.S [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/Makefile
sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power9.S [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c