Implementation notes: x86, hydra4, crypto_stream/aes192ctr

Computer: hydra4
Architecture: x86
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_stream
Primitive: aes192ctr
TimeImplementationCompilerBenchmark dateSUPERCOP version
22694cryptoppg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer2014052920140525
22745cryptoppg++ -m32 -march=k6-2 -O3 -fomit-frame-pointer2014052920140525
22749cryptoppg++ -m32 -march=pentium4 -O3 -fomit-frame-pointer2014052920140525
22757cryptoppg++ -m32 -march=k6 -O2 -fomit-frame-pointer2014052920140525
22764cryptoppg++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014052920140525
22776cryptoppg++ -m32 -march=k6-3 -O3 -fomit-frame-pointer2014052920140525
22780cryptoppg++ -m32 -march=barcelona -O2 -fomit-frame-pointer2014052920140525
22784cryptoppg++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer2014052920140525
22792cryptoppg++ -m32 -march=corei7-avx -O -fomit-frame-pointer2014052920140525
22800cryptoppg++ -m32 -march=pentium4 -O2 -fomit-frame-pointer2014052920140525
22804cryptoppg++ -m32 -march=pentium3 -O3 -fomit-frame-pointer2014052920140525
22808cryptoppg++ -m32 -march=k6 -O3 -fomit-frame-pointer2014052920140525
22811cryptoppg++ -m32 -march=i486 -O3 -fomit-frame-pointer2014052920140525
22811cryptoppg++ -m32 -march=k8 -O2 -fomit-frame-pointer2014052920140525
22819cryptoppg++ -m32 -march=barcelona -O3 -fomit-frame-pointer2014052920140525
22827cryptoppg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer2014052920140525
22831cryptoppg++ -m32 -O3 -fomit-frame-pointer2014052920140525
22838cryptoppg++ -m32 -march=athlon -O2 -fomit-frame-pointer2014052920140525
22842cryptoppg++ -m32 -march=nocona -O2 -fomit-frame-pointer2014052920140525
22846cryptoppg++ -m32 -march=i486 -O2 -fomit-frame-pointer2014052920140525
22846cryptoppg++ -m32 -march=k8 -O3 -fomit-frame-pointer2014052920140525
22846cryptoppg++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014052920140525
22846cryptoppg++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2014052920140525
22854cryptoppg++ -m32 -march=athlon -O -fomit-frame-pointer2014052920140525
22854cryptoppg++ -m32 -march=prescott -O3 -fomit-frame-pointer2014052920140525
22858cryptoppg++ -m32 -march=k8 -O -fomit-frame-pointer2014052920140525
22861cryptoppg++ -m32 -march=pentium-mmx -O -fomit-frame-pointer2014052920140525
22862cryptoppg++ -m32 -march=pentium3 -O2 -fomit-frame-pointer2014052920140525
22865cryptoppg++ -m32 -march=core2 -O2 -fomit-frame-pointer2014052920140525
22865cryptoppg++ -m32 -march=pentium -O2 -fomit-frame-pointer2014052920140525
22865cryptoppg++ -m32 -march=pentium -O3 -fomit-frame-pointer2014052920140525
22873cryptoppg++ -m32 -march=k6-3 -O -fomit-frame-pointer2014052920140525
22873cryptoppg++ -m32 -march=pentium -O -fomit-frame-pointer2014052920140525
22878cryptoppg++ -m32 -O -fomit-frame-pointer2014052920140525
22878cryptoppg++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2014052920140525
22878cryptoppg++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014052920140525
22878cryptoppg++ -m32 -march=pentium2 -O3 -fomit-frame-pointer2014052920140525
22882cryptoppg++ -m32 -march=prescott -O2 -fomit-frame-pointer2014052920140525
22889cryptoppg++ -m32 -Os -fomit-frame-pointer2014052920140525
22889cryptoppg++ -m32 -march=athlon -O3 -fomit-frame-pointer2014052920140525
22889cryptoppg++ -m32 -march=core-avx-i -O2 -fomit-frame-pointer2014052920140525
22889cryptoppg++ -m32 -march=native -mtune=native -O -fomit-frame-pointer2014052920140525
22893cryptoppg++ -m32 -march=nocona -O3 -fomit-frame-pointer2014052920140525
22897cryptoppg++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer2014052920140525
22901cryptoppg++ -m32 -march=pentium-m -Os -fomit-frame-pointer2014052920140525
22908cryptoppg++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2014052920140525
22912cryptoppg++ -m32 -march=core-avx-i -Os -fomit-frame-pointer2014052920140525
22913cryptoppg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2014052920140525
22913cryptoppg++ -m32 -march=corei7-avx -O2 -fomit-frame-pointer2014052920140525
22916cryptoppg++ -m32 -O2 -fomit-frame-pointer2014052920140525
22920cryptoppg++ -m32 -march=pentium2 -Os -fomit-frame-pointer2014052920140525
22921cryptoppg++ -m32 -march=pentium2 -O2 -fomit-frame-pointer2014052920140525
22925cryptoppg++ -m32 -march=corei7 -O2 -fomit-frame-pointer2014052920140525
22932cryptoppg++ -m32 -march=pentium-m -O -fomit-frame-pointer2014052920140525
22940cryptoppg++ -m32 -march=pentium-m -O3 -fomit-frame-pointer2014052920140525
22940cryptoppg++ -m32 -march=pentium -Os -fomit-frame-pointer2014052920140525
22943cryptoppg++ -m32 -march=nocona -O -fomit-frame-pointer2014052920140525
22943cryptoppg++ -m32 -march=prescott -O -fomit-frame-pointer2014052920140525
22944cryptoppg++ -m32 -march=core-avx-i -O -fomit-frame-pointer2014052920140525
22955cryptoppg++ -m32 -march=corei7 -O -fomit-frame-pointer2014052920140525
22956cryptoppg++ -m32 -march=pentium-m -O2 -fomit-frame-pointer2014052920140525
22959cryptoppg++ -m32 -march=barcelona -O -fomit-frame-pointer2014052920140525
22959cryptoppg++ -m32 -march=pentium3 -Os -fomit-frame-pointer2014052920140525
22964cryptoppg++ -m32 -march=pentiumpro -Os -fomit-frame-pointer2014052920140525
22967cryptoppg++ -m32 -march=k6-3 -Os -fomit-frame-pointer2014052920140525
22968cryptoppg++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014052920140525
22978cryptoppg++ -m32 -march=core2 -Os -fomit-frame-pointer2014052920140525
22983cryptoppg++ -m32 -march=athlon -Os -fomit-frame-pointer2014052920140525
22983cryptoppg++ -m32 -march=nocona -Os -fomit-frame-pointer2014052920140525
22986cryptoppg++ -m32 -march=pentium3 -O -fomit-frame-pointer2014052920140525
22987cryptoppg++ -m32 -march=k6-2 -O -fomit-frame-pointer2014052920140525
22999cryptoppg++ -m32 -march=corei7 -Os -fomit-frame-pointer2014052920140525
23002cryptoppg++ -m32 -march=i486 -O -fomit-frame-pointer2014052920140525
23014cryptoppg++ -m32 -march=k8 -Os -fomit-frame-pointer2014052920140525
23014cryptoppg++ -m32 -march=pentium4 -O -fomit-frame-pointer2014052920140525
23018cryptoppg++ -m32 -march=barcelona -Os -fomit-frame-pointer2014052920140525
23018cryptoppg++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014052920140525
23022cryptoppg++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014052920140525
23026cryptoppg++ -m32 -march=core2 -O -fomit-frame-pointer2014052920140525
23026cryptoppg++ -m32 -march=corei7-avx -Os -fomit-frame-pointer2014052920140525
23026cryptoppg++ -m32 -march=k6 -O -fomit-frame-pointer2014052920140525
23034cryptoppg++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014052920140525
23045cryptoppg++ -m32 -march=i486 -Os -fomit-frame-pointer2014052920140525
23057cryptoppg++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer2014052920140525
23057cryptoppg++ -m32 -march=pentiumpro -O -fomit-frame-pointer2014052920140525
23064cryptoppg++ -m32 -march=k6-2 -Os -fomit-frame-pointer2014052920140525
23064cryptoppg++ -m32 -march=pentium2 -O -fomit-frame-pointer2014052920140525
23068cryptoppg++ -m32 -march=k6 -Os -fomit-frame-pointer2014052920140525
23088cryptoppg++ -m32 -march=i386 -Os -fomit-frame-pointer2014052920140525
23095cryptoppg++ -m32 -march=pentium4 -Os -fomit-frame-pointer2014052920140525
23146cryptoppg++ -m32 -march=prescott -Os -fomit-frame-pointer2014052920140525

Test failure

Implementation: crypto_stream/aes192ctr/cryptopp
Compiler: g++ -m32 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m32 -march=core2 -O3 -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_stream/aes192ctr/cryptopp
Compiler: g++ -m32 -march=i386 -O2 -fomit-frame-pointer
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP9ExceptionD2Ev[_ZN8CryptoPP9ExceptionD5Ev]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const':
try.cpp: stream.cpp:(.text._ZNK8CryptoPP13AlgorithmImplINS_20ConcretePolicyHolderINS_5EmptyENS_22AdditiveCipherTemplateINS_20AbstractPolicyHolderINS_28AdditiveCipherAbstractPolicyENS_14CTR_ModePolicyEEEEES5_EENS_36CipherModeFinalTemplate_CipherHolderINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES9_EEE13AlgorithmNameEv[CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const]+0xc7): undefined reference to `__sync_fetch_and_add_4'
try.cpp: stream.cpp:(.text._ZNK8CryptoPP13AlgorithmImplINS_20ConcretePolicyHolderINS_5EmptyENS_22AdditiveCipherTemplateINS_20AbstractPolicyHolderINS_28AdditiveCipherAbstractPolicyENS_14CTR_ModePolicyEEEEES5_EENS_36CipherModeFinalTemplate_CipherHolderINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES9_EEE13AlgorithmNameEv[CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const]+0xf9): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::InvalidArgument::~InvalidArgument()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP15InvalidArgumentD2Ev[_ZN8CryptoPP15InvalidArgumentD5Ev]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP14NotImplementedD2Ev[_ZN8CryptoPP14NotImplementedD5Ev]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o):stream.cpp:(.text._ZN8CryptoPP9ExceptionD0Ev[_ZN8CryptoPP9ExceptionD5Ev]+0x4b): more undefined references to `__sync_fetch_and_add_4' follow
try.cpp: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m32 -march=i386 -O2 -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_stream/aes192ctr/cryptopp
Compiler: g++ -m32 -march=i386 -O3 -fomit-frame-pointer
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP9ExceptionD2Ev[_ZN8CryptoPP9ExceptionD5Ev]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP14NotImplementedD2Ev[_ZN8CryptoPP14NotImplementedD5Ev]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const':
try.cpp: stream.cpp:(.text._ZNK8CryptoPP13AlgorithmImplINS_20ConcretePolicyHolderINS_5EmptyENS_22AdditiveCipherTemplateINS_20AbstractPolicyHolderINS_28AdditiveCipherAbstractPolicyENS_14CTR_ModePolicyEEEEES5_EENS_36CipherModeFinalTemplate_CipherHolderINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES9_EEE13AlgorithmNameEv[CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const]+0xc7): undefined reference to `__sync_fetch_and_add_4'
try.cpp: stream.cpp:(.text._ZNK8CryptoPP13AlgorithmImplINS_20ConcretePolicyHolderINS_5EmptyENS_22AdditiveCipherTemplateINS_20AbstractPolicyHolderINS_28AdditiveCipherAbstractPolicyENS_14CTR_ModePolicyEEEEES5_EENS_36CipherModeFinalTemplate_CipherHolderINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES9_EEE13AlgorithmNameEv[CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const]+0xf9): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::InvalidArgument::~InvalidArgument()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP15InvalidArgumentD2Ev[_ZN8CryptoPP15InvalidArgumentD5Ev]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o):stream.cpp:(.text._ZN8CryptoPP9ExceptionD0Ev[_ZN8CryptoPP9ExceptionD5Ev]+0x4b): more undefined references to `__sync_fetch_and_add_4' follow
try.cpp: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m32 -march=i386 -O3 -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_stream/aes192ctr/cryptopp
Compiler: g++ -m32 -march=i386 -O -fomit-frame-pointer
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP9ExceptionD2Ev[_ZN8CryptoPP9ExceptionD5Ev]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP14NotImplementedD2Ev[_ZN8CryptoPP14NotImplementedD5Ev]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const':
try.cpp: stream.cpp:(.text._ZNK8CryptoPP13AlgorithmImplINS_20ConcretePolicyHolderINS_5EmptyENS_22AdditiveCipherTemplateINS_20AbstractPolicyHolderINS_28AdditiveCipherAbstractPolicyENS_14CTR_ModePolicyEEEEES5_EENS_36CipherModeFinalTemplate_CipherHolderINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES9_EEE13AlgorithmNameEv[CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const]+0xd6): undefined reference to `__sync_fetch_and_add_4'
try.cpp: stream.cpp:(.text._ZNK8CryptoPP13AlgorithmImplINS_20ConcretePolicyHolderINS_5EmptyENS_22AdditiveCipherTemplateINS_20AbstractPolicyHolderINS_28AdditiveCipherAbstractPolicyENS_14CTR_ModePolicyEEEEES5_EENS_36CipherModeFinalTemplate_CipherHolderINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES9_EEE13AlgorithmNameEv[CryptoPP::AlgorithmImplgt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt;, CryptoPP::CipherModeFinalTemplate_CipherHoldergt;, CryptoPP::ConcretePolicyHoldergt; >gt;, CryptoPP::AdditiveCipherAbstractPolicy>gt; >gt; >gt;::AlgorithmName() const]+0x122): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP14NotImplementedD0Ev[_ZN8CryptoPP14NotImplementedD5Ev]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes192ctr.a(stream.o):stream.cpp:(.text._ZN8CryptoPP15InvalidArgumentD2Ev[_ZN8CryptoPP15InvalidArgumentD5Ev]+0x35): more undefined references to `__sync_fetch_and_add_4' follow
try.cpp: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m32 -march=i386 -O -fomit-frame-pointer cryptopp