aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/x86_64cpuid.pl
Commit message (Collapse)AuthorAgeFilesLines
* Fix comment typo.David Benjamin2017-07-261-1/+1
| | | | | | Reviewed-by: Ben Kaduk <kaduk@mit.edu> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4023)
* crypto/x86_64cpuid.pl: fix typo in Knights Landing detection.Andy Polyakov2017-07-251-1/+1
| | | | | | | Thanks to David Benjamin for spotting this! Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4009)
* x86_64 assembly pack: "optimize" for Knights Landing, add AVX-512 results.Andy Polyakov2017-07-211-1/+16
| | | | | | | | | | | | | | | | | | "Optimize" is in quotes because it's rather a "salvage operation" for now. Idea is to identify processor capability flags that drive Knights Landing to suboptimial code paths and mask them. Two flags were identified, XSAVE and ADCX/ADOX. Former affects choice of AES-NI code path specific for Silvermont (Knights Landing is of Silvermont "ancestry"). And 64-bit ADCX/ADOX instructions are effectively mishandled at decode time. In both cases we are looking at ~2x improvement. AVX-512 results cover even Skylake-X :-) Hardware used for benchmarking courtesy of Atos, experiments run by Romain Dolbeau <romain.dolbeau@atos.net>. Kudos! Reviewed-by: Rich Salz <rsalz@openssl.org>
* crypto/x86*cpuid.pl: move extended feature detection.Andy Polyakov2017-03-131-11/+10
| | | | | | | | | | | | Exteneded feature flags were not pulled on AMD processors, as result a number of extensions were effectively masked on Ryzen. Original fix for x86_64cpuid.pl addressed this problem, but messed up processor vendor detection. This fix moves extended feature detection past basic feature detection where it belongs. 32-bit counterpart is harmonized too. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* crypto/x86_64cpuid.pl: move extended feature detection upwards.Andy Polyakov2017-03-071-8/+10
| | | | | | | | | Exteneded feature flags were not pulled on AMD processors, as result a number of extensions were effectively masked on Ryzen. It should have been reported for Excavator since it implements AVX2 extension, but apparently nobody noticed or cared... Reviewed-by: Rich Salz <rsalz@openssl.org>
* crypto/x86_64cpuid.pl: add CFI annotations.Andy Polyakov2017-02-261-0/+4
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* crypto/x86_64cpuid.pl: detect if kernel preserves %zmm registers.Andy Polyakov2017-02-031-1/+9
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* crypto/x86[_64]cpuid.pl: add OPENSSL_ia32_rd[rand|seed]_bytes.Andy Polyakov2016-07-151-21/+52
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* x86_64 assembly pack: tolerate spaces in source directory name.Andy Polyakov2016-05-291-1/+1
| | | | | | [as it is now quoting $output is not required, but done just in case] Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add assembly CRYPTO_memcmp.Andy Polyakov2016-05-191-0/+22
| | | | | | GH: #102 Reviewed-by: Richard Levitte <levitte@openssl.org>
* Copyright consolidation: perl filesRich Salz2016-04-201-1/+8
| | | | | | | | | Add copyright to most .pl files This does NOT cover any .pl file that has other copyright in it. Most of those are Andy's but some are public domain. Fix typo's in some existing files. Reviewed-by: Richard Levitte <levitte@openssl.org>
* x86[_64]cpuid.pl: add low-level RDSEED.Andy Polyakov2014-02-141-0/+15
|
* x86_64 assembly pack: make Windows build more robust.Andy Polyakov2013-01-221-1/+2
| | | | PR: 2963 and a number of others
* Extend OPENSSL_ia32cap_P with extra word to accomodate AVX2 capability.Andy Polyakov2012-11-171-2/+12
|
* x86_64 assembly pack: make it possible to compile with Perl located onAndy Polyakov2012-06-271-1/+1
| | | | | | path with spaces. PR: 2835
* cryptlib.c, etc.: fix linker warnings in 64-bit Darwin build.Andy Polyakov2011-11-121-1/+1
|
* x86_64cpuid.pl: fix typo.Andy Polyakov2011-06-041-1/+1
|
* x86[_64]cpuid.pl: add function accessing rdrand instruction.Andy Polyakov2011-06-041-1/+22
|
* x86[_64]cpuid.pl: harmonize usage of reserved bits #20 and #30.Andy Polyakov2011-05-271-3/+4
|
* x86_64cpuid.pl: get AVX masking right.Andy Polyakov2011-05-261-8/+7
|
* x86_64cpuid.pl: allow shared build to work without -Bsymbolic.Andy Polyakov2011-05-181-0/+4
| | | | PR: 2466
* x86[_64]cpuid.pl: handle new extensions.Andy Polyakov2011-05-161-16/+41
|
* Multiple assembler packs: add experimental memory bus instrumentation.Andy Polyakov2011-04-171-2/+93
|
* Revert previous Linux-specific/centric commit#19629. If it really has toAndy Polyakov2010-05-051-7/+0
| | | | | be done, it's definitely not the way to do it. So far answer to the question was to ./config -Wa,--noexecstack (adopted by RedHat).
* Non-executable stack in asm.Ben Laurie2010-05-051-0/+7
|
* x86_64cpuid.pl: ml64 is allergic to db on label line.Andy Polyakov2010-04-141-1/+2
|
* OPENSSL_cleanse to accept zero length parameter [matching C implementation].Andy Polyakov2010-01-241-1/+3
|
* x86[_64]cpuid.pl: further refine shared cache detection.Andy Polyakov2009-05-141-3/+31
|
* x86_64cpuid.pl: refine shared cache detection logic.Andy Polyakov2009-05-121-2/+27
|
* x86_64 assembler pack to comply with updated styling x86_64-xlate.pl rules.Andy Polyakov2008-11-121-105/+88
|
* x86_64cpuid.pl cosmetics: harmonize $dir treatment with other modules.Andy Polyakov2008-07-151-2/+1
|
* Use default value for $dir if it is empty.Dr. Stephen Henson2008-02-251-0/+1
|
* Make all x86_64 modules independent on current working directory.Andy Polyakov2008-01-131-1/+3
|
* Make x86_64 modules work under Win64/x64.Andy Polyakov2007-08-231-2/+2
|
* x86*cpuid update.Andy Polyakov2007-07-211-2/+2
|
* Flush output in x86_64cpuid.pl.Andy Polyakov2007-06-211-0/+1
|
* Profiling revealed that OPENSSL_cleanse consumes *more* CPU time thanAndy Polyakov2007-05-141-0/+32
| | | | | sha1_block_data_order when hashing short messages. Move OPENSSL_cleanse to "cpuid" assembler module and gain 2x.
* x86_64 assembler updates.Andy Polyakov2007-05-141-70/+32
|
* RC4_set_key for x86_64 and Core2 optimization.Andy Polyakov2007-04-021-0/+58
| | | | PR: 1447
* Solaris x86_64 /usr/ccs/bin/as support.Andy Polyakov2005-06-201-21/+21
|
* Rename amd64 modules to x86_64 and update RC4 implementation.Andy Polyakov2005-05-031-0/+138