Implementation notes: x86, h5nano, crypto_sign/mqqsig256

Computer: h5nano
Architecture: x86
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig256
TimeImplementationCompilerBenchmark dateSUPERCOP version
472480refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014082420140622
474210refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082420140622
479955refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2014082420140622
482885refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014082420140622
483200refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082420140622
484325refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2014082420140622
487870refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082420140622
489315refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2014082420140622
490290refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2014082420140622
491330refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082420140622
512250refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2014082420140622
525380refgcc -m32 -march=corei7 -O -fomit-frame-pointer2014082420140622
526925refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2014082420140622
528155refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082420140622
536375refgcc -m32 -march=core2 -O -fomit-frame-pointer2014082420140622
539925refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2014082420140622
548465refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2014082420140622
550035refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082420140622
550530refgcc -m32 -march=core2 -Os -fomit-frame-pointer2014082420140622
550555refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2014082420140622
574305refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2014082420140622
588110refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2014082520140622
654220refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2014082520140622
657115refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2014082520140622
670545refgcc -m32 -O3 -fomit-frame-pointer2014082420140622
679570refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2014082520140622
682595refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2014082520140622
686520refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2014082520140622
712495refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2014082520140622
714110refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2014082420140622
716125refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2014082420140622
827750refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2014082520140622
884705refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2014082420140622
898855refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2014082420140622
943810refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2014082520140622
950845refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2014082520140622
962755refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2014082520140622
989465refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2014082520140622
996120refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2014082520140622
1005280refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2014082520140622
1013615refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2014082520140622
1056615refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2014082520140622
1059135refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2014082520140622
1059680refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2014082520140622
1060850refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2014082520140622
1062595refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014082520140622
1096000refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2014082520140622
1096325refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2014082520140622
1096560refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2014082520140622
1098175refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2014082520140622
1099520refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2014082520140622
1107155refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2014082520140622
1112425refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2014082520140622
1113480refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2014082520140622
1114510refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2014082520140622
1115160refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2014082520140622
1117375refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2014082520140622
1120495refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2014082520140622
1121180refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2014082520140622
1121410refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2014082520140622
1128260refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2014082520140622
1130680refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2014082520140622
1133080refgcc -funroll-loops -m32 -O -fomit-frame-pointer2014082520140622
1152360refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2014082520140622
1155920refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2014082520140622
1157630refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2014082520140622
1157775refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2014082520140622
1164910refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2014082520140622
1168550refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2014082520140622
1264085refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2014082520140622
1266465refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2014082520140622
1266935refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014082520140622
1268210refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2014082520140622
1271545refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2014082520140622
1280285refgcc -m32 -O2 -fomit-frame-pointer2014082420140622
1281900refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2014082420140622
1282460refgcc -m32 -march=barcelona -O -fomit-frame-pointer2014082420140622
1284540refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2014082420140622
1287625refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2014082420140622
1296290refgcc -m32 -march=k8 -O -fomit-frame-pointer2014082420140622
1427710refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2014082520140622
1428765refgcc -m32 -march=prescott -O -fomit-frame-pointer2014082520140622
1430615refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2014082420140622
1432780refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2014082520140622
1433670refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2014082520140622
1434020refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2014082520140622
1436330refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2014082520140622
1437445refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2014082520140622
1438295refgcc -m32 -march=nocona -O -fomit-frame-pointer2014082520140622
1439235refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2014082520140622
1442080refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2014082520140622
1442485refgcc -m32 -O -fomit-frame-pointer2014082420140622
1454525refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2014082520140622
1455625refgcc -m32 -march=athlon -O -fomit-frame-pointer2014082420140622
1465140refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2014082520140622
1468670refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2014082520140622
1469385refgcc -m32 -march=i486 -Os -fomit-frame-pointer2014082520140622
1470410refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2014082520140622
1471620refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2014082520140622
1473815refgcc -m32 -march=nocona -Os -fomit-frame-pointer2014082520140622
1476440refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014082520140622
1477555refgcc -m32 -march=prescott -Os -fomit-frame-pointer2014082520140622
1478155refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2014082520140622
1478315refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014082520140622
1478410refgcc -m32 -march=i386 -Os -fomit-frame-pointer2014082520140622
1479050refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2014082520140622
1481125refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2014082520140622
1481345refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2014082520140622
1482250refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2014082520140622
1482410refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2014082520140622
1483360refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2014082520140622
1485665refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2014082520140622
1486925refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2014082520140622
1487525refgcc -m32 -march=k8 -Os -fomit-frame-pointer2014082420140622
1487700refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2014082520140622
1488215refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2014082420140622
1503970refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2014082520140622
1505030refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2014082520140622
1506525refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2014082520140622
1509415refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2014082520140622
1511650refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2014082520140622
1512005refgcc -m32 -Os -fomit-frame-pointer2014082420140622
1517635refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2014082520140622
1517870refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2014082520140622
1527710refgcc -m32 -march=athlon -Os -fomit-frame-pointer2014082420140622
1536925refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2014082520140622
1538430refgcc -m32 -march=i386 -O -fomit-frame-pointer2014082520140622
1541965refgcc -m32 -march=pentium -O -fomit-frame-pointer2014082520140622
1542075refgcc -m32 -march=i486 -O -fomit-frame-pointer2014082520140622
1597685refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2014082420140622
1605600refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2014082520140622
1605725refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2014082420140622
1635840refgcc -m32 -march=k6 -O -fomit-frame-pointer2014082520140622
1665120refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2014082520140622
1672360refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2014082520140622
1679835refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2014082520140622
1680685refgcc -m32 -march=pentium -Os -fomit-frame-pointer2014082520140622
1683635refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2014082520140622
1691445refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2014082520140622
1693685refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2014082520140622
1694310refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2014082520140622
1697915refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014082520140622
1700325refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2014082420140622
1701660refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2014082420140622
1702610refgcc -m32 -march=k6 -Os -fomit-frame-pointer2014082520140622
1722145refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2014082520140622
1724150refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014082520140622

Test failure

Implementation: crypto_sign/mqqsig256/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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -O3 -fomit-frame-pointer
keygen.c: virtual memory exhausted: Cannot allocate memory

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -m32 -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

Compiler output

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

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

Compiler output

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1104 bytes after a total of 35127296 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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1072 bytes after a total of 31309824 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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1072 bytes after a total of 31289344 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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1104 bytes after a total of 35123200 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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1552 bytes after a total of 40390656 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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1120 bytes after a total of 40452096 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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1240 bytes after a total of 40464384 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/mqqsig256/ref
Compiler: gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1552 bytes after a total of 40435712 bytes

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