Implementation notes: amd64, h5nano, crypto_sign/mqqsig192

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig192
TimeImplementationCompilerBenchmark dateSUPERCOP version
187885refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014082220140622
188035refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014082220140622
188205refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082220140622
188235refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014082220140622
188575refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082220140622
188690refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082220140622
188840refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014082220140622
189270refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014082220140622
189415refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082220140622
189650refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014082220140622
202205refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014082220140622
203610refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082220140622
209305refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014082220140622
210955refgcc -m64 -march=core2 -O -fomit-frame-pointer2014082220140622
211935refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014082220140622
214005refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014082220140622
214820refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014082220140622
215120refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014082220140622
216415refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082220140622
217255refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014082220140622
385990refgcc -march=barcelona -O3 -fomit-frame-pointer2014082220140622
389515refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014082220140622
394830refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014082220140622
395665refgcc -march=k8 -O3 -fomit-frame-pointer2014082220140622
400680refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014082220140622
401505refgcc -m64 -O3 -fomit-frame-pointer2014082220140622
405340refgcc -O3 -fomit-frame-pointer2014082220140622
406040refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014082220140622
412610refgcc -march=nocona -O3 -fomit-frame-pointer2014082220140622
440495refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014082220140622
441085refgcc -funroll-loops -O2 -fomit-frame-pointer2014082220140622
443885refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014082220140622
452480refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014082220140622
454150refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014082220140622
454265refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014082220140622
458795refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014082220140622
475730refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014082220140622
476850refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014082220140622
477240refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014082220140622
477575refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014082220140622
478940refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014082220140622
479495refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014082220140622
479565refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014082220140622
481490refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014082220140622
488300refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014082220140622
492585refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014082220140622
497885refgcc -funroll-loops -O -fomit-frame-pointer2014082220140622
655895refgcc -march=k8 -O -fomit-frame-pointer2014082220140622
656200refgcc -m64 -march=k8 -O -fomit-frame-pointer2014082220140622
656740refgcc -march=k8 -O2 -fomit-frame-pointer2014082220140622
657390refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014082220140622
658310refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014082220140622
660100refgcc -march=barcelona -O2 -fomit-frame-pointer2014082220140622
662775refgcc -fno-schedule-insns -O -fomit-frame-pointer2014082220140622
662850refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014082220140622
662930refgcc -O -fomit-frame-pointer2014082220140622
663935refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014082220140622
664010refgcc -m64 -O -fomit-frame-pointer2014082220140622
664915refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014082220140622
664945refgcc -funroll-loops -Os -fomit-frame-pointer2014082220140622
664980refgcc -march=barcelona -O -fomit-frame-pointer2014082220140622
665130refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014082220140622
665145refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014082220140622
665280refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014082220140622
665355refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014082220140622
665540refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014082220140622
665730refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014082220140622
671670refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014082220140622
672465refgcc -march=nocona -Os -fomit-frame-pointer2014082220140622
674300refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014082220140622
674640refgcc -m64 -Os -fomit-frame-pointer2014082220140622
674840refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014082220140622
674940refgcc -Os -fomit-frame-pointer2014082220140622
675540refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014082220140622
675670refgcc -march=barcelona -Os -fomit-frame-pointer2014082220140622
676045refgcc -march=nocona -O2 -fomit-frame-pointer2014082220140622
676855refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014082220140622
678475refgcc -O2 -fomit-frame-pointer2014082220140622
678920refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014082220140622
679245refgcc -m64 -O2 -fomit-frame-pointer2014082220140622
683060refgcc -march=k8 -Os -fomit-frame-pointer2014082220140622
698915refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014102020141014
698995refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014082220140622
700045refclang -O3 -fomit-frame-pointer2014082220140622
704625refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014082220140622
704980refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014102020141014
753765refgcc -m64 -march=nocona -O -fomit-frame-pointer2014082220140622
755385refgcc -march=nocona -O -fomit-frame-pointer2014082220140622
2177045refgcc2014082220140622
2177925refcc2014082220140622
2177975refgcc -funroll-loops2014082220140622

Compiler output

Implementation: crypto_sign/mqqsig192/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/mqqsig192/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/mqqsig192/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/mqqsig192/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/mqqsig192/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/mqqsig192/ref
Compiler: gcc -funroll-loops -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 656 bytes after a total of 43954176 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig192/ref
Compiler: gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 88 bytes after a total of 43974656 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig192/ref
Compiler: gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1360 bytes after a total of 38637568 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/mqqsig192/ref
Compiler: gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1360 bytes after a total of 38633472 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig192/ref
Compiler: gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1632 bytes after a total of 42618880 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/mqqsig192/ref
Compiler: gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1632 bytes after a total of 42590208 bytes

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