diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-11-13 20:22:24 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-11-14 10:24:20 +0100 |
commit | d911cd944dbf3f682efdee7837aec2027c63f612 (patch) | |
tree | e3b793c83117872c1b5405b97382dc89b992f910 /src/crypto/curve25519-neon-arm.S | |
parent | compat: 3.16.50 got proper rt6_get_cookie (diff) | |
download | wireguard-monolithic-historical-d911cd944dbf3f682efdee7837aec2027c63f612.tar.xz wireguard-monolithic-historical-d911cd944dbf3f682efdee7837aec2027c63f612.zip |
curve25519-neon: compile in thumb mode
In thumb mode, it's not possible to use sp as an operand of and, so we
have to muck around with r3 as a scratch register.
Diffstat (limited to 'src/crypto/curve25519-neon-arm.S')
-rw-r--r-- | src/crypto/curve25519-neon-arm.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/crypto/curve25519-neon-arm.S b/src/crypto/curve25519-neon-arm.S index 1a921e2..b54211a 100644 --- a/src/crypto/curve25519-neon-arm.S +++ b/src/crypto/curve25519-neon-arm.S @@ -6,15 +6,15 @@ #include <linux/linkage.h> .text - .arm .fpu neon .align 4 ENTRY(curve25519_asm_neon) vpush {q4,q5,q6,q7} mov r12,sp - sub sp,sp,#736 - and sp,sp,#0xffffffe0 + sub r3,sp,#736 + and r3,r3,#0xffffffe0 + mov sp,r3 strd r4,[sp,#0] strd r6,[sp,#8] strd r8,[sp,#16] |