risc-v: Enable vectorized memset via ifunc
Jeff Law
jeffreyalaw@gmail.com
Mon Dec 2 17:36:22 GMT 2024
On 10/31/24 7:38 AM, Andreas Schwab wrote:
> On Okt 30 2024, Jeff Law wrote:
>
>> diff --git a/sysdeps/riscv/multiarch/memset_vector.S b/sysdeps/riscv/multiarch/memset_vector.S
>> new file mode 100644
>> index 0000000000..36455575a4
>> --- /dev/null
>> +++ b/sysdeps/riscv/multiarch/memset_vector.S
>
> This should be nop-ed out if !IS_IN (libc) so that rtld-memset_vector.os
> is empty (a preexisting issue also affecting memcpy_noalignment.c).
>
> Ok with that change.
So presumably this change to memcpy_noalignment.S is what you're looking
for to fix its implementation (and a corresponding change to
memset_vector.S)? Just want to make 100% sure.
> diff --git a/sysdeps/riscv/multiarch/memcpy_noalignment.S b/sysdeps/riscv/multiarch/memcpy_noalignment.S
> index fa39be21d6..2f4de117bc 100644
> --- a/sysdeps/riscv/multiarch/memcpy_noalignment.S
> +++ b/sysdeps/riscv/multiarch/memcpy_noalignment.S
> @@ -16,6 +16,7 @@
> License along with the GNU C Library. If not, see
> <https://www.gnu.org/licenses/>. */
>
> +#if IS_IN (libc)
> #include <sysdep.h>
> #include <sys/asm.h>
>
> @@ -160,3 +161,4 @@ L(word_copy_adjust):
> mv a3, a5
> j L(word_copy)
> END (__memcpy_noalignment)
> +#endif
More information about the Libc-alpha
mailing list