Implementation notes: x86, gcc14, crypto_stream/aes128ctr

Computer: gcc14
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_stream
Primitive: aes128ctr
TimeImplementationCompilerBenchmark dateSUPERCOP version
22032cryptoppg++ -m32 -march=k6 -O2 -fomit-frame-pointer2016101320161009
22086cryptoppg++ -m32 -march=nocona -O3 -fomit-frame-pointer2016101320161009
22086cryptoppg++ -m32 -march=prescott -O3 -fomit-frame-pointer2016101320161009
22104cryptoppg++ -m32 -march=barcelona -O3 -fomit-frame-pointer2016101320161009
22122cryptoppg++ -m32 -march=k6-2 -O3 -fomit-frame-pointer2016101320161009
22122cryptoppg++ -m32 -march=k6-3 -O3 -fomit-frame-pointer2016101320161009
22131cryptoppg++ -m32 -march=k6 -O3 -fomit-frame-pointer2016101320161009
22140cryptoppg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer2016101320161009
22140cryptoppg++ -m32 -march=k8 -O2 -fomit-frame-pointer2016101320161009
22149cryptoppg++ -m32 -march=athlon -O2 -fomit-frame-pointer2016101320161009
22158cryptoppg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer2016101320161009
22158cryptoppg++ -m32 -march=pentium4 -O3 -fomit-frame-pointer2016101320161009
22167cryptoppg++ -m32 -march=pentium-m -O -fomit-frame-pointer2016101320161009
22167cryptoppg++ -m32 -march=pentium2 -O -fomit-frame-pointer2016101320161009
22167cryptoppg++ -m32 -march=pentium3 -O -fomit-frame-pointer2016101320161009
22167cryptoppg++ -m32 -march=pentiumpro -O -fomit-frame-pointer2016101320161009
22176cryptoppg++ -m32 -march=pentium-m -O2 -fomit-frame-pointer2016101320161009
22176cryptoppg++ -m32 -march=pentium3 -O2 -fomit-frame-pointer2016101320161009
22176cryptoppg++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016101320161009
22185cryptoppg++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016101320161009
22194cryptoppg++ -m32 -march=pentium2 -O2 -fomit-frame-pointer2016101320161009
22203cryptoppg++ -m32 -march=pentium4 -O2 -fomit-frame-pointer2016101320161009
22203cryptoppg++ -m32 -march=pentium -O -fomit-frame-pointer2016101320161009
22212cryptoppg++ -m32 -march=athlon -O -fomit-frame-pointer2016101320161009
22212cryptoppg++ -m32 -march=i486 -O3 -fomit-frame-pointer2016101320161009
22212cryptoppg++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016101320161009
22212cryptoppg++ -m32 -march=pentium3 -O3 -fomit-frame-pointer2016101320161009
22221cryptoppg++ -m32 -O -fomit-frame-pointer2016101320161009
22221cryptoppg++ -m32 -march=athlon -O3 -fomit-frame-pointer2016101320161009
22221cryptoppg++ -m32 -march=barcelona -O2 -fomit-frame-pointer2016101320161009
22221cryptoppg++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer2016101320161009
22221cryptoppg++ -m32 -march=i486 -O2 -fomit-frame-pointer2016101320161009
22221cryptoppg++ -m32 -march=pentium-mmx -O -fomit-frame-pointer2016101320161009
22221cryptoppg++ -m32 -march=pentium -O2 -fomit-frame-pointer2016101320161009
22230cryptoppg++ -m32 -O2 -fomit-frame-pointer2016101320161009
22230cryptoppg++ -m32 -O3 -fomit-frame-pointer2016101320161009
22230cryptoppg++ -m32 -march=k8 -O3 -fomit-frame-pointer2016101320161009
22230cryptoppg++ -m32 -march=pentium2 -O3 -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=barcelona -O -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=core2 -O -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=k6 -O -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=native -mtune=native -O -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=nocona -O -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=pentium4 -O -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=prescott -O2 -fomit-frame-pointer2016101320161009
22239cryptoppg++ -m32 -march=prescott -O -fomit-frame-pointer2016101320161009
22248cryptoppg++ -m32 -march=k8 -O -fomit-frame-pointer2016101320161009
22248cryptoppg++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016101320161009
22248cryptoppg++ -m32 -march=nocona -O2 -fomit-frame-pointer2016101320161009
22266cryptoppg++ -m32 -march=i486 -O -fomit-frame-pointer2016101320161009
22266cryptoppg++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016101320161009
22275cryptoppg++ -m32 -march=pentium-m -O3 -fomit-frame-pointer2016101320161009
22284cryptoppg++ -m32 -march=core2 -O2 -fomit-frame-pointer2016101320161009
22284cryptoppg++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101320161009
22293cryptoppg++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2016101320161009
22293cryptoppg++ -m32 -march=k6-2 -O -fomit-frame-pointer2016101320161009
22302cryptoppg++ -m32 -Os -fomit-frame-pointer2016101320161009
22302cryptoppg++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101320161009
22302cryptoppg++ -m32 -march=k6-3 -O -fomit-frame-pointer2016101320161009
22302cryptoppg++ -m32 -march=pentium-m -Os -fomit-frame-pointer2016101320161009
22302cryptoppg++ -m32 -march=pentium2 -Os -fomit-frame-pointer2016101320161009
22302cryptoppg++ -m32 -march=pentium3 -Os -fomit-frame-pointer2016101320161009
22302cryptoppg++ -m32 -march=pentiumpro -Os -fomit-frame-pointer2016101320161009
22311cryptoppg++ -m32 -march=core2 -O3 -fomit-frame-pointer2016101320161009
22311cryptoppg++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016101320161009
22320cryptoppg++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016101320161009
22320cryptoppg++ -m32 -march=pentium -O3 -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=barcelona -Os -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=core2 -Os -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=k8 -Os -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016101320161009
22329cryptoppg++ -m32 -march=pentium -Os -fomit-frame-pointer2016101320161009
22338cryptoppg++ -m32 -march=athlon -Os -fomit-frame-pointer2016101320161009
22356cryptoppg++ -m32 -march=nocona -Os -fomit-frame-pointer2016101320161009
22356cryptoppg++ -m32 -march=pentium4 -Os -fomit-frame-pointer2016101320161009
22365cryptoppg++ -m32 -march=i386 -Os -fomit-frame-pointer2016101320161009
22365cryptoppg++ -m32 -march=i486 -Os -fomit-frame-pointer2016101320161009
22365cryptoppg++ -m32 -march=prescott -Os -fomit-frame-pointer2016101320161009
22401cryptoppg++ -m32 -march=k6-3 -Os -fomit-frame-pointer2016101320161009
22410cryptoppg++ -m32 -march=k6 -Os -fomit-frame-pointer2016101320161009
22437cryptoppg++ -m32 -march=k6-2 -Os -fomit-frame-pointer2016101320161009

Compiler output

Implementation: crypto_stream/aes128ctr/cryptopp
Compiler: g++ -m32 -march=i386 -O2 -fomit-frame-pointer
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::AdditiveCipherAbstractPolicy::SeekToIteration(unsigned long long)':
try.cpp: stream.cpp:(.text._ZN8CryptoPP28AdditiveCipherAbstractPolicy15SeekToIterationEy[CryptoPP::AdditiveCipherAbstractPolicy::SeekToIteration(unsigned long long)]+0xc5): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.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]+0xc6): 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]+0xfa): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::SimpleKeyingInterface::IVSize() const':
try.cpp: stream.cpp:(.text._ZNK8CryptoPP21SimpleKeyingInterface6IVSizeEv[CryptoPP::SimpleKeyingInterface::IVSize() const]+0xcb): undefined reference to `__sync_fetch_and_add_4'
try.cpp: stream.cpp:(.text._ZNK8CryptoPP21SimpleKeyingInterface6IVSizeEv[CryptoPP::SimpleKeyingInterface::IVSize() const]+0xff): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o):stream.cpp:(.text._ZN8CryptoPP21SimpleKeyingInterface13ResynchronizeEPKhi[CryptoPP::SimpleKeyingInterface::Resynchronize(unsigned char const*, int)]+0xcb): 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/aes128ctr/cryptopp
Compiler: g++ -m32 -march=i386 -O3 -fomit-frame-pointer
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::RandomNumberGenerator::IncorporateEntropy(unsigned char const*, unsigned int)':
try.cpp: stream.cpp:(.text._ZN8CryptoPP21RandomNumberGenerator18IncorporateEntropyEPKhj[CryptoPP::RandomNumberGenerator::IncorporateEntropy(unsigned char const*, unsigned int)]+0x91): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::InvalidArgument::~InvalidArgument()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP15InvalidArgumentD1Ev[CryptoPP::InvalidArgument::~InvalidArgument()]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP9ExceptionD0Ev[CryptoPP::Exception::~Exception()]+0x4b): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP9ExceptionD1Ev[CryptoPP::Exception::~Exception()]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::Clonable::Clone() const':
try.cpp: stream.cpp:(.text._ZNK8CryptoPP8Clonable5CloneEv[CryptoPP::Clonable::Clone() const]+0x91): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o):stream.cpp:(.text._ZN8CryptoPP28AdditiveCipherAbstractPolicy19CipherResynchronizeEPhPKhj[CryptoPP::AdditiveCipherAbstractPolicy::CipherResynchronize(unsigned char*, unsigned char const*, unsigned int)]+0x91): 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/aes128ctr/cryptopp
Compiler: g++ -m32 -march=i386 -O -fomit-frame-pointer
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::RandomNumberGenerator::IncorporateEntropy(unsigned char const*, unsigned int)':
try.cpp: stream.cpp:(.text._ZN8CryptoPP21RandomNumberGenerator18IncorporateEntropyEPKhj[CryptoPP::RandomNumberGenerator::IncorporateEntropy(unsigned char const*, unsigned int)]+0xa1): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP14NotImplementedD0Ev[CryptoPP::NotImplemented::~NotImplemented()]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP9ExceptionD0Ev[CryptoPP::Exception::~Exception()]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: stream.cpp:(.text._ZN8CryptoPP9ExceptionD1Ev[CryptoPP::Exception::~Exception()]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o): In function `CryptoPP::Clonable::Clone() const':
try.cpp: stream.cpp:(.text._ZNK8CryptoPP8Clonable5CloneEv[CryptoPP::Clonable::Clone() const]+0xa1): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_aes128ctr.a(stream.o):stream.cpp:(.text._ZN8CryptoPP28AdditiveCipherAbstractPolicy19CipherResynchronizeEPhPKhj[CryptoPP::AdditiveCipherAbstractPolicy::CipherResynchronize(unsigned char*, unsigned char const*, unsigned int)]+0xa1): 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