Page MenuHomeFreeBSD

libc/aarch64: Add memset for a 64 byte dc zva
ClosedPublic

Authored by andrew on Jan 19 2026, 12:18 PM.
Tags
None
Referenced Files
F157488600: D54776.id171091.diff
Fri, May 22, 12:13 AM
Unknown Object (File)
Tue, May 19, 8:34 PM
Unknown Object (File)
Tue, May 12, 10:50 PM
Unknown Object (File)
Sun, May 10, 3:35 PM
Unknown Object (File)
Sun, May 10, 3:26 PM
Unknown Object (File)
Tue, Apr 28, 4:52 PM
Unknown Object (File)
Mon, Apr 27, 8:15 PM
Unknown Object (File)
Apr 18 2026, 3:04 PM
Subscribers

Details

Summary

On arm64 we can use the "dc zva" instruction to zero memory. The CPU
tells software if the instruction is implemented, and if so the size
and alignment it will use.

When the size is 64-bytes the Arm Optimized Routines implementation of
memset can use dc zva to zero memory, and has a build flag to skip
checking.

Use this flag to build a version of memset that will be used when this
assumption is true.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 69981
Build 66864: arc lint + arc unit