aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/ppccap.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2014-07-01 19:07:49 +0200
committerAndy Polyakov <appro@openssl.org>2014-07-01 19:09:11 +0200
commitcd1922cde02e344658968325c2006b17fe01b4d6 (patch)
tree1bac128645033a2ba6164864982376cc4b0d5c0d /crypto/ppccap.c
parenteaa4820471a42d0f102dde6474f5432072f1527f (diff)
downloadopenssl-cd1922cde02e344658968325c2006b17fe01b4d6.tar.gz
Engage SHA256/512 for PowerISA 2.07.
Diffstat (limited to 'crypto/ppccap.c')
-rw-r--r--crypto/ppccap.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/crypto/ppccap.c b/crypto/ppccap.c
index 4c5e88d3a0..cad14fd67b 100644
--- a/crypto/ppccap.c
+++ b/crypto/ppccap.c
@@ -54,6 +54,22 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U
}
#endif
+void sha256_block_p8(void *ctx,const void *inp,size_t len);
+void sha256_block_ppc(void *ctx,const void *inp,size_t len);
+void sha256_block_data_order(void *ctx,const void *inp,size_t len)
+ {
+ OPENSSL_ppccap_P&PPC_CRYPTO207? sha256_block_p8(ctx,inp,len):
+ sha256_block_ppc(ctx,inp,len);
+ }
+
+void sha512_block_p8(void *ctx,const void *inp,size_t len);
+void sha512_block_ppc(void *ctx,const void *inp,size_t len);
+void sha512_block_data_order(void *ctx,const void *inp,size_t len)
+ {
+ OPENSSL_ppccap_P&PPC_CRYPTO207? sha512_block_p8(ctx,inp,len):
+ sha512_block_ppc(ctx,inp,len);
+ }
+
static sigjmp_buf ill_jmp;
static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); }