| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This is as if --single-file-amalgamation was always used, except
also now botan_all_internal.h is not created.
This effectively drops support for very old GCC/Clang in the
amalgamation (only). GCC 5+ and Clang 3.8+ support the target
attribute and work fine. MSVC not affected since it doesn't need
such attributes in the first place.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly by avoiding strange corner cases in compiler code generation
rather than anything clever.
Improves Skylake x86 by 1.08x encrypt/no change for decrypt
Improves ARMv7 (Pi2) by 1.2x encrypt/1.42x decrypt
Improves Aarch64 (Cortex-A53) by 1.45x encrypt/2.15x decrypt
Improves POWER8 by 18x encrypt/19.5x decrypt
Crazy POWER8 improvement due to the fact that shuffle function was not
being inlined properly by GCC 9 due to differing ISA enablement
|
|
|
|
| |
See #2226
|
| |
|
|
|
|
| |
About 2x faster on Skylake
|
| |
|
|
|
|
|
|
| |
MSVC 19.24.28117 miscompiles it
GH #2120
|
|
|
|
| |
Same algorithms were used just using SSSE3 vs NEON
|
|
|
|
| |
Nothing enabled ssse3 in that case.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
All the constants need to be tweaked and possibly other changes
are required.
|
| |
| |
| |
| | |
Slower than T-tables on the machines I've tried, but constant time.
|
|/
|
|
| |
I do not understand the mechanism but this is slightly faster.
|
|\ |
|
| |
| |
| |
| | |
Improves performance by 20-30% on POWER9
|
| |
| |
| |
| | |
Previously --disable-sse2/--disable-ssse3 would not work as expected
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Rename aes_ssse3 -> aes_vperm
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
With keys not a multiple of 4 bytes, the zero bytes ended up in the
wrong place. In the unlikely event anyone was affected by this they
could just use the equivalent 16 byte key.
Closes #2081
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Create BOTAN_DEPRECATED_HEADER so we can warn about this consistently.
Shuffle around the filter headers so all of the concrete filters
are defined in filters.h instead of being spread across many headers.
Document which headers are deprecated as well as a list of headers which
will be made internal-only in a future major release.
|
| |
|
|
|
|
|
| |
The instruction sequence is a bit slower, but saves 8K of ROM and
eliminates a side channel issue.
|
| |
|
| |
|
|
|
|
| |
Various configurations would fail build or test, fix that.
|
|
|
|
|
|
|
|
|
|
| |
Needed for #1819 and unfortunately Windows does not allow thread local
data to be stored as a member of a DLL exported class. So hide it
behind an accessor function instead.
This slows down CPUID test somewhat and I would like to address that
but it seems hard without breaking the CPUID API, which is for better
or worse public.
|
|
|
|
| |
Now this is checked at the higher level
|
|
|
|
| |
No real bugs, but pointed out some odd constructs and duplicated logic
|
| |
|
|
|
|
|
|
|
| |
It was only needed for one case which is easily hardcoded. Include
rotate.h in all the source files that actually use rotr/rotl but
implicitly picked it up via loadstor.h -> bswap.h -> rotate.h include
chain.
|
| |
|
|
|
|
|
|
|
|
| |
Otherwise some CPUs suffer serious stalls. Using vzeroall on exit
also has the nice effect that we don't have to worry about register
contents leaking.
HT to @noloader for doing the background research on this.
|
|
|
|
| |
This is not exhaustive. See GH #1733
|
|
|
|
|
| |
It is confusing since its not clear from the name how many
elements it has, and this gives consistency with SIMD_8x32 type.
|
|
|
|
| |
Roughly 50% faster for parallel modes like CTR or CBC decrypt.
|
|
|
|
| |
Needed for single amalagamation file with AVX2 enabled.
|
|
|
|
| |
This is primarily just to verify that C++11 constexpr works.
|
|
|
|
| |
Closes GH #1557
|
| |
|
|
|
|
| |
Not an actual problem, but flagged by Coverity
|
|
|
|
|
|
|
| |
They were only in the same place because of the desire to share
the sbox tables, but that can be handled by adding a dependency.
This makes it possible to disable CAST-256 while leaving CAST-128.
|
| |
|
| |
|
| |
|