Implementation notes: x86, h5nano, crypto_sign/mqqsig224

Computer: h5nano
Architecture: x86
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig224
TimeImplementationCompilerBenchmark dateSUPERCOP version
460740refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014082320140622
468985refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2014082320140622
471095refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2014082320140622
471825refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082320140622
472910refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082320140622
473320refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082320140622
473645refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2014082320140622
473705refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014082320140622
474315refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2014082320140622
474570refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082320140622
485110refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082320140622
486420refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2014082320140622
488085refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2014082320140622
488435refgcc -m32 -march=core2 -O -fomit-frame-pointer2014082320140622
489510refgcc -m32 -march=corei7 -O -fomit-frame-pointer2014082320140622
521950refgcc -m32 -march=core2 -Os -fomit-frame-pointer2014082320140622
523415refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2014082320140622
523650refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082320140622
523655refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2014082320140622
527410refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2014082320140622
698650refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2014082320140622
726155refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2014082320140622
748060refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2014082320140622
778010refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2014082320140622
786015refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2014082320140622
786690refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2014082320140622
854065refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2014082420140622
858585refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2014082420140622
865075refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2014082420140622
868670refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2014082420140622
869165refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2014082420140622
879735refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2014082420140622
882300refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014082420140622
883120refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2014082420140622
885190refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2014082420140622
886565refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2014082420140622
898185refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2014082420140622
901935refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2014082420140622
905920refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2014082420140622
906030refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2014082420140622
909695refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2014082420140622
910800refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2014082420140622
910860refgcc -funroll-loops -m32 -O -fomit-frame-pointer2014082420140622
913725refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2014082420140622
916430refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2014082420140622
933855refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2014082420140622
934625refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2014082420140622
943210refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2014082420140622
945480refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2014082420140622
946625refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2014082420140622
950475refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2014082420140622
951490refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2014082420140622
959070refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2014082420140622
961330refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2014082420140622
969655refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014082420140622
972090refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2014082420140622
973420refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2014082420140622
976765refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2014082420140622
977510refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2014082420140622
993320refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2014082420140622
1000625refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2014082420140622
1006405refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2014082420140622
1008205refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2014082420140622
1029995refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2014082320140622
1031565refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2014082320140622
1032140refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2014082320140622
1034090refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014082320140622
1035030refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2014082320140622
1037025refgcc -m32 -O2 -fomit-frame-pointer2014082320140622
1041900refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2014082320140622
1043570refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2014082320140622
1043805refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2014082320140622
1043850refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2014082320140622
1048445refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2014082320140622
1057775refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2014082320140622
1067115refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2014082320140622
1106850refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2014082320140622
1162885refgcc -m32 -march=k8 -O -fomit-frame-pointer2014082320140622
1165785refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2014082320140622
1168425refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2014082420140622
1170780refgcc -m32 -march=prescott -O -fomit-frame-pointer2014082320140622
1172970refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2014082320140622
1173425refgcc -m32 -O -fomit-frame-pointer2014082320140622
1177580refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014082420140622
1177830refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2014082420140622
1180525refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2014082320140622
1183625refgcc -m32 -march=i386 -O -fomit-frame-pointer2014082420140622
1186430refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2014082320140622
1186995refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2014082320140622
1187735refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2014082320140622
1189170refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2014082320140622
1190515refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2014082320140622
1192865refgcc -m32 -march=k6 -O -fomit-frame-pointer2014082320140622
1213325refgcc -m32 -march=athlon -O -fomit-frame-pointer2014082320140622
1221190refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2014082320140622
1233245refgcc -m32 -O3 -fomit-frame-pointer2014082320140622
1242090refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2014082420140622
1242610refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2014082420140622
1243615refgcc -m32 -march=pentium -O -fomit-frame-pointer2014082420140622
1246960refgcc -m32 -march=i486 -O -fomit-frame-pointer2014082420140622
1249665refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2014082420140622
1249680refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2014082420140622
1250735refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2014082420140622
1251025refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2014082320140622
1251195refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014082420140622
1251755refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2014082320140622
1252420refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2014082420140622
1252515refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2014082420140622
1252735refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2014082420140622
1254175refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2014082420140622
1254875refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2014082420140622
1255725refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2014082320140622
1256105refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2014082420140622
1256580refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2014082320140622
1256935refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2014082420140622
1258055refgcc -m32 -Os -fomit-frame-pointer2014082320140622
1259895refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2014082320140622
1261050refgcc -m32 -march=k8 -Os -fomit-frame-pointer2014082320140622
1261175refgcc -m32 -march=nocona -Os -fomit-frame-pointer2014082320140622
1263005refgcc -m32 -march=i386 -Os -fomit-frame-pointer2014082420140622
1263360refgcc -m32 -march=prescott -Os -fomit-frame-pointer2014082320140622
1263750refgcc -m32 -march=athlon -Os -fomit-frame-pointer2014082320140622
1264440refgcc -m32 -march=i486 -Os -fomit-frame-pointer2014082420140622
1275170refgcc -m32 -march=barcelona -O -fomit-frame-pointer2014082320140622
1277025refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2014082420140622
1287745refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2014082320140622
1289160refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2014082420140622
1291360refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2014082320140622
1292740refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2014082420140622
1346815refgcc -m32 -march=nocona -O -fomit-frame-pointer2014082320140622
1361080refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2014082320140622
1361355refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2014082320140622
1364405refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2014082420140622
1374845refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2014082320140622
1375550refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2014082420140622
1425565refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2014082320140622
1439140refgcc -m32 -march=k6 -Os -fomit-frame-pointer2014082320140622
1439915refgcc -m32 -march=pentium -Os -fomit-frame-pointer2014082420140622
1458440refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2014082420140622
1468410refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2014082420140622
1476860refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2014082420140622
1480850refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014082320140622
1493520refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2014082420140622
1523925refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2014082320140622
1548735refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2014082420140622

Test failure

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

Number of similar (compiler,implementation) pairs: 10, 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=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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 800 bytes after a total of 34078720 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 616 bytes after a total of 30003200 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 600 bytes after a total of 29872128 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1008 bytes after a total of 34123776 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 800 bytes after a total of 39358464 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1080 bytes after a total of 39440384 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 4064 bytes after a total of 40484864 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1528 bytes after a total of 39403520 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/mqqsig224/ref
Compiler: gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1016 bytes after a total of 39460864 bytes

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