Implementation notes: amd64, mangetsu, crypto_stream/aes128ctr

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_stream
Primitive: aes128ctr
TimeImplementationCompilerBenchmark dateSUPERCOP version
3980cryptoppg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014091420140907
3984cryptoppg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014091420140907
3984cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014091420140907
3988cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014091420140907
3988cryptoppg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014091420140907
3988cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014091420140907
3996cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014091420140907
3996cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2014091420140907
4000cryptoppclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014091420140907
4000cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014091420140907
4000cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2014091420140907
4004cryptoppg++ -m64 -march=corei7 -O -fomit-frame-pointer2014091420140907
4004cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014091420140907
4004cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2014091420140907
4008cryptoppclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
4008cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014091420140907
4012cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014091420140907
4016cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014091420140907
4016cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014091420140907
4016cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014091420140907
4020cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2014091420140907
4024cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014091420140907
4028cryptoppg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014091420140907
4028cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014091420140907
4028cryptoppg++ -march=k8 -O -fomit-frame-pointer2014091420140907
4032cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2014091420140907
4032cryptoppg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014091420140907
4036cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014091420140907
4036cryptoppg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014091420140907
4040cryptoppg++ -m64 -O2 -fomit-frame-pointer2014091420140907
4040cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014091420140907
4040cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2014091420140907
4040cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014091420140907
4048cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014091420140907
4052cryptoppg++ -O2 -fomit-frame-pointer2014091420140907
4052cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014091420140907
4052cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2014091420140907
4056cryptoppclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014091420140907
4056cryptoppg++ -march=barcelona -O -fomit-frame-pointer2014091420140907
4060cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014091420140907
4060cryptoppg++ -march=nocona -O -fomit-frame-pointer2014091420140907
4068cryptoppclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
4068cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2014091420140907
4072cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2014091420140907
4076cryptoppg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014091420140907
4084cryptoppclang++ -O3 -fomit-frame-pointer2014091420140907
4084cryptoppclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014091420140907
4084cryptoppg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2014091420140907
4096cryptoppg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014091420140907
4096cryptoppg++ -march=k8 -Os -fomit-frame-pointer2014091420140907
4104cryptoppclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014091420140907
4104cryptoppg++ -march=nocona -Os -fomit-frame-pointer2014091420140907
4116cryptoppclang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101820141014
4116cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2014091420140907
4124cryptoppclang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer2014091420140907
4128cryptoppg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014091420140907
4136cryptoppg++ -O -fomit-frame-pointer2014091420140907
4136cryptoppg++ -m64 -O3 -fomit-frame-pointer2014091420140907
4140cryptoppg++ -O3 -fomit-frame-pointer2014091420140907
4152cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2014091420140907
4156cryptoppg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014091420140907
4156cryptoppg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014091420140907
4156cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014091420140907
4156cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2014091420140907
4160cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2014091420140907
4164cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014091420140907
4164cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014091420140907
4168cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2014091420140907
4168cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014091420140907
4176cryptoppg++ -Os -fomit-frame-pointer2014091420140907
4188cryptoppg++ -m64 -Os -fomit-frame-pointer2014091420140907
4208cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2014091420140907
4212cryptoppg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014091420140907
4232cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2014091420140907
4252cryptoppg++ -m64 -O -fomit-frame-pointer2014091420140907
4252cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014091420140907
4264cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014091420140907
5864cryptoppg++2014091420140907

Test failure

Implementation: crypto_stream/aes128ctr/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_stream/aes128ctr/cryptopp
Compiler: clang++ -O3 -fomit-frame-pointer
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
stream.cpp: ^
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
stream.cpp: ^
stream.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_stream/aes128ctr/cryptopp
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
stream.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
stream.cpp: ^
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
stream.cpp: ^
stream.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_stream/aes128ctr/cryptopp
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
stream.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
stream.cpp: ^
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
stream.cpp: ^
stream.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_stream/aes128ctr/cryptopp
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
stream.cpp: ^
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
stream.cpp: ^
stream.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_stream/aes128ctr/cryptopp
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
stream.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
stream.cpp: ^
stream.cpp: In file included from stream.cpp:1:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/aes.h:4:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/rijndael.h:7:
stream.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/seckey.h:9:
stream.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression stream.cpp: if (a stream.cpp: ~ ^ ~
stream.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
stream.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
stream.cpp: ^
stream.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