aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2026-02-09 16:26:29 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2026-02-09 16:26:29 +0000
commit244f498074b5574d18d4518583863580498b8d3b (patch)
tree4d456f2440b394b7c8d5e2cee368768cf92d49b1
parentec5d4664915f51ae62daec09fa4f9765c969adab (diff)
libmd aarch64: Use ands instead of bics to round down the length
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
-rw-r--r--lib/libmd/aarch64/md5block.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libmd/aarch64/md5block.S b/lib/libmd/aarch64/md5block.S
index b928c8dd795a..297db7f6bdbd 100644
--- a/lib/libmd/aarch64/md5block.S
+++ b/lib/libmd/aarch64/md5block.S
@@ -134,7 +134,7 @@ d_ .req m5
stp x23, x24, [sp, #0x20]
stp x25, x26, [sp, #0x30]
- bics len, len, #63 // length in blocks
+ ands len, len, #~63 // length in blocks
add end, buf, len // end pointer
beq .Lend // was len == 0 after BICS?