Implementation notes: amd64, mangetsu, crypto_hash/tiger

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_hash
Primitive: tiger
TimeImplementationCompilerBenchmark dateSUPERCOP version
11960cryptoppg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2014091420140907
11964cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2014091420140907
11972cryptoppg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014091420140907
11976cryptoppg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014091420140907
11984cryptoppg++ -O3 -fomit-frame-pointer2014091420140907
11984cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014091420140907
11984cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014091420140907
11984cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014091420140907
11988cryptoppg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014091420140907
11988cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2014091420140907
11992cryptoppclang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101820141014
11992cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014091420140907
11996cryptoppclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
11996cryptoppg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014091420140907
11996cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2014091420140907
12000cryptoppclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
12004cryptoppg++ -m64 -Os -fomit-frame-pointer2014091420140907
12004cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014091420140907
12012cryptoppclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014091420140907
12012cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014091420140907
12012cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014091420140907
12016cryptoppclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014091420140907
12020cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2014091420140907
12024cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014091420140907
12024cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014091420140907
12028cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2014091420140907
12032cryptoppg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014091420140907
12036cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014091420140907
12036cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014091420140907
12040cryptoppg++ -march=k8 -Os -fomit-frame-pointer2014091420140907
12044cryptoppclang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer2014091420140907
12048cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014091420140907
12072cryptoppg++ -O -fomit-frame-pointer2014091420140907
12076cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014091420140907
12080cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2014091420140907
12100cryptoppg++ -m64 -O2 -fomit-frame-pointer2014091420140907
12100cryptoppg++ -m64 -march=corei7 -O -fomit-frame-pointer2014091420140907
12104cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014091420140907
12104cryptoppg++ -march=nocona -O -fomit-frame-pointer2014091420140907
12112cryptoppclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014091420140907
12112cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2014091420140907
12112cryptoppg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014091420140907
12112cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014091420140907
12116cryptoppg++ -march=barcelona -O -fomit-frame-pointer2014091420140907
12116cryptoppg++ -march=k8 -O -fomit-frame-pointer2014091420140907
12120cryptoppg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014091420140907
12124cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014091420140907
12132cryptoppclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014091420140907
12132cryptoppg++ -Os -fomit-frame-pointer2014091420140907
12132cryptoppg++ -march=nocona -Os -fomit-frame-pointer2014091420140907
12148cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014091420140907
12156cryptoppg++ -O2 -fomit-frame-pointer2014091420140907
12168cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014091420140907
12176cryptoppg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014091420140907
12184cryptoppg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014091420140907
12212cryptoppclang++ -O3 -fomit-frame-pointer2014091420140907
12220cryptoppg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014091420140907
12220cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014091420140907
12236cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2014091420140907
12236cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2014091420140907
12244cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014091420140907
12244cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014091420140907
12252cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014091420140907
12256cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2014091420140907
12304cryptoppg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014091420140907
12312cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2014091420140907
12320cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2014091420140907
12328cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014091420140907
12328cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014091420140907
12328cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2014091420140907
12332cryptoppg++ -m64 -O3 -fomit-frame-pointer2014091420140907
12336cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2014091420140907
12356cryptoppg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014091420140907
12388cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014091420140907
12436cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2014091420140907
12440cryptoppg++ -m64 -O -fomit-frame-pointer2014091420140907
12508cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2014091420140907
13188cryptoppg++2014091420140907

Test failure

Implementation: crypto_hash/tiger/cryptopp
Compiler: g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_hash/tiger/cryptopp
Compiler: clang++ -O3 -fomit-frame-pointer
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:35:110: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
hash.cpp: ^
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:42:113: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
hash.cpp: ^
hash.cpp: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer cryptopp
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer cryptopp
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer cryptopp
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_hash/tiger/cryptopp
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
hash.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:35:110: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
hash.cpp: ^
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:42:113: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
hash.cpp: ^
hash.cpp: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer cryptopp
clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_hash/tiger/cryptopp
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
hash.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:35:110: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
hash.cpp: ^
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:42:113: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
hash.cpp: ^
hash.cpp: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_hash/tiger/cryptopp
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:35:110: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
hash.cpp: ^
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:42:113: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
hash.cpp: ^
hash.cpp: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_hash/tiger/cryptopp
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
hash.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:35:110: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
hash.cpp: ^
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/tiger.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/simple.h:42:113: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
hash.cpp: ^
hash.cpp: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer cryptopp