Implementation notes: amd64, h5nano, crypto_sign/mqqsig256

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig256
TimeImplementationCompilerBenchmark dateSUPERCOP version
275860refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014082420140622
277235refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014082420140622
277900refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014082420140622
278680refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082420140622
279550refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014082420140622
279780refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082420140622
280235refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014082420140622
280715refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014082420140622
280960refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082420140622
280985refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082420140622
325025refgcc -m64 -march=core2 -O -fomit-frame-pointer2014082420140622
328265refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014082420140622
329840refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014082420140622
330545refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014082420140622
333335refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014082420140622
336530refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082420140622
337860refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014082420140622
339460refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014082420140622
339675refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014082420140622
345020refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082420140622
625775refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014082420140622
629065refgcc -march=barcelona -O3 -fomit-frame-pointer2014082420140622
666900refgcc -m64 -O3 -fomit-frame-pointer2014082420140622
666960refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014082420140622
707125refgcc -march=nocona -O3 -fomit-frame-pointer2014082420140622
707775refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014082420140622
708050refgcc -O3 -fomit-frame-pointer2014082420140622
711855refgcc -march=k8 -O3 -fomit-frame-pointer2014082420140622
713015refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014082420140622
765055refgcc -funroll-loops -O2 -fomit-frame-pointer2014082420140622
765640refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014082420140622
772180refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014082420140622
777090refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014082420140622
777625refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014082420140622
780715refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014082420140622
781010refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014082420140622
858085refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014082420140622
859315refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014082420140622
865715refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014082420140622
869820refgcc -funroll-loops -O -fomit-frame-pointer2014082420140622
871500refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014082420140622
871970refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014082420140622
872160refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014082420140622
873650refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014082420140622
873850refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014082420140622
876690refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014082420140622
880090refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014082420140622
1229020refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014082420140622
1231245refgcc -march=barcelona -O -fomit-frame-pointer2014082420140622
1231860refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014082420140622
1232060refgcc -march=barcelona -O2 -fomit-frame-pointer2014082420140622
1233000refgcc -march=k8 -O2 -fomit-frame-pointer2014082420140622
1233090refgcc -m64 -march=k8 -O -fomit-frame-pointer2014082420140622
1233175refgcc -O2 -fomit-frame-pointer2014082420140622
1234610refgcc -march=k8 -O -fomit-frame-pointer2014082420140622
1235425refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014082420140622
1236970refgcc -fno-schedule-insns -O -fomit-frame-pointer2014082420140622
1237595refgcc -march=nocona -O2 -fomit-frame-pointer2014082420140622
1237755refgcc -m64 -O -fomit-frame-pointer2014082420140622
1239070refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014082420140622
1239105refgcc -O -fomit-frame-pointer2014082420140622
1246400refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014082420140622
1247110refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014082420140622
1248110refgcc -m64 -Os -fomit-frame-pointer2014082420140622
1248745refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014082420140622
1251765refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014082420140622
1251875refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014082420140622
1252240refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014082420140622
1252275refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014082420140622
1253515refgcc -Os -fomit-frame-pointer2014082420140622
1253590refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014082420140622
1253910refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014082420140622
1254410refgcc -march=k8 -Os -fomit-frame-pointer2014082420140622
1254885refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014082420140622
1256210refgcc -march=barcelona -Os -fomit-frame-pointer2014082420140622
1282745refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014102020141014
1285990refclang -O3 -fomit-frame-pointer2014082420140622
1289000refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014082420140622
1289340refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014102020141014
1289820refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014082420140622
1412340refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014082420140622
1413065refgcc -m64 -O2 -fomit-frame-pointer2014082420140622
1431070refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014082420140622
1431735refgcc -march=nocona -Os -fomit-frame-pointer2014082420140622
1433180refgcc -march=nocona -O -fomit-frame-pointer2014082420140622
1436745refgcc -m64 -march=nocona -O -fomit-frame-pointer2014082420140622
1454175refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014082420140622
1460245refgcc -funroll-loops -Os -fomit-frame-pointer2014082420140622
4179545refcc2014082420140622
4181400refgcc2014082420140622
4183825refgcc -funroll-loops2014082420140622

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
keygen.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
keygen.c: clang: warning: argument unused during compilation: '-mavx2'
keygen.c: clang: warning: argument unused during compilation: '-mpclmul'
mqq-sign.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
mqq-sign.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-sign.c: clang: warning: argument unused during compilation: '-mpclmul'
mqq-verify.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
mqq-verify.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-verify.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning 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 ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
keygen.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
keygen.c: clang: warning: argument unused during compilation: '-mavx2'
keygen.c: clang: warning: argument unused during compilation: '-mpclmul'
keygen.c: clang: warning: argument unused during compilation: '-fpolly'
keygen.c: clang: warning: argument unused during compilation: '-fvectorize'
keygen.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
keygen.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
mqq-sign.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
mqq-sign.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-sign.c: clang: warning: argument unused during compilation: '-mpclmul'
mqq-sign.c: clang: warning: argument unused during compilation: '-fpolly'
mqq-sign.c: clang: warning: argument unused during compilation: '-fvectorize'
mqq-sign.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
mqq-sign.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
mqq-verify.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
mqq-verify.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-verify.c: clang: warning: argument unused during compilation: '-mpclmul'
mqq-verify.c: clang: warning: argument unused during compilation: '-fpolly'
mqq-verify.c: clang: warning: argument unused during compilation: '-fvectorize'
mqq-verify.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
mqq-verify.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
keygen.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-sign.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-verify.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
keygen.c: clang: warning: argument unused during compilation: '-mavx2'
keygen.c: clang: warning: argument unused during compilation: '-fpolly'
keygen.c: clang: warning: argument unused during compilation: '-fvectorize'
keygen.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
keygen.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
mqq-sign.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-sign.c: clang: warning: argument unused during compilation: '-fpolly'
mqq-sign.c: clang: warning: argument unused during compilation: '-fvectorize'
mqq-sign.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
mqq-sign.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
mqq-verify.c: clang: warning: argument unused during compilation: '-mavx2'
mqq-verify.c: clang: warning: argument unused during compilation: '-fpolly'
mqq-verify.c: clang: warning: argument unused during compilation: '-fvectorize'
mqq-verify.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
mqq-verify.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 184 bytes after a total of 45928448 bytes

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 136 bytes after a total of 45694976 bytes

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1032 bytes after a total of 40624128 bytes

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1032 bytes after a total of 40656896 bytes

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 320 bytes after a total of 45694976 bytes

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1024 bytes after a total of 40611840 bytes

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 296 bytes after a total of 45662208 bytes

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref