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)
Mon, Mar 9, 7:48 PM
Unknown Object (File)
Sun, Mar 8, 5:36 PM
Unknown Object (File)
Sun, Mar 8, 5:35 PM
Unknown Object (File)
Sat, Mar 7, 11:26 AM
Unknown Object (File)
Wed, Mar 4, 11:22 AM
Unknown Object (File)
Mon, Mar 2, 7:43 PM
Unknown Object (File)
Mon, Mar 2, 4:37 AM
Unknown Object (File)
Feb 8 2026, 2:34 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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 38682
Build 35571: arc lint + arc unit

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.