summaryrefslogtreecommitdiff
path: root/sha512_armv4.S
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-05-26 22:10:26 -0400
committerJeffrey Walton <noloader@gmail.com>2019-05-26 22:10:26 -0400
commit81da61fe7b32ab771d121cc8c889c61dfb2e60a0 (patch)
tree49c84a70304eb8f68a11925df2f2e65fc6314f51 /sha512_armv4.S
parentd4b533a60fa82f40eb8019214bb525bb7a7b20ff (diff)
downloadcryptopp-git-81da61fe7b32ab771d121cc8c889c61dfb2e60a0.tar.gz
Breakout sha_block_data_order and sha_block_data_order_neon (GH #847)
Diffstat (limited to 'sha512_armv4.S')
-rw-r--r--sha512_armv4.S21
1 files changed, 6 insertions, 15 deletions
diff --git a/sha512_armv4.S b/sha512_armv4.S
index 7a9e2ac2..d7181a0e 100644
--- a/sha512_armv4.S
+++ b/sha512_armv4.S
@@ -87,8 +87,6 @@
.code 32
#endif
-.extern CRYPTOGAMS_armcap_P
-
.text
.type K512,%object
@@ -138,24 +136,19 @@ K512:
.skip 32
+.align 5
.globl sha512_block_data_order
.type sha512_block_data_order,%function
+
sha512_block_data_order:
.Lsha512_block_data_order:
+
#if __ARM_ARCH__<7 && !defined(__thumb2__)
sub r3,pc,#8 @ sha512_block_data_order
#else
adr r3,.Lsha512_block_data_order
#endif
-#if __ARM_MAX_ARCH__>=7
- ldr r12,=CRYPTOGAMS_armcap_P
- ldr r12,[r12] @ CRYPTOGAMS_armcap_P
-
- tst r12,#ARMV7_NEON
- bne .LNEON
-#endif
-
add r2,r1,r2,lsl#7 @ len to point at the end of inp
stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
sub r14,r3,#672 @ K512
@@ -535,18 +528,16 @@ sha512_block_data_order:
#endif
.size sha512_block_data_order,.-sha512_block_data_order
-@ CRYPTOGAMS_armcap_P
-.ltorg
-
#if __ARM_MAX_ARCH__>=7
.arch armv7-a
.fpu neon
+.align 4
.globl sha512_block_data_order_neon
.type sha512_block_data_order_neon,%function
-.align 4
+
sha512_block_data_order_neon:
-.LNEON:
+
dmb @ errata #451034 on early Cortex A8
add r2,r1,r2,lsl#7 @ len to point at the end of inp
adr r3,K512