summaryrefslogtreecommitdiff
path: root/sha256_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 /sha256_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 'sha256_armv4.S')
-rw-r--r--sha256_armv4.S19
1 files changed, 4 insertions, 15 deletions
diff --git a/sha256_armv4.S b/sha256_armv4.S
index ef1f4854..2cccdfd1 100644
--- a/sha256_armv4.S
+++ b/sha256_armv4.S
@@ -76,8 +76,6 @@
.code 32
#endif
-.extern CRYPTOGAMS_armcap_P
-
.text
.type K256,%object
@@ -103,30 +101,24 @@ K256:
.word 0 @ terminator
.align 5
-
.globl sha256_block_data_order
.type sha256_block_data_order,%function
+
sha256_block_data_order:
.Lsha256_block_data_order:
+
#if __ARM_ARCH__<7 && !defined(__thumb2__)
sub r3,pc,#8 @ sha256_block_data_order
#else
adr r3,.Lsha256_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#6 @ len to point at the end of inp
stmdb sp!,{r0,r1,r2,r4-r11,lr}
ldmia r0,{r4,r5,r6,r7,r8,r9,r10,r11}
sub r14,r3,#256+32 @ K256
sub sp,sp,#16*4 @ alloca(X[16])
+
.Loop:
# if __ARM_ARCH__>=7
ldr r2,[r1],#4
@@ -1889,9 +1881,6 @@ sha256_block_data_order:
#endif
.size sha256_block_data_order,.-sha256_block_data_order
-@ CRYPTOGAMS_armcap_P
-.ltorg
-
#if __ARM_MAX_ARCH__>=7
.arch armv7-a
.fpu neon
@@ -1901,7 +1890,7 @@ sha256_block_data_order:
.align 5
.skip 16
sha256_block_data_order_neon:
-.LNEON:
+
stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
sub r11,sp,#16*4+16