Latest update
This commit is contained in:
@@ -187,7 +187,6 @@ ___
|
||||
$code=<<___;
|
||||
#include "arm_arch.h"
|
||||
|
||||
.text
|
||||
#if defined(__thumb2__)
|
||||
.syntax unified
|
||||
.thumb
|
||||
@@ -195,6 +194,8 @@ $code=<<___;
|
||||
.code 32
|
||||
#endif
|
||||
|
||||
.text
|
||||
|
||||
.global sha1_block_data_order
|
||||
.type sha1_block_data_order,%function
|
||||
|
||||
@@ -202,12 +203,14 @@ $code=<<___;
|
||||
sha1_block_data_order:
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
.Lsha1_block:
|
||||
adr r3,.Lsha1_block
|
||||
ldr r12,.LOPENSSL_armcap
|
||||
# if !defined(_WIN32)
|
||||
adr r3,.Lsha1_block
|
||||
ldr r12,[r3,r12] @ OPENSSL_armcap_P
|
||||
#ifdef __APPLE__
|
||||
# endif
|
||||
# if defined(__APPLE__) || defined(_WIN32)
|
||||
ldr r12,[r12]
|
||||
#endif
|
||||
# endif
|
||||
tst r12,#ARMV8_SHA1
|
||||
bne .LARMv8
|
||||
tst r12,#ARMV7_NEON
|
||||
@@ -311,7 +314,11 @@ $code.=<<___;
|
||||
.LK_60_79: .word 0xca62c1d6
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
.LOPENSSL_armcap:
|
||||
# ifdef _WIN32
|
||||
.word OPENSSL_armcap_P
|
||||
# else
|
||||
.word OPENSSL_armcap_P-.Lsha1_block
|
||||
# endif
|
||||
#endif
|
||||
.asciz "SHA1 block transform for ARMv4/NEON/ARMv8, CRYPTOGAMS by <appro\@openssl.org>"
|
||||
.align 5
|
||||
@@ -613,14 +620,15 @@ my ($ABCD,$E,$E0,$E1)=map("q$_",(0..3));
|
||||
my @MSG=map("q$_",(4..7));
|
||||
my @Kxx=map("q$_",(8..11));
|
||||
my ($W0,$W1,$ABCD_SAVE)=map("q$_",(12..14));
|
||||
my $_byte = ($flavour =~ /win/ ? "DCB" : ".byte");
|
||||
|
||||
$code.=<<___;
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
|
||||
# if defined(__thumb2__)
|
||||
# define INST(a,b,c,d) .byte c,d|0xf,a,b
|
||||
# define INST(a,b,c,d) $_byte c,d|0xf,a,b
|
||||
# else
|
||||
# define INST(a,b,c,d) .byte a,b,c,d|0x10
|
||||
# define INST(a,b,c,d) $_byte a,b,c,d|0x10
|
||||
# endif
|
||||
|
||||
.type sha1_block_data_order_armv8,%function
|
||||
|
||||
Reference in New Issue
Block a user