Implementation notes: amd64, h4e350, crypto_sign/mqqsig160

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig160
TimeImplementationCompilerBenchmark dateSUPERCOP version
124272refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080620140622
124707refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080620140622
125118refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080620140622
125856refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080620140622
127218refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080620140622
127299refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080620140622
128049refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080620140622
128472refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080620140622
209091refgcc -funroll-loops -O3 -fomit-frame-pointer2014080620140622
209499refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080620140622
209514refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080620140622
209676refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080620140622
209733refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080620140622
209808refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080620140622
209808refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080620140622
209811refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080620140622
209928refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080620140622
219708refgcc -march=barcelona -O3 -fomit-frame-pointer2014080620140622
220059refgcc -march=k8 -O3 -fomit-frame-pointer2014080620140622
220104refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080620140622
220143refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080620140622
220233refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080620140622
221064refgcc -O3 -fomit-frame-pointer2014080620140622
221535refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080620140622
221772refgcc -march=nocona -O3 -fomit-frame-pointer2014080620140622
224160refgcc -m64 -O3 -fomit-frame-pointer2014080620140622
235764refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080620140622
235968refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080620140622
236430refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101920141014
236793refclang -O3 -fomit-frame-pointer2014080620140622
239586refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
244278refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080620140622
244587refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080620140622
244677refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080620140622
244755refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080620140622
250203refgcc -funroll-loops -O2 -fomit-frame-pointer2014080620140622
250473refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080620140622
250557refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080620140622
252276refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080620140622
253836refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080620140622
254151refgcc -funroll-loops -O -fomit-frame-pointer2014080620140622
254157refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080620140622
254289refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080620140622
254343refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080620140622
255663refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080620140622
255768refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080620140622
256428refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080620140622
260802refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080620140622
261168refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080620140622
296862refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080620140622
297114refgcc -O -fomit-frame-pointer2014080620140622
299646refgcc -m64 -O -fomit-frame-pointer2014080620140622
306780refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080620140622
308895refgcc -march=k8 -O2 -fomit-frame-pointer2014080620140622
309144refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080620140622
310155refgcc -march=nocona -O2 -fomit-frame-pointer2014080620140622
313725refgcc -O2 -fomit-frame-pointer2014080620140622
314091refgcc -march=barcelona -O2 -fomit-frame-pointer2014080620140622
314358refgcc -m64 -O2 -fomit-frame-pointer2014080620140622
314472refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080620140622
315375refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080620140622
315858refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080620140622
315963refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080620140622
316221refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080620140622
316230refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080620140622
316419refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080620140622
316476refgcc -funroll-loops -Os -fomit-frame-pointer2014080620140622
317463refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080620140622
317499refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080620140622
318483refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080620140622
318621refgcc -march=nocona -Os -fomit-frame-pointer2014080620140622
319389refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080620140622
321951refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080620140622
321978refgcc -march=barcelona -Os -fomit-frame-pointer2014080620140622
321990refgcc -Os -fomit-frame-pointer2014080620140622
321993refgcc -march=k8 -Os -fomit-frame-pointer2014080620140622
322101refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080620140622
322380refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080620140622
325686refgcc -m64 -Os -fomit-frame-pointer2014080620140622
358197refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080620140622
358527refgcc -march=nocona -O -fomit-frame-pointer2014080620140622
358587refgcc -march=k8 -O -fomit-frame-pointer2014080620140622
359154refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080620140622
360051refgcc -march=barcelona -O -fomit-frame-pointer2014080620140622
360264refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080620140622
1166118refgcc -funroll-loops2014080620140622
1167183refgcc2014080620140622
1170648refcc2014080620140622

Test failure

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