<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libmd/aarch64, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>libmd aarch64: Use ands instead of bics to round down the length</title>
<updated>2026-02-09T16:26:29+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2026-02-09T16:26:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=244f498074b5574d18d4518583863580498b8d3b'/>
<id>244f498074b5574d18d4518583863580498b8d3b</id>
<content type='text'>
GNU as does not accept bics with two register operands but instead
requires three register operands.  However, clang assembles the bics
instruction to ands anyway, so just use ands directly.

Reviewed by:	fuz
Differential Revision:	https://reviews.freebsd.org/D55155
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GNU as does not accept bics with two register operands but instead
requires three register operands.  However, clang assembles the bics
instruction to ands anyway, so just use ands directly.

Reviewed by:	fuz
Differential Revision:	https://reviews.freebsd.org/D55155
</pre>
</div>
</content>
</entry>
<entry>
<title>lib/libmd: import aarch64 md5 SIMD implementation</title>
<updated>2025-10-24T10:17:11+00:00</updated>
<author>
<name>Robert Clausecker</name>
<email>fuz@FreeBSD.org</email>
</author>
<published>2025-10-10T17:45:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c1135b2b54bf46709120d98c90ff4d28a77b896c'/>
<id>c1135b2b54bf46709120d98c90ff4d28a77b896c</id>
<content type='text'>
Reviewed by:	andrew, imp
Approved by:	markj (mentor)
Differential Revision:	https://reviews.freebsd.org/D45670
MFC after:	1 month
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by:	andrew, imp
Approved by:	markj (mentor)
Differential Revision:	https://reviews.freebsd.org/D45670
MFC after:	1 month
</pre>
</div>
</content>
</entry>
<entry>
<title>lib/libmd: fuz@freebsd.org -&gt; fuz@FreeBSD.org</title>
<updated>2025-10-24T10:16:21+00:00</updated>
<author>
<name>Robert Clausecker</name>
<email>fuz@FreeBSD.org</email>
</author>
<published>2025-10-10T20:25:47+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ec3242ed1906e77c9af2c54da636833a946c62b6'/>
<id>ec3242ed1906e77c9af2c54da636833a946c62b6</id>
<content type='text'>
Approved by:	markj (mentor)
MFC after:	1 week
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Approved by:	markj (mentor)
MFC after:	1 week
</pre>
</div>
</content>
</entry>
<entry>
<title>lib/libmd: add optimised SHA1 implementations for aarch64</title>
<updated>2025-05-14T23:39:58+00:00</updated>
<author>
<name>Robert Clausecker</name>
<email>fuz@FreeBSD.org</email>
</author>
<published>2025-05-14T19:18:12+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f6210541f9e3c6cfda321e0ad98f277fb98a625b'/>
<id>f6210541f9e3c6cfda321e0ad98f277fb98a625b</id>
<content type='text'>
This provides a scalar implementation and one using the SHA1
instruction set extensions.

For the scalar implementation, the w array is kept in registers,
speeding up the whole operations. For a 10 GiB file on my Windows
2023 Dev Kit (ARM Cortex A78C / ARM Cortex X1C):

Performance core:
    pre     43.1s   (238 MB/s)
    generic 41.3s   (247 MB/s)
    scalar  35.0s   (293 MB/s)
    sha1    12.8s   (800 MB/s)

Efficiency core:
    pre     54.2s   (189 MB/s)
    generic 55.9s   (183 MB/s)
    scalar  43.0s   (238 MB/s)
    sha1    16.2s   (632 MB/s)

Reviewed by:	getz
Differential Revision:	https://reviews.freebsd.org/D45444
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This provides a scalar implementation and one using the SHA1
instruction set extensions.

For the scalar implementation, the w array is kept in registers,
speeding up the whole operations. For a 10 GiB file on my Windows
2023 Dev Kit (ARM Cortex A78C / ARM Cortex X1C):

Performance core:
    pre     43.1s   (238 MB/s)
    generic 41.3s   (247 MB/s)
    scalar  35.0s   (293 MB/s)
    sha1    12.8s   (800 MB/s)

Efficiency core:
    pre     54.2s   (189 MB/s)
    generic 55.9s   (183 MB/s)
    scalar  43.0s   (238 MB/s)
    sha1    16.2s   (632 MB/s)

Reviewed by:	getz
Differential Revision:	https://reviews.freebsd.org/D45444
</pre>
</div>
</content>
</entry>
</feed>
