diff options
author | Andrey Matyukov <andrey.matyukov@intel.com> | 2021-03-25 14:46:13 +0300 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2021-03-29 15:09:58 +0200 |
commit | 203c18f14aab47a1f9f0a18a5119997761184557 (patch) | |
tree | 99c9ef68abc17cfdb949da7716b0e2ce871fb3b3 /doc/man3 | |
parent | 92a979b4034cd6c1da9cc71736929eb4161359d2 (diff) | |
download | openssl-203c18f14aab47a1f9f0a18a5119997761184557.tar.gz |
Moved build instructions from the man page
Some requirements and build hints for assembler modules compilation were
moved from doc/man3/OPENSSL_ia32cap.pod to INSTALL.md.
Fixes #14674
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14683)
Diffstat (limited to 'doc/man3')
-rw-r--r-- | doc/man3/OPENSSL_ia32cap.pod | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/doc/man3/OPENSSL_ia32cap.pod b/doc/man3/OPENSSL_ia32cap.pod index 60b294acde..98bab15fb1 100644 --- a/doc/man3/OPENSSL_ia32cap.pod +++ b/doc/man3/OPENSSL_ia32cap.pod @@ -121,36 +121,6 @@ setting up B<OPENSSL_ia32cap> environment variable. For example assigning C<:~0x20> would disable AVX2 code paths, and C<:0> - all post-AVX extensions. -It should be noted that whether or not some of the most "fancy" -extension code paths are actually assembled depends on current assembler -version. Base minimum of AES-NI/PCLMULQDQ, SSSE3 and SHA extension code -paths are always assembled. Apart from that, minimum assembler version -requirements are summarized in below table: - - Extension | GNU as | nasm | llvm - ------------+--------+--------+-------- - AVX | 2.19 | 2.09 | 3.0 - AVX2 | 2.22 | 2.10 | 3.1 - ADCX/ADOX | 2.23 | 2.10 | 3.3 - AVX512 | 2.25 | 2.11.8 | see NOTES - AVX512IFMA | 2.26 | 2.11.8 | see NOTES - VAES | 2.30 | 2.13.3 | - -=head1 NOTES - -Even though AVX512 support was implemented in llvm 3.6, compilation of -assembly modules apparently requires explicit -march flag. But then -compiler generates processor-specific code, which in turn contradicts -the mere idea of run-time switch execution facilitated by the variable -in question. Till the limitation is lifted, it's possible to work around -the problem by making build procedure use following script: - - #!/bin/sh - exec clang -no-integrated-as "$@" - -instead of real clang. In which case it doesn't matter which clang -version is used, as it is GNU assembler version that will be checked. - =head1 RETURN VALUES Not available. |