Implementation notes: amd64, mangetsu, crypto_dh/sclaus1024

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_dh
Primitive: sclaus1024
TimeImplementationCompilerBenchmark dateSUPERCOP version
1471600cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2014092620140907
1473728cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2014092620140907
1475964cryptoppg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014092620140907
1476568cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2014092620140907
1476764cryptoppg++ -O3 -fomit-frame-pointer2014092620140907
1477908cryptoppclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
1479504cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014092620140907
1480252cryptoppclang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101820141014
1481236cryptoppclang++ -O3 -fomit-frame-pointer2014092620140907
1481276cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014092620140907
1481468cryptoppg++ -m64 -O2 -fomit-frame-pointer2014092620140907
1482176cryptoppg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2014092620140907
1482656cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014092620140907
1482804cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014092620140907
1483224cryptoppg++ -m64 -O -fomit-frame-pointer2014092620140907
1483428cryptoppg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014092620140907
1483864cryptoppclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
1484864cryptoppg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014092620140907
1484876cryptoppg++ -m64 -march=corei7 -O -fomit-frame-pointer2014092620140907
1485600cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2014092620140907
1485916cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014092620140907
1486204cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014092620140907
1486532cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2014092620140907
1486740cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014092620140907
1487648cryptoppg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014092620140907
1487720cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2014092620140907
1487776cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014092620140907
1488936cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2014092620140907
1489736cryptoppg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014092620140907
1489860cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014092620140907
1490464cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014092620140907
1490572cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2014092620140907
1490616cryptoppg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014092620140907
1490632cryptoppg++ -m64 -Os -fomit-frame-pointer2014092620140907
1491460cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2014092620140907
1491484cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014092620140907
1491820cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014092620140907
1491984cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014092620140907
1492228cryptoppclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014092620140907
1492424cryptoppg++ -march=barcelona -O -fomit-frame-pointer2014092620140907
1492488cryptoppg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014092620140907
1492672cryptoppg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014092620140907
1492756cryptoppg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014092620140907
1492756cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014092620140907
1492860cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2014092620140907
1492880cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014092620140907
1493216cryptoppclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014092620140907
1493252cryptoppg++ -m64 -O3 -fomit-frame-pointer2014092620140907
1493720cryptoppclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014092620140907
1494760cryptoppg++ -O -fomit-frame-pointer2014092620140907
1496192cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014092620140907
1496896cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014092620140907
1497268cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2014092620140907
1497408cryptoppg++ -O2 -fomit-frame-pointer2014092620140907
1497472cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2014092620140907
1497584cryptoppg++ -march=k8 -O -fomit-frame-pointer2014092620140907
1498080cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2014092620140907
1498692cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2014092620140907
1499836cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2014092620140907
1500400cryptoppg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014092620140907
1501288cryptoppg++ -march=nocona -Os -fomit-frame-pointer2014092620140907
1501560cryptoppg++ -Os -fomit-frame-pointer2014092620140907
1508576cryptoppclang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer2014092620140907
1508796cryptoppg++ -march=k8 -Os -fomit-frame-pointer2014092620140907
1509356cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2014092620140907
1517744cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014092620140907
1519300cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014092620140907
1520392cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014092620140907
1522452cryptoppg++2014092620140907
1525520cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014092620140907
1526288cryptoppg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014092620140907
1530572cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014092620140907
1534936cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014092620140907
1545820cryptoppg++ -march=nocona -O -fomit-frame-pointer2014092620140907
1546524cryptoppg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014092620140907
1547068cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014092620140907
1548156cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014092620140907
1553036cryptoppclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014092620140907

Test failure

Implementation: crypto_dh/sclaus1024/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_dh/sclaus1024/cryptopp
Compiler: clang++ -O3 -fomit-frame-pointer
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
keypair.cpp: ^
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
keypair.cpp: ^
keypair.cpp: 2 warnings generated.
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
sharedsecret.cpp: ^
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
sharedsecret.cpp: ^
sharedsecret.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_dh/sclaus1024/gmp
Compiler: clang++ -O3 -fomit-frame-pointer
keypair.cpp: keypair.cpp:1:10: fatal error: 'gmpxx.h' file not found
keypair.cpp: #include gt;
keypair.cpp: ^
keypair.cpp: 1 error generated.

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

Compiler output

Implementation: crypto_dh/sclaus1024/cryptopp
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
keypair.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
keypair.cpp: ^
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
keypair.cpp: ^
keypair.cpp: 2 warnings generated.
sharedsecret.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
sharedsecret.cpp: ^
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20140907/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
sharedsecret.cpp: ^
sharedsecret.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_dh/sclaus1024/gmp
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
keypair.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
keypair.cpp: keypair.cpp:1:10: fatal error: 'gmpxx.h' file not found
keypair.cpp: #include gt;
keypair.cpp: ^
keypair.cpp: 1 error generated.

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

Compiler output

Implementation: crypto_dh/sclaus1024/cryptopp
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
keypair.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
keypair.cpp: ^
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
keypair.cpp: ^
keypair.cpp: 2 warnings generated.
sharedsecret.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
sharedsecret.cpp: ^
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
sharedsecret.cpp: ^
sharedsecret.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_dh/sclaus1024/gmp
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
keypair.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
keypair.cpp: keypair.cpp:1:10: fatal error: 'gmpxx.h' file not found
keypair.cpp: #include gt;
keypair.cpp: ^
keypair.cpp: 1 error 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 gmp

Compiler output

Implementation: crypto_dh/sclaus1024/cryptopp
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
keypair.cpp: ^
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
keypair.cpp: ^
keypair.cpp: 2 warnings generated.
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
sharedsecret.cpp: ^
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
sharedsecret.cpp: ^
sharedsecret.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_dh/sclaus1024/cryptopp
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
keypair.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
keypair.cpp: ^
keypair.cpp: In file included from keypair.cpp:1:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
keypair.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
keypair.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression keypair.cpp: if (a keypair.cpp: ~ ^ ~
keypair.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
keypair.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
keypair.cpp: ^
keypair.cpp: 2 warnings generated.
sharedsecret.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
sharedsecret.cpp: ^
sharedsecret.cpp: In file included from sharedsecret.cpp:1:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/dh.h:7:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/gfpcrypt.h:8:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/pubkey.h:35:
sharedsecret.cpp: In file included from /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/modarith.h:7:
sharedsecret.cpp: /home/benchmark/supercop-20141014/supercop-data/mangetsu/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression sharedsecret.cpp: if (a sharedsecret.cpp: ~ ^ ~
sharedsecret.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
sharedsecret.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
sharedsecret.cpp: ^
sharedsecret.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

Compiler output

Implementation: crypto_dh/sclaus1024/gmp
Compiler: g++
keypair.cpp: keypair.cpp:1:19: fatal error: gmpxx.h: No such file or directory
keypair.cpp: #include gt;
keypair.cpp: ^
keypair.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
g++ gmp
g++ -O2 -fomit-frame-pointer gmp
g++ -O3 -fomit-frame-pointer gmp
g++ -O -fomit-frame-pointer gmp
g++ -Os -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O2 -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O3 -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O -fomit-frame-pointer gmp
g++ -fno-schedule-insns -Os -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer gmp
g++ -m64 -O2 -fomit-frame-pointer gmp
g++ -m64 -O3 -fomit-frame-pointer gmp
g++ -m64 -O -fomit-frame-pointer gmp
g++ -m64 -Os -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -Os -fomit-frame-pointer gmp
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer gmp
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer gmp
g++ -m64 -march=core2 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -O -fomit-frame-pointer gmp
g++ -m64 -march=core2 -Os -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -O -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -O -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -Os -fomit-frame-pointer gmp
g++ -m64 -march=k8 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=k8 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=k8 -O -fomit-frame-pointer gmp
g++ -m64 -march=k8 -Os -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer gmp
g++ -m64 -march=nocona -O2 -fomit-frame-pointer gmp
g++ -m64 -march=nocona -O3 -fomit-frame-pointer gmp
g++ -m64 -march=nocona -O -fomit-frame-pointer gmp
g++ -m64 -march=nocona -Os -fomit-frame-pointer gmp
g++ -march=barcelona -O2 -fomit-frame-pointer gmp
g++ -march=barcelona -O3 -fomit-frame-pointer gmp
g++ -march=barcelona -O -fomit-frame-pointer gmp
g++ -march=barcelona -Os -fomit-frame-pointer gmp
g++ -march=k8 -O2 -fomit-frame-pointer gmp
g++ -march=k8 -O3 -fomit-frame-pointer gmp
g++ -march=k8 -O -fomit-frame-pointer gmp
g++ -march=k8 -Os -fomit-frame-pointer gmp
g++ -march=nocona -O2 -fomit-frame-pointer gmp
g++ -march=nocona -O3 -fomit-frame-pointer gmp
g++ -march=nocona -O -fomit-frame-pointer gmp
g++ -march=nocona -Os -fomit-frame-pointer gmp

Compiler output

Implementation: crypto_dh/sclaus1024/gmp
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
keypair.cpp: keypair.cpp:1:19: fatal error: gmpxx.h: No such file or directory
keypair.cpp: #include gt;
keypair.cpp: ^
keypair.cpp: compilation terminated.
keypair.cpp: keypair.cpp:1:19: fatal error: gmpxx.h: No such file or directory
keypair.cpp: #include gt;
keypair.cpp: ^
keypair.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -m64 -march=barcelona -O2 -fomit-frame-pointer gmp
g++ -m64 -march=barcelona -O3 -fomit-frame-pointer gmp
g++ -m64 -march=barcelona -O -fomit-frame-pointer gmp
g++ -m64 -march=barcelona -Os -fomit-frame-pointer gmp