Implementation notes: x86, gcc14, crypto_hash/tiger

Computer: gcc14
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: tiger
TimeImplementationCompilerBenchmark dateSUPERCOP version
12951cryptoppg++ -m32 -march=barcelona -O3 -fomit-frame-pointer2016101320161009
12951cryptoppg++ -m32 -march=core2 -O2 -fomit-frame-pointer2016101320161009
12951cryptoppg++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101320161009
12951cryptoppg++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016101320161009
12960cryptoppg++ -m32 -O3 -fomit-frame-pointer2016101320161009
12960cryptoppg++ -m32 -march=athlon -Os -fomit-frame-pointer2016101320161009
12960cryptoppg++ -m32 -march=barcelona -Os -fomit-frame-pointer2016101320161009
12960cryptoppg++ -m32 -march=k8 -O3 -fomit-frame-pointer2016101320161009
12960cryptoppg++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016101320161009
12960cryptoppg++ -m32 -march=pentium4 -O2 -fomit-frame-pointer2016101320161009
12969cryptoppg++ -m32 -march=pentiumpro -Os -fomit-frame-pointer2016101320161009
12978cryptoppg++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2016101320161009
12978cryptoppg++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016101320161009
12978cryptoppg++ -m32 -march=pentium-m -O2 -fomit-frame-pointer2016101320161009
12978cryptoppg++ -m32 -march=pentium2 -O2 -fomit-frame-pointer2016101320161009
12978cryptoppg++ -m32 -march=pentium3 -O2 -fomit-frame-pointer2016101320161009
12978cryptoppg++ -m32 -march=pentium3 -Os -fomit-frame-pointer2016101320161009
12978cryptoppg++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016101320161009
12987cryptoppg++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101320161009
12987cryptoppg++ -m32 -march=i486 -O2 -fomit-frame-pointer2016101320161009
12987cryptoppg++ -m32 -march=pentium-m -Os -fomit-frame-pointer2016101320161009
12987cryptoppg++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016101320161009
12987cryptoppg++ -m32 -march=pentium2 -Os -fomit-frame-pointer2016101320161009
12987cryptoppg++ -m32 -march=pentium4 -O3 -fomit-frame-pointer2016101320161009
12996cryptoppg++ -m32 -march=barcelona -O2 -fomit-frame-pointer2016101320161009
12996cryptoppg++ -m32 -march=core2 -Os -fomit-frame-pointer2016101320161009
12996cryptoppg++ -m32 -march=k8 -O2 -fomit-frame-pointer2016101320161009
12996cryptoppg++ -m32 -march=nocona -O3 -fomit-frame-pointer2016101320161009
12996cryptoppg++ -m32 -march=pentium -Os -fomit-frame-pointer2016101320161009
12996cryptoppg++ -m32 -march=prescott -O3 -fomit-frame-pointer2016101320161009
13005cryptoppg++ -m32 -march=athlon -O2 -fomit-frame-pointer2016101320161009
13005cryptoppg++ -m32 -march=core2 -O3 -fomit-frame-pointer2016101320161009
13005cryptoppg++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101320161009
13005cryptoppg++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016101320161009
13005cryptoppg++ -m32 -march=pentium -O3 -fomit-frame-pointer2016101320161009
13014cryptoppg++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016101320161009
13014cryptoppg++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2016101320161009
13014cryptoppg++ -m32 -march=i486 -O3 -fomit-frame-pointer2016101320161009
13014cryptoppg++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016101320161009
13014cryptoppg++ -m32 -march=pentium-m -O3 -fomit-frame-pointer2016101320161009
13014cryptoppg++ -m32 -march=pentium3 -O3 -fomit-frame-pointer2016101320161009
13014cryptoppg++ -m32 -march=pentium4 -Os -fomit-frame-pointer2016101320161009
13023cryptoppg++ -m32 -march=athlon -O3 -fomit-frame-pointer2016101320161009
13023cryptoppg++ -m32 -march=k6-3 -O3 -fomit-frame-pointer2016101320161009
13023cryptoppg++ -m32 -march=k6 -O2 -fomit-frame-pointer2016101320161009
13023cryptoppg++ -m32 -march=k6 -O3 -fomit-frame-pointer2016101320161009
13023cryptoppg++ -m32 -march=k8 -Os -fomit-frame-pointer2016101320161009
13023cryptoppg++ -m32 -march=pentium2 -O3 -fomit-frame-pointer2016101320161009
13023cryptoppg++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016101320161009
13032cryptoppg++ -m32 -O2 -fomit-frame-pointer2016101320161009
13032cryptoppg++ -m32 -march=k6-2 -O3 -fomit-frame-pointer2016101320161009
13032cryptoppg++ -m32 -march=nocona -Os -fomit-frame-pointer2016101320161009
13032cryptoppg++ -m32 -march=prescott -Os -fomit-frame-pointer2016101320161009
13041cryptoppg++ -m32 -march=i386 -Os -fomit-frame-pointer2016101320161009
13041cryptoppg++ -m32 -march=i486 -Os -fomit-frame-pointer2016101320161009
13050cryptoppg++ -m32 -march=k6 -Os -fomit-frame-pointer2016101320161009
13050cryptoppg++ -m32 -march=pentium -O2 -fomit-frame-pointer2016101320161009
13059cryptoppg++ -m32 -march=nocona -O2 -fomit-frame-pointer2016101320161009
13059cryptoppg++ -m32 -march=prescott -O2 -fomit-frame-pointer2016101320161009
13068cryptoppg++ -m32 -Os -fomit-frame-pointer2016101320161009
13095cryptoppg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101320161009
13095cryptoppg++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer2016101320161009
13095cryptoppg++ -m32 -march=native -mtune=native -O -fomit-frame-pointer2016101320161009
13095cryptoppg++ -m32 -march=pentium-m -O -fomit-frame-pointer2016101320161009
13095cryptoppg++ -m32 -march=pentium2 -O -fomit-frame-pointer2016101320161009
13095cryptoppg++ -m32 -march=pentium3 -O -fomit-frame-pointer2016101320161009
13095cryptoppg++ -m32 -march=pentiumpro -O -fomit-frame-pointer2016101320161009
13104cryptoppg++ -m32 -O -fomit-frame-pointer2016101320161009
13104cryptoppg++ -m32 -march=barcelona -O -fomit-frame-pointer2016101320161009
13104cryptoppg++ -m32 -march=i486 -O -fomit-frame-pointer2016101320161009
13113cryptoppg++ -m32 -march=pentium4 -O -fomit-frame-pointer2016101320161009
13113cryptoppg++ -m32 -march=prescott -O -fomit-frame-pointer2016101320161009
13122cryptoppg++ -m32 -march=athlon -O -fomit-frame-pointer2016101320161009
13122cryptoppg++ -m32 -march=k6-2 -O -fomit-frame-pointer2016101320161009
13122cryptoppg++ -m32 -march=k6-2 -Os -fomit-frame-pointer2016101320161009
13122cryptoppg++ -m32 -march=k6-3 -O -fomit-frame-pointer2016101320161009
13122cryptoppg++ -m32 -march=k6-3 -Os -fomit-frame-pointer2016101320161009
13122cryptoppg++ -m32 -march=k6 -O -fomit-frame-pointer2016101320161009
13122cryptoppg++ -m32 -march=k8 -O -fomit-frame-pointer2016101320161009
13131cryptoppg++ -m32 -march=nocona -O -fomit-frame-pointer2016101320161009
13140cryptoppg++ -m32 -march=core2 -O -fomit-frame-pointer2016101320161009
13167cryptoppg++ -m32 -march=pentium-mmx -O -fomit-frame-pointer2016101320161009
13167cryptoppg++ -m32 -march=pentium -O -fomit-frame-pointer2016101320161009
13185cryptoppg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer2016101320161009
13185cryptoppg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer2016101320161009

Compiler output

Implementation: crypto_hash/tiger/cryptopp
Compiler: g++ -m32 -march=i386 -O2 -fomit-frame-pointer
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP9ExceptionD1Ev[CryptoPP::Exception::~Exception()]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Clonable::Clone() const':
try.cpp: hash.cpp:(.text._ZNK8CryptoPP8Clonable5CloneEv[CryptoPP::Clonable::Clone() const]+0x91): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::InvalidArgument::~InvalidArgument()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP15InvalidArgumentD0Ev[CryptoPP::InvalidArgument::~InvalidArgument()]+0x4b): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP9ExceptionD0Ev[CryptoPP::Exception::~Exception()]+0x4b): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP14NotImplementedD0Ev[CryptoPP::NotImplemented::~NotImplemented()]+0x4b): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o):hash.cpp:(.text._ZN8CryptoPP15InvalidArgumentD1Ev[CryptoPP::InvalidArgument::~InvalidArgument()]+0x43): 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_hash/tiger/cryptopp
Compiler: g++ -m32 -march=i386 -O3 -fomit-frame-pointer
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::InvalidArgument::~InvalidArgument()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP15InvalidArgumentD1Ev[CryptoPP::InvalidArgument::~InvalidArgument()]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP9ExceptionD0Ev[CryptoPP::Exception::~Exception()]+0x4b): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP9ExceptionD1Ev[CryptoPP::Exception::~Exception()]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Clonable::Clone() const':
try.cpp: hash.cpp:(.text._ZNK8CryptoPP8Clonable5CloneEv[CryptoPP::Clonable::Clone() const]+0x91): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP14NotImplementedD1Ev[CryptoPP::NotImplemented::~NotImplemented()]+0x43): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o):hash.cpp:(.text._ZN8CryptoPP15InvalidArgumentD0Ev[CryptoPP::InvalidArgument::~InvalidArgument()]+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_hash/tiger/cryptopp
Compiler: g++ -m32 -march=i386 -O -fomit-frame-pointer
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP9ExceptionD1Ev[CryptoPP::Exception::~Exception()]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Clonable::Clone() const':
try.cpp: hash.cpp:(.text._ZNK8CryptoPP8Clonable5CloneEv[CryptoPP::Clonable::Clone() const]+0xa1): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::InvalidArgument::~InvalidArgument()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP15InvalidArgumentD0Ev[CryptoPP::InvalidArgument::~InvalidArgument()]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::Exception::~Exception()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP9ExceptionD0Ev[CryptoPP::Exception::~Exception()]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o): In function `CryptoPP::NotImplemented::~NotImplemented()':
try.cpp: hash.cpp:(.text._ZN8CryptoPP14NotImplementedD0Ev[CryptoPP::NotImplemented::~NotImplemented()]+0x35): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_hash_tiger.a(hash.o):hash.cpp:(.text._ZN8CryptoPP15InvalidArgumentD1Ev[CryptoPP::InvalidArgument::~InvalidArgument()]+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