summaryrefslogtreecommitdiff
path: root/speck.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-12-03 02:28:40 -0500
committerJeffrey Walton <noloader@gmail.com>2017-12-03 02:28:40 -0500
commit6bb1f1d9c41060e9bc2ebef1d2736b2bdb48cd49 (patch)
treecb8acf0cc2ab462fe783b96da18499ebef03b370 /speck.h
parent77ff7aa528cc9302cefb5dfb5f7f61247df218ef (diff)
downloadcryptopp-git-6bb1f1d9c41060e9bc2ebef1d2736b2bdb48cd49.tar.gz
Add SPECK-64 SSE intrinsics
Performance went from about 11.9 cpb (C++) to about 4.5 cpb (SSE)
Diffstat (limited to 'speck.h')
-rw-r--r--speck.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/speck.h b/speck.h
index ef78fb10..f34488af 100644
--- a/speck.h
+++ b/speck.h
@@ -94,6 +94,9 @@ public:
{
protected:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
+#if CRYPTOPP_SPECK_ADVANCED_PROCESS_BLOCKS
+ size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const;
+#endif
};
/// \brief Provides implementation for encryption transformation
@@ -104,6 +107,9 @@ public:
{
protected:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
+#if CRYPTOPP_SPECK_ADVANCED_PROCESS_BLOCKS
+ size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const;
+#endif
};
typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;