Implementation notes: amd64, h5nano, crypto_sign/mqqsig160

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig160
TimeImplementationCompilerBenchmark dateSUPERCOP version
138165refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014082220140622
139270refgcc -m64 -march=core2 -O -fomit-frame-pointer2014082220140622
139660refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082220140622
139680refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014082220140622
139840refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082220140622
139860refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082220140622
140555refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014082220140622
141605refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082220140622
141975refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014082220140622
141990refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014082220140622
142110refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082220140622
142240refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014082220140622
142240refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014082220140622
142260refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014082220140622
142985refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014082220140622
143430refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082220140622
144175refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014082220140622
144390refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014082220140622
144530refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014082220140622
145545refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014082220140622
239255refgcc -march=barcelona -O3 -fomit-frame-pointer2014082220140622
239565refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014082220140622
239750refgcc -m64 -O3 -fomit-frame-pointer2014082220140622
240120refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014082220140622
241285refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014082220140622
241405refgcc -march=nocona -O3 -fomit-frame-pointer2014082220140622
242415refgcc -march=k8 -O3 -fomit-frame-pointer2014082220140622
242765refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014082220140622
244430refgcc -O3 -fomit-frame-pointer2014082220140622
248190refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014102020141014
248890refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014102020141014
249725refclang -O3 -fomit-frame-pointer2014082220140622
250920refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014082220140622
251685refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014082220140622
263120refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014082220140622
263415refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014082220140622
263640refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014082220140622
263650refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014082220140622
264005refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014082220140622
264080refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014082220140622
264295refgcc -funroll-loops -O2 -fomit-frame-pointer2014082220140622
279685refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014082220140622
279930refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014082220140622
280090refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014082220140622
280515refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014082220140622
280840refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014082220140622
280975refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014082220140622
281275refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014082220140622
281305refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014082220140622
281530refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014082220140622
281540refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014082220140622
281905refgcc -funroll-loops -O -fomit-frame-pointer2014082220140622
359835refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014082220140622
363895refgcc -O -fomit-frame-pointer2014082220140622
364110refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014082220140622
364235refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014082220140622
365715refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014082220140622
365820refgcc -march=nocona -O2 -fomit-frame-pointer2014082220140622
366010refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014082220140622
366180refgcc -funroll-loops -Os -fomit-frame-pointer2014082220140622
366790refgcc -m64 -O -fomit-frame-pointer2014082220140622
366810refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014082220140622
366865refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014082220140622
366910refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014082220140622
368360refgcc -fno-schedule-insns -O -fomit-frame-pointer2014082220140622
369425refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014082220140622
372290refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014082220140622
374205refgcc -m64 -O2 -fomit-frame-pointer2014082220140622
374230refgcc -march=barcelona -O2 -fomit-frame-pointer2014082220140622
374660refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014082220140622
374795refgcc -O2 -fomit-frame-pointer2014082220140622
375220refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014082220140622
375780refgcc -march=k8 -O2 -fomit-frame-pointer2014082220140622
379450refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014082220140622
380755refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014082220140622
380780refgcc -march=nocona -Os -fomit-frame-pointer2014082220140622
381360refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014082220140622
381390refgcc -march=barcelona -Os -fomit-frame-pointer2014082220140622
381675refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014082220140622
381690refgcc -m64 -Os -fomit-frame-pointer2014082220140622
381845refgcc -march=k8 -Os -fomit-frame-pointer2014082220140622
382095refgcc -Os -fomit-frame-pointer2014082220140622
420700refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014082220140622
420995refgcc -m64 -march=k8 -O -fomit-frame-pointer2014082220140622
421395refgcc -march=barcelona -O -fomit-frame-pointer2014082220140622
421810refgcc -march=k8 -O -fomit-frame-pointer2014082220140622
423095refgcc -m64 -march=nocona -O -fomit-frame-pointer2014082220140622
423525refgcc -march=nocona -O -fomit-frame-pointer2014082220140622
1010295refgcc -funroll-loops2014082220140622
1011240refgcc2014082220140622
1013460refcc2014082220140622

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1168 bytes after a total of 44703744 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 1168 bytes after a total of 44736512 bytes

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

Compiler output

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

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 552 bytes after a total of 43671552 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/mqqsig160/ref
Compiler: gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 168 bytes after a total of 39342080 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 920 bytes after a total of 39309312 bytes

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

Compiler output

Implementation: crypto_sign/mqqsig160/ref
Compiler: gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
keygen.c:
keygen.c: cc1: out of memory allocating 576 bytes after a total of 43696128 bytes

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