summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-05-03 22:59:17 +0000
committerAndy Polyakov <appro@openssl.org>2005-05-03 22:59:17 +0000
commit73a948508131ad3711b7f6e89d270776e2569e01 (patch)
treeea45a26904305522aada3c637da9bf40db0752de
parentd37a65bc81e64d391696d31c504b8ce98e286b3f (diff)
Engage md5-x86_64 assembler module.
-rwxr-xr-xConfigure2
-rw-r--r--TABLE6
-rw-r--r--crypto/md5/Makefile2
-rw-r--r--crypto/md5/md5_locl.h4
4 files changed, 8 insertions, 6 deletions
diff --git a/Configure b/Configure
index 8857ae8e64..cd3cf07f6c 100755
--- a/Configure
+++ b/Configure
@@ -118,7 +118,7 @@ my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o:dx86-elf.o yx86-elf.o:ax86
my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o:dx86-cof.o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-cof.o:rx86-cof.o:rm86-cof.o:r586-cof.o";
my $x86_out_asm="x86cpuid-out.o:bn86-out.o co86-out.o:dx86-out.o yx86-out.o:ax86-out.o:bx86-out.o:mx86-out.o:sx86-out.o s512sse2-out.o:cx86-out.o:rx86-out.o:rm86-out.o:r586-out.o";
-my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o:::::::rc4-x86_64.o::";
+my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o::::md5-x86_64.o:::rc4-x86_64.o::";
my $ia64_asm=":ia64.o::aes_core.o aes_cbc.o aes-ia64.o:::sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o::";
my $no_asm="::::::::::";
diff --git a/TABLE b/TABLE
index dbd22d1ada..4dfc614920 100644
--- a/TABLE
+++ b/TABLE
@@ -283,7 +283,7 @@ $bn_obj = x86_64-gcc.o
$des_obj =
$aes_obj =
$bf_obj =
-$md5_obj =
+$md5_obj = md5-x86_64.o
$sha1_obj =
$cast_obj =
$rc4_obj = rc4-x86_64.o
@@ -3091,7 +3091,7 @@ $bn_obj = x86_64-gcc.o
$des_obj =
$aes_obj =
$bf_obj =
-$md5_obj =
+$md5_obj = md5-x86_64.o
$sha1_obj =
$cast_obj =
$rc4_obj = rc4-x86_64.o
@@ -3901,7 +3901,7 @@ $bn_obj = x86_64-gcc.o
$des_obj =
$aes_obj =
$bf_obj =
-$md5_obj =
+$md5_obj = md5-x86_64.o
$sha1_obj =
$cast_obj =
$rc4_obj = rc4-x86_64.o
diff --git a/crypto/md5/Makefile b/crypto/md5/Makefile
index 86f0f85422..67ce4bf366 100644
--- a/crypto/md5/Makefile
+++ b/crypto/md5/Makefile
@@ -76,6 +76,8 @@ md5-sparcv9.o: asm/md5-sparcv9.S
$(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
-o md5-sparcv9.o asm/md5-sparcv9.S
+md5-x86_64.s: asm/md5-x86_64.pl; $(PERL) asm/md5-x86_64.pl $@
+
files:
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
diff --git a/crypto/md5/md5_locl.h b/crypto/md5/md5_locl.h
index b29f0de7e3..2f5b045f36 100644
--- a/crypto/md5/md5_locl.h
+++ b/crypto/md5/md5_locl.h
@@ -66,7 +66,7 @@
#endif
#ifdef MD5_ASM
-# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
+# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
# define md5_block_host_order md5_block_asm_host_order
# elif defined(__sparc) && defined(OPENSSL_SYS_ULTRASPARC)
void md5_block_asm_data_order_aligned (MD5_CTX *c, const MD5_LONG *p,size_t num);
@@ -77,7 +77,7 @@
void md5_block_host_order (MD5_CTX *c, const void *p,size_t num);
void md5_block_data_order (MD5_CTX *c, const void *p,size_t num);
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
+#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
/*
* *_block_host_order is expected to handle aligned data while
* *_block_data_order - unaligned. As algorithm and host (x86)