Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Split the SIMD implementations into their own modules and choose one | lloyd | 2011-05-24 | 1 | -169/+0 |
| | | | | at config time. | ||||
* | Maintainer mode warning cleanups, mostly for C style casts which I | lloyd | 2011-04-18 | 1 | -3/+3 |
| | | | | added to the flags here. | ||||
* | Another cast | lloyd | 2011-02-09 | 1 | -1/+1 |
| | |||||
* | Some casts to avoid VC warnings | lloyd | 2011-02-09 | 1 | -3/+3 |
| | |||||
* | Use size_t for shift and rotate values. Also define rotate_left and | lloyd | 2010-12-28 | 1 | -4/+4 |
| | | | | | rotate_right for SIMD types as a template specialization to avoid problems in the amalgamation. | ||||
* | Use "/*" instead of "/**" in starting comments at the begining of a file. | lloyd | 2010-06-07 | 1 | -1/+1 |
| | | | | | This caused Doxygen to think this was markup meant for it, which really caused some clutter in the namespace page. | ||||
* | Add operator& and non-mutating rotates to SIMD_32 | lloyd | 2010-01-12 | 1 | -0/+5 |
| | |||||
* | Full working amalgamation build, plus internal-only headers concept. | lloyd | 2009-12-16 | 1 | -1/+4 |
| | |||||
* | Make sure the SIMD_32 implementation we're using actually works on the | lloyd | 2009-11-24 | 1 | -1/+1 |
| | | | | system before returning a new instance. | ||||
* | Add an andc operation, in SSE2 and AltiVec, may be useful for Serpent sboxes | lloyd | 2009-11-04 | 1 | -2/+7 |
| | |||||
* | Give each version of SIMD_32 a public bswap() | lloyd | 2009-10-29 | 1 | -11/+11 |
| | |||||
* | Add new function enabled() to each of the SIMD_32 instantiations which | lloyd | 2009-10-29 | 1 | -1/+4 |
| | | | | | returns true if they might plausibly work. AltiVec and SSE2 versions call into CPUID, scalar version always works. | ||||
* | Add copyright + license on the new SIMD files | lloyd | 2009-10-28 | 1 | -0/+3 |
| | |||||
* | Define SSE rotate_right in terms of rotate left, and load_be in terms | lloyd | 2009-10-28 | 1 | -3/+2 |
| | | | | of load_le + bswap | ||||
* | Add subtraction operators to SIMD_32 classes, needed for XTEA decrypt | lloyd | 2009-10-26 | 1 | -0/+10 |
| | |||||
* | Add a wrapper for a set of SSE2 operations with convenient syntax for 4x32 | lloyd | 2009-10-26 | 1 | -0/+141 |
operations. Also add a pure scalar code version. Convert Serpent to use this new interface, and add an implementation of XTEA in SIMD. The wrappers plus the scalar version allow SIMD-ish code to work on all platforms. This is often a win due to better ILP being visible to the processor (as with the recent XTEA optimizations). Only real danger is register starvation, mostly an issue on x86 these days. So it may (or may not) be a win to consolidate the standard C++ versions and the SIMD versions together. Future work: - Add AltiVec/VMX version - Maybe also for ARM's NEON extension? Less pressing, I would think. - Convert SHA-1 code to use SIMD_32 - Add XTEA SIMD decryption (currently only encrypt) - Change SSE2 engine to SIMD_engine - Modify configure.py to set BOTAN_TARGET_CPU_HAS_[SSE2|ALTIVEC|NEON|XXX] macros |