Page MenuHomeFreeBSD

libc/string/memset.c: Use unsigned long for stores
ClosedPublic

Authored by arichardson on Apr 1 2021, 2:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 15, 4:46 PM
Unknown Object (File)
Fri, Nov 15, 4:33 PM
Unknown Object (File)
Fri, Nov 15, 4:27 PM
Unknown Object (File)
Fri, Nov 15, 4:15 PM
Unknown Object (File)
Fri, Nov 15, 3:08 PM
Unknown Object (File)
Fri, Nov 8, 4:20 AM
Unknown Object (File)
Tue, Nov 5, 12:53 PM
Unknown Object (File)
Oct 4 2024, 11:25 PM
Subscribers

Details

Summary

While most 64-bit architectures have an assembly implementation of this
file, RISC-V does not. As we now store 8 bytes instead of 4 it should speed
up RISC-V.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

I thought about that, but that would require additional changes to create an all-ones capability register.

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

I thought about that, but that would require additional changes to create an all-ones capability register.

Oh, right, memset not bzero, never mind then

kib added inline comments.
lib/libc/string/memset.c
91

Did you considered lowering 3 to e.g. 2?

This revision is now accepted and ready to land.Apr 15 2021, 11:34 AM
lib/libc/string/memset.c
91

This might make sense but I feel uncomfortable making that change without benchmarks.

Drop #undef and add a TODO comment for the threshold

This revision now requires review to proceed.Apr 19 2021, 10:50 AM
This revision was not accepted when it landed; it landed in state Needs Review.Apr 20 2021, 12:47 AM
This revision was automatically updated to reflect the committed changes.