[PATCH] asm-poly1305-aarch64: fix building with clang

Jussi Kivilinna jussi.kivilinna at iki.fi
Sat Mar 21 15:34:49 CET 2020


* cipher/asm-poly1305-aarch64.h (POLY1305_BLOCK_PART25): Use correct
instruction format for right-shifting.
--

GCC recognizes 32-bit ARM's 'move with barrel shift operand' on Aarch64,
but clang does not. Therefore switch to use shift instruction instead.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna at iki.fi>
---
 cipher/asm-poly1305-aarch64.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cipher/asm-poly1305-aarch64.h b/cipher/asm-poly1305-aarch64.h
index 6c342bee..90092709 100644
--- a/cipher/asm-poly1305-aarch64.h
+++ b/cipher/asm-poly1305-aarch64.h
@@ -167,7 +167,7 @@
 	/* carry propagation */ \
 	and POLY_R_H2, POLY_R_H0, #3;
 #define POLY1305_BLOCK_PART25() \
-	mov POLY_R_H0, POLY_R_H0, lsr #2;
+	lsr POLY_R_H0, POLY_R_H0, #2;
 #define POLY1305_BLOCK_PART26() \
 	add POLY_R_H0, POLY_R_H0, POLY_R_H0, lsl #2;
 #define POLY1305_BLOCK_PART27() \




More information about the Gcrypt-devel mailing list