Implementation notes: amd64, h5nano, crypto_sign/mqqsig224

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig224
TimeImplementationCompilerBenchmark dateSUPERCOP version
262605refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014082320140622
279735refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014082320140622
280700refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082320140622
281065refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014082320140622
282085refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014082320140622
282250refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014082320140622
283225refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082320140622
285005refgcc -m64 -march=core2 -O -fomit-frame-pointer2014082320140622
285295refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082320140622
286470refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082320140622
286645refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014082320140622
287555refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014082320140622
288215refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014082320140622
289320refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014082320140622
290440refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082320140622
290885refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014082320140622
291530refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014082320140622
296030refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014082320140622
296535refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014082320140622
299710refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082320140622
436210refgcc -march=barcelona -O3 -fomit-frame-pointer2014082320140622
491070refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014082320140622
495805refgcc -march=nocona -O3 -fomit-frame-pointer2014082320140622
516885refgcc -m64 -O3 -fomit-frame-pointer2014082320140622
517095refgcc -O3 -fomit-frame-pointer2014082320140622
522790refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014082320140622
631730refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014082320140622
632360refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014082320140622
638105refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014082320140622
638485refgcc -funroll-loops -O2 -fomit-frame-pointer2014082320140622
639225refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014082320140622
675910refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014082320140622
677595refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014082320140622
679685refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014082320140622
685825refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014082320140622
686520refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014082320140622
693300refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014082320140622
694815refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014082320140622
695945refgcc -funroll-loops -O -fomit-frame-pointer2014082320140622
696715refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014082320140622
697060refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014082320140622
697450refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014082320140622
703385refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014082320140622
703995refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014082320140622
958620refgcc -fno-schedule-insns -O -fomit-frame-pointer2014082320140622
961455refgcc -march=nocona -O2 -fomit-frame-pointer2014082320140622
962820refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014082320140622
963015refgcc -march=nocona -Os -fomit-frame-pointer2014082320140622
963825refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014082320140622
964195refgcc -O -fomit-frame-pointer2014082320140622
966280refgcc -m64 -O -fomit-frame-pointer2014082320140622
966625refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014082320140622
967575refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014082320140622
967855refgcc -m64 -Os -fomit-frame-pointer2014082320140622
968030refgcc -march=k8 -Os -fomit-frame-pointer2014082320140622
968085refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014082320140622
968230refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014082320140622
968450refgcc -march=barcelona -Os -fomit-frame-pointer2014082320140622
969395refgcc -march=k8 -O2 -fomit-frame-pointer2014082320140622
970745refgcc -march=barcelona -O2 -fomit-frame-pointer2014082320140622
970800refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014082320140622
971100refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014082320140622
971130refgcc -funroll-loops -Os -fomit-frame-pointer2014082320140622
971215refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014082320140622
971630refgcc -Os -fomit-frame-pointer2014082320140622
971915refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014082320140622
973180refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014082320140622
973345refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014082320140622
973440refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014082320140622
973905refgcc -m64 -march=nocona -O -fomit-frame-pointer2014082320140622
974245refgcc -march=nocona -O -fomit-frame-pointer2014082320140622
975035refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014082320140622
977105refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014082320140622
982710refgcc -O2 -fomit-frame-pointer2014082320140622
983565refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014082320140622
984305refgcc -m64 -O2 -fomit-frame-pointer2014082320140622
1002805refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014102020141014
1003250refclang -O3 -fomit-frame-pointer2014082320140622
1007240refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014082320140622
1007285refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014102020141014
1007670refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014082320140622
1108900refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014082320140622
1111085refgcc -m64 -march=k8 -O -fomit-frame-pointer2014082320140622
1111105refgcc -march=barcelona -O -fomit-frame-pointer2014082320140622
1111165refgcc -march=k8 -O -fomit-frame-pointer2014082320140622
3118420refgcc -funroll-loops2014082320140622
3122305refgcc2014082320140622
3122950refcc2014082320140622

Compiler output

Implementation: crypto_sign/mqqsig224/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/mqqsig224/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/mqqsig224/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/mqqsig224/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/mqqsig224/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/mqqsig224/ref
Compiler: gcc -funroll-loops -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 752 bytes after a total of 44933120 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/mqqsig224/ref
Compiler: gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 648 bytes after a total of 44933120 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1328 bytes after a total of 38486016 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1328 bytes after a total of 38604800 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig224/ref
Compiler: gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1680 bytes after a total of 43569152 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/mqqsig224/ref
Compiler: gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1320 bytes after a total of 38330368 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/mqqsig224/ref
Compiler: gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1328 bytes after a total of 38572032 bytes

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

Compiler output

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

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

Compiler output

Implementation: crypto_sign/mqqsig224/ref
Compiler: gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 2638664 bytes after a total of 36147200 bytes
keygen.c:
keygen.c: cc1: out of memory allocating 2638664 bytes after a total of 36147200 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig224/ref
Compiler: gcc -m64 -march=k8 -O3 -fomit-frame-pointer
keygen.c: virtual memory exhausted: Cannot allocate memory

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