Implementation notes: amd64, h4e350, crypto_sign/mqqsig256

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig256
TimeImplementationCompilerBenchmark dateSUPERCOP version
260640refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080720140622
275832refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080720140622
286350refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080720140622
295512refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080720140622
308418refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080720140622
309759refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080720140622
311133refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080720140622
313905refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080720140622
630498refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080720140622
630990refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080720140622
632916refgcc -march=k8 -O3 -fomit-frame-pointer2014080720140622
637704refgcc -march=barcelona -O3 -fomit-frame-pointer2014080720140622
638886refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080720140622
639042refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080720140622
639510refgcc -O3 -fomit-frame-pointer2014080720140622
642618refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080720140622
643332refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080720140622
646830refgcc -m64 -O3 -fomit-frame-pointer2014080720140622
649752refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080720140622
652311refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080720140622
654486refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080720140622
654588refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080720140622
666498refgcc -funroll-loops -O3 -fomit-frame-pointer2014080720140622
669816refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080720140622
697068refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080720140622
702297refgcc -march=nocona -O3 -fomit-frame-pointer2014080720140622
730410refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080720140622
732201refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080720140622
735078refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080720140622
741138refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080720140622
741213refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080720140622
742125refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080720140622
743670refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080720140622
745113refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080720140622
750120refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080720140622
750216refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080720140622
753402refgcc -funroll-loops -O -fomit-frame-pointer2014080720140622
753603refgcc -funroll-loops -O2 -fomit-frame-pointer2014080720140622
755220refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080720140622
755745refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080720140622
756450refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080720140622
758238refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080720140622
763398refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080720140622
763878refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080720140622
1013898refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080720140622
1017570refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080720140622
1017978refgcc -m64 -O -fomit-frame-pointer2014080720140622
1018122refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080720140622
1019064refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080720140622
1021305refgcc -O -fomit-frame-pointer2014080720140622
1021590refgcc -march=k8 -Os -fomit-frame-pointer2014080720140622
1021641refgcc -march=nocona -Os -fomit-frame-pointer2014080720140622
1021830refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080720140622
1022502refgcc -march=k8 -O2 -fomit-frame-pointer2014080720140622
1023795refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080720140622
1026918refgcc -m64 -O2 -fomit-frame-pointer2014080720140622
1029150refgcc -Os -fomit-frame-pointer2014080720140622
1029912refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080720140622
1030374refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080720140622
1031412refgcc -O2 -fomit-frame-pointer2014080720140622
1031604refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080720140622
1033227refgcc -march=k8 -O -fomit-frame-pointer2014080720140622
1034682refgcc -march=barcelona -O -fomit-frame-pointer2014080720140622
1035690refgcc -m64 -Os -fomit-frame-pointer2014080720140622
1037106refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080720140622
1037796refgcc -march=barcelona -O2 -fomit-frame-pointer2014080720140622
1042968refgcc -march=barcelona -Os -fomit-frame-pointer2014080720140622
1074921refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080720140622
1075182refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080720140622
1076448refclang -O3 -fomit-frame-pointer2014080720140622
1076589refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101920141014
1079808refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
1102656refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080720140622
1104336refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080720140622
1107159refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080720140622
1107546refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080720140622
1109586refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080720140622
1109958refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080720140622
1110714refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080720140622
1114134refgcc -funroll-loops -Os -fomit-frame-pointer2014080720140622
1114998refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080720140622
1122078refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080720140622
1131366refgcc -march=nocona -O -fomit-frame-pointer2014080720140622
1564896refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080720140622
1581843refgcc -march=nocona -O2 -fomit-frame-pointer2014080720140622
4551858refgcc -funroll-loops2014080720140622
4553376refcc2014080720140622
4559790refgcc2014080720140622

Test failure

Implementation: crypto_sign/mqqsig256/ref
Compiler: gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig256/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/mqqsig256/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/mqqsig256/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/mqqsig256/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/mqqsig256/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