Implementation notes: x86, h5nano, crypto_sign/mqqsig160

Computer: h5nano
Architecture: x86
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig160
TimeImplementationCompilerBenchmark dateSUPERCOP version
329730refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082220140622
330160refgcc -m32 -march=corei7 -O -fomit-frame-pointer2014082220140622
331420refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2014082220140622
332225refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082220140622
332250refgcc -m32 -march=core2 -O -fomit-frame-pointer2014082220140622
332770refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2014082220140622
333285refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2014082220140622
333320refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2014082220140622
333365refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2014082220140622
333455refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082220140622
333780refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082220140622
333940refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014082220140622
334395refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2014082220140622
335090refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014082220140622
336855refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082220140622
345060refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2014082220140622
345560refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082220140622
346495refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2014082220140622
346850refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2014082220140622
348520refgcc -m32 -march=core2 -Os -fomit-frame-pointer2014082220140622
436670refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2014082220140622
437460refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2014082220140622
437755refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2014082220140622
438270refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2014082220140622
438750refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2014082220140622
439965refgcc -m32 -O3 -fomit-frame-pointer2014082220140622
440620refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2014082220140622
440650refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2014082220140622
441000refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2014082220140622
442940refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2014082220140622
444070refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2014082220140622
444385refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2014082220140622
463495refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2014082220140622
470290refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2014082220140622
471950refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2014082220140622
479360refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2014082220140622
481240refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2014082220140622
486235refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2014082220140622
487060refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2014082220140622
488040refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2014082220140622
488980refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2014082220140622
492885refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2014082220140622
492945refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014082220140622
493085refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2014082220140622
493200refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2014082220140622
506000refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2014082220140622
506055refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2014082220140622
506195refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2014082220140622
508385refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2014082220140622
509355refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014082220140622
511155refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2014082220140622
511400refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2014082220140622
512950refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2014082220140622
513950refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2014082220140622
514255refgcc -funroll-loops -m32 -O -fomit-frame-pointer2014082220140622
515890refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2014082220140622
516105refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2014082220140622
516365refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014082220140622
517465refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2014082220140622
517535refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2014082220140622
519130refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2014082220140622
519425refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2014082220140622
519580refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2014082220140622
522520refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2014082220140622
523660refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2014082220140622
525030refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2014082220140622
525620refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2014082220140622
526160refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2014082220140622
526715refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2014082220140622
527260refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2014082220140622
527510refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2014082220140622
530200refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2014082220140622
530390refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2014082220140622
531230refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2014082220140622
531305refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2014082220140622
531650refgcc -m32 -march=barcelona -O -fomit-frame-pointer2014082220140622
532500refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2014082220140622
534175refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2014082220140622
534550refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2014082220140622
534740refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2014082220140622
536735refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2014082220140622
553130refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2014082220140622
553695refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2014082220140622
556095refgcc -m32 -march=k8 -O -fomit-frame-pointer2014082220140622
558465refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2014082220140622
558625refgcc -m32 -march=athlon -O -fomit-frame-pointer2014082220140622
561005refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2014082220140622
561940refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2014082220140622
562010refgcc -m32 -march=nocona -O -fomit-frame-pointer2014082220140622
562355refgcc -m32 -O2 -fomit-frame-pointer2014082220140622
563205refgcc -m32 -O -fomit-frame-pointer2014082220140622
564355refgcc -m32 -march=prescott -O -fomit-frame-pointer2014082220140622
564995refgcc -m32 -march=i386 -O -fomit-frame-pointer2014082220140622
565980refgcc -m32 -march=i486 -O -fomit-frame-pointer2014082220140622
566155refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014082220140622
566270refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2014082220140622
566605refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2014082220140622
567305refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2014082220140622
567655refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2014082220140622
568190refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2014082220140622
568470refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2014082220140622
569600refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2014082220140622
569680refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2014082220140622
572045refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2014082220140622
575540refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2014082220140622
575685refgcc -m32 -march=pentium -O -fomit-frame-pointer2014082220140622
575930refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2014082220140622
576095refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2014082220140622
577130refgcc -m32 -march=k6 -O -fomit-frame-pointer2014082220140622
595455refgcc -m32 -march=i386 -Os -fomit-frame-pointer2014082220140622
595480refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2014082220140622
595785refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014082220140622
596095refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2014082220140622
596235refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2014082220140622
596380refgcc -m32 -march=pentium -Os -fomit-frame-pointer2014082220140622
596475refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2014082220140622
596675refgcc -m32 -march=nocona -Os -fomit-frame-pointer2014082220140622
596860refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2014082220140622
597005refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2014082220140622
597080refgcc -m32 -march=prescott -Os -fomit-frame-pointer2014082220140622
597375refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2014082220140622
597440refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2014082220140622
597505refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2014082220140622
597620refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2014082220140622
597765refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2014082220140622
598170refgcc -m32 -march=i486 -Os -fomit-frame-pointer2014082220140622
598200refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2014082220140622
599315refgcc -m32 -Os -fomit-frame-pointer2014082220140622
599610refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2014082220140622
600135refgcc -m32 -march=k8 -Os -fomit-frame-pointer2014082220140622
600745refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2014082220140622
601100refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2014082220140622
602075refgcc -m32 -march=athlon -Os -fomit-frame-pointer2014082220140622
602335refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014082220140622
602485refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2014082220140622
602785refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2014082220140622
603925refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2014082220140622
604420refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2014082220140622
605065refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2014082220140622
620080refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2014082220140622
627285refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2014082220140622
627475refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2014082220140622
630035refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2014082220140622
630695refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2014082220140622
631750refgcc -m32 -march=k6 -Os -fomit-frame-pointer2014082220140622

Test failure

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -m32 -O3 -fomit-frame-pointer
keygen.c: virtual memory exhausted: Cannot allocate memory

Number of similar (compiler,implementation) pairs: 11, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer ref

Compiler output

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

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1096 bytes after a total of 30969856 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1088 bytes after a total of 30965760 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 584 bytes after a total of 35164160 bytes

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

Compiler output

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

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1360 bytes after a total of 39424000 bytes

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

Compiler output

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

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1104 bytes after a total of 39428096 bytes

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