7c6ef2f214
This is my ARM assembly SHA1 implementation for GIT. It is approximately 50% faster than the generic C version. On an XScale processor running at 400MHz: generic C version: 9.8 MB/s my version: 14.5 MB/s It's not that I expect a lot of big GIT users on ARM, but I stillknow about one important ARM user that might benefit from it, and writing that code was fun. I also reworked the makefile a bit so any optimized SHA1 implementations is used regardless of whether NO_OPENSSL is defined or not. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
19 lines
402 B
C
19 lines
402 B
C
/*
|
|
* SHA-1 implementation optimized for ARM
|
|
*
|
|
* Copyright: (C) 2005 by Nicolas Pitre <nico@cam.org>
|
|
* Created: September 17, 2005
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct sha_context {
|
|
uint64_t len;
|
|
uint32_t hash[5];
|
|
unsigned char buffer[64];
|
|
} SHA_CTX;
|
|
|
|
void SHA1_Init(SHA_CTX *c);
|
|
void SHA1_Update(SHA_CTX *c, const void *p, unsigned long n);
|
|
void SHA1_Final(unsigned char *hash, SHA_CTX *c);
|