Commit Graph

81 Commits

Author SHA1 Message Date
Andy Polyakov d3a6461d71 Minor ppc-xlate.pl update. 2006-06-05 09:42:31 +00:00
Andy Polyakov 67d990904e Futher minor PPC assembler update. 2006-05-04 21:30:41 +00:00
Andy Polyakov c09a0318b7 Minor PPC assembler updates. 2006-05-03 14:07:34 +00:00
Andy Polyakov fe716ba686 PPC assembler distiller update. 2006-05-03 13:39:34 +00:00
Andy Polyakov 2c5d4daac5 Yet another "teaser" Montgomery multiplication module, for PowerPC. 2006-04-30 21:15:29 +00:00
Dr. Stephen Henson 0c21e13012 Recognize mingw in perlasm. 2006-02-04 01:25:19 +00:00
Andy Polyakov 3ebf898e88 Support for indirect calls in x86 assembler modules. 2005-12-06 18:43:59 +00:00
Andy Polyakov d1593e6b15 Whirlpool hash implementation. The fact that subdirectory and .h file are
called whrlpool is not a typo, but a way to keep the names shorter than
8 characters. Remaining TODO list comprises adding OID, EVP, corresponding
flag to apps/openssl dgst, benchmark, engage assembler...
2005-11-28 20:09:58 +00:00
Andy Polyakov 6a3a7f3076 Minor perlasm clean-up. 2005-11-09 17:20:26 +00:00
Andy Polyakov f1fbd4c7d1 Address MASM-specific problems introduced with
http://cvs.openssl.org/chngview?cn=14547.
2005-11-06 22:01:27 +00:00
Andy Polyakov d256b95768 x86_64-xlate.pl commentary section update. 2005-11-06 11:59:39 +00:00
Andy Polyakov 7a6f825f0f Make pshufw optional and update performance table in sha512-sse2.pl
[as per http://cvs.openssl.org/chngview?cn=14551].
2005-11-03 15:23:11 +00:00
Andy Polyakov 54f3d200d3 Throw in bn/asm/x86-mont.pl Montgomery multiplication "teaser". 2005-10-09 09:53:58 +00:00
Andy Polyakov 9ddeefe39d Proper solution to nasm compilation problems in Borland context. 2005-09-20 06:13:06 +00:00
Andy Polyakov afbe674edb ~15% better AES x86_64 assembler. 2005-07-18 09:15:04 +00:00
Andy Polyakov e84b663a93 complementary x86_64-xlate.pl update. 2005-07-12 22:11:22 +00:00
Andy Polyakov db22e5faa6 A report suggests that there're nasm version, which defaults to 16-bit
segmenting...
2005-06-28 11:28:43 +00:00
Andy Polyakov e442c36252 Solaris x86_64 /usr/ccs/bin/as support. 2005-06-20 14:56:48 +00:00
Andy Polyakov f8bc3e1bd8 Platform update from 8-stable. 2005-05-31 11:07:27 +00:00
Andy Polyakov 82d3dda8a1 Still SEGV trouble in .init segment under Solaris x86... 2005-05-21 17:49:10 +00:00
Andy Polyakov e19e549041 Comply with optimization manual (no data should share cache-line with code). 2005-05-09 21:48:01 +00:00
Andy Polyakov d7561ac576 Allow for 64-bit cache-line alignments in code segment. 2005-05-09 21:27:40 +00:00
Andy Polyakov 5d0d60e2f5 x86_64 assembler translator update. 2005-05-07 08:13:51 +00:00
Andy Polyakov 70cf309517 x86_64 assembler translator update. 2005-05-04 08:42:47 +00:00
Andy Polyakov 4b45051902 x86_64 assembler translator update. 2005-05-03 15:35:14 +00:00
Andy Polyakov 3d5fd31280 Avoid L1 cache aliasing even between key and S-boxes. 2005-04-24 21:09:20 +00:00
Andy Polyakov 1cfd258ed6 Throw in x86_64 AT&T to MASM assembler converter to facilitate development
of dual-ABI Unix/Win64 modules.
2005-04-17 21:05:57 +00:00
Andy Polyakov e5dbccc182 Solaris x86 linker erroneously pads .init segment with zeros instead of
nops, which causes SEGV at startup. So I don't align anymore.
2005-04-04 17:07:16 +00:00
Andy Polyakov da30c74a27 Remove unused assembler modules. 2005-02-06 13:43:02 +00:00
Andy Polyakov addb6e16a8 Throw in AES CBC assembler, up to +40% on aes-128-cbc benchmark. 2005-01-18 01:04:41 +00:00
Andy Polyakov 556b8f3f77 Engage AES x86 assembler module for COFF and a.out targets. 2004-12-26 10:58:39 +00:00
Andy Polyakov d1df5b4339 x86 perlasm update to accomodate aes-586.pl. 2004-12-23 21:43:25 +00:00
Andy Polyakov 0c0788ba0a Solaris x86 perlasm update. 2004-12-10 11:24:42 +00:00
Andy Polyakov 914c2a28c0 perlasm/x86[ms|nasm] update to accomodate updated RC4 assembler module. 2004-11-27 15:14:58 +00:00
Andy Polyakov 376729e130 RC4 tune-up for Intel P4 core, both 32- and 64-bit ones. As it's
apparently impossible to compose blended code with would perform
satisfactory on all x86 and x86_64 cores, an extra RC4_CHAR
code-path is introduced and P4 core is detected at run-time. This
way we keep original performance on non-P4 implementations and
turbo-charge P4 performance by factor of 2.8x (on 32-bit core).
2004-11-21 10:36:25 +00:00
Andy Polyakov 07d488daf6 Fix Solaris 10_x86 shared build. -Bsymbolic is required to avoid
"remaining relocations" in assembler modules. The latter seems to
be new behaviour, elder as/ld managed to resolve this relocations
as internal. It's possible to address this problem differently,
but I settle for -Bsymbolic...
PR: 546
2004-09-28 20:45:10 +00:00
Andy Polyakov c85c5c408a x86 assembler updates: more instructions, new OPENSSL_instrument_halt
[for DJGPP]...
2004-09-09 14:50:32 +00:00
Andy Polyakov 16760a3089 Proper support for OpenBSD-i386 shared build, including assember modules!
"Proper" means "compiles and passes test." Versioning is broken (I think).
2004-08-29 21:36:37 +00:00
Andy Polyakov a8c65b400c crypto/perlasm update primarily to unify Netware modules. Once it's verified
x86*_nw.pl will be deleted. In addition this update implements initseg
on several additional [in addition to ELF] platforms. Functions registered
with initseg are supposed to be called prior main().
2004-08-29 16:10:27 +00:00
Andy Polyakov 42096e05f7 Avoid a.out name table pollition. 2004-08-02 22:02:17 +00:00
Andy Polyakov 34413fca84 OpenBSD fix-up for new a.out targets. OpenBSD .s.o rule is busted... 2004-08-01 21:16:26 +00:00
Andy Polyakov 8aae01e223 Deprecate cpp and gaswin targets. New coff fills in for gaswin, but cpp is
going out...
2004-08-01 17:03:50 +00:00
Andy Polyakov 14e21f863a Add framework for yet another assembler module dubbed "cpuid." Idea
is to have a placeholder to small routines, which can be written only
in assembler. In IA-32 case this includes processor capability
identification and access to Time-Stamp Counter. As discussed earlier
OPENSSL_ia32cap is introduced to control recently added SSE2 code
pathes (see docs/crypto/OPENSSL_ia32cap.pod). For the moment the
code is operational on ELF platforms only. I haven't checked it yet,
but I have all reasons to believe that Windows build should fail to
link too. I'll be looking into it shortly...
2004-07-26 20:18:55 +00:00
Andy Polyakov 10e7d6d526 Support for IA-32 SSE2 instruction set. 2004-05-06 10:31:09 +00:00
Richard Levitte 4d8743f490 Netware-specific changes,
PR: 780
Submitted by: Verdon Walker <VWalker@novell.com>
Reviewed by: Richard Levitte
2003-11-28 13:10:58 +00:00
Richard Levitte 1be02dd842 Make MD5 assembler code able to handle messages larger than 2GB on 32-bit
systems and above.
PR: 664
2003-09-27 22:14:39 +00:00
Andy Polyakov 02bf9a151a Provide "dummy" &main::picmeup even in Windows perlasm modules. 2003-01-24 09:39:31 +00:00
Andy Polyakov 989f48d8c1 Avoid unnecessary pollution of object module name table. Cygwin shared
build workaround (DJGPP swallows it too). One probably should do same
as with ELF calling it COFF, but I'm very short in COFF platforms, so
I just go for easy ad-hoc solution. I'll take care of merge to 0.9.7
later.
2003-01-10 10:16:39 +00:00
Andy Polyakov 9d1b5614f9 At least OpenBSD implements PIC in the same way ELF does. 2003-01-09 16:06:09 +00:00
Andy Polyakov 2a9fca82d2 Oops! I've toasted Cygwin! Fixed now. 2003-01-03 21:49:49 +00:00