Implementation notes: amd64, mangetsu, crypto_sign/mqqsig192

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: mqqsig192
TimeImplementationCompilerBenchmark dateSUPERCOP version
114668refgcc-4.8 -m64 -march=corei7-avx -Os -fomit-frame-pointer2014092720140907
114736refgcc-4.8 -m64 -march=core2 -Os -fomit-frame-pointer2014092720140907
114960refgcc-4.8 -m64 -march=core-avx-i -Os -fomit-frame-pointer2014092720140907
115104refgcc-4.8 -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014092720140907
115224refgcc-4.8 -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014092720140907
115364refgcc-4.8 -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014092720140907
115588refgcc-4.8 -m64 -march=corei7 -Os -fomit-frame-pointer2014092720140907
117968refgcc-4.7 -m64 -march=core2 -Os -fomit-frame-pointer2014092720140907
118232refgcc-4.7 -m64 -march=core-avx-i -Os -fomit-frame-pointer2014092720140907
118376refgcc-4.7 -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014092720140907
118572refgcc-4.7 -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014092720140907
118588refgcc-4.7 -m64 -march=corei7 -Os -fomit-frame-pointer2014092720140907
118616refgcc-4.7 -m64 -march=corei7-avx -Os -fomit-frame-pointer2014092720140907
118988refgcc-4.7 -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014092720140907
375368refgcc-4.8 -march=k8 -Os -fomit-frame-pointer2014092720140907
375392refgcc-4.8 -march=barcelona -Os -fomit-frame-pointer2014092720140907
375472refgcc-4.8 -m64 -march=nocona -Os -fomit-frame-pointer2014092720140907
375516refgcc-4.8 -march=nocona -Os -fomit-frame-pointer2014092720140907
375588refgcc-4.8 -m64 -march=k8 -Os -fomit-frame-pointer2014092720140907
375640refgcc-4.8 -m64 -Os -fomit-frame-pointer2014092720140907
375896refgcc-4.8 -Os -fomit-frame-pointer2014092720140907
375900refgcc-4.8 -m64 -march=barcelona -Os -fomit-frame-pointer2014092720140907
375980refgcc-4.8 -fno-schedule-insns -Os -fomit-frame-pointer2014092720140907
376208refgcc-4.8 -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014092720140907
376260refgcc-4.8 -funroll-loops -march=k8 -Os -fomit-frame-pointer2014092720140907
376836refgcc-4.8 -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014092720140907
376836refgcc-4.8 -funroll-loops -m64 -Os -fomit-frame-pointer2014092720140907
377084refgcc-4.8 -funroll-loops -Os -fomit-frame-pointer2014092720140907
377100refgcc-4.8 -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014092720140907
377288refgcc-4.8 -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014092720140907
392376refgcc-4.7 -m64 -Os -fomit-frame-pointer2014092720140907
392720refgcc-4.7 -march=barcelona -Os -fomit-frame-pointer2014092720140907
393460refgcc-4.7 -m64 -march=barcelona -Os -fomit-frame-pointer2014092720140907
393836refgcc-4.7 -march=nocona -Os -fomit-frame-pointer2014092720140907
393860refgcc-4.7 -m64 -march=k8 -Os -fomit-frame-pointer2014092720140907
407500refgcc-4.7 -Os -fomit-frame-pointer2014092720140907
408860refgcc-4.7 -fno-schedule-insns -Os -fomit-frame-pointer2014092720140907
409200refgcc-4.7 -m64 -march=nocona -Os -fomit-frame-pointer2014092720140907
409212refgcc-4.7 -march=k8 -Os -fomit-frame-pointer2014092720140907
477008refgcc-4.8 -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014092720140907
480940refgcc-4.8 -funroll-loops -march=nocona -Os -fomit-frame-pointer2014092720140907
487172refgcc-4.7 -funroll-loops -m64 -Os -fomit-frame-pointer2014092720140907
487204refgcc-4.7 -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014092720140907
487388refgcc-4.7 -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014092720140907
487520refgcc-4.7 -funroll-loops -march=nocona -Os -fomit-frame-pointer2014092720140907
487552refgcc-4.7 -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014092720140907
487744refgcc-4.7 -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014092720140907
487772refgcc-4.7 -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014092720140907
488188refgcc-4.7 -funroll-loops -Os -fomit-frame-pointer2014092720140907
488392refgcc-4.7 -funroll-loops -march=k8 -Os -fomit-frame-pointer2014092720140907

Test failure

Implementation: crypto_sign/mqqsig192/ref
Compiler: cc
error 111
crypto_sign_open does not handle c=t overlap

Number of similar (compiler,implementation) pairs: 156, namely:
CompilerImplementations
cc ref
clang -O3 -fomit-frame-pointer ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer ref
clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
gcc-4.7 ref
gcc-4.7 -O2 -fomit-frame-pointer ref
gcc-4.7 -O3 -fomit-frame-pointer ref
gcc-4.7 -O -fomit-frame-pointer ref
gcc-4.7 -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc-4.7 -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc-4.7 -fno-schedule-insns -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops ref
gcc-4.7 -funroll-loops -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc-4.7 -m64 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=nocona -O -fomit-frame-pointer ref
gcc-4.7 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.7 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.7 -march=barcelona -O -fomit-frame-pointer ref
gcc-4.7 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -march=nocona -O -fomit-frame-pointer ref
gcc-4.8 ref
gcc-4.8 -O2 -fomit-frame-pointer ref
gcc-4.8 -O3 -fomit-frame-pointer ref
gcc-4.8 -O -fomit-frame-pointer ref
gcc-4.8 -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc-4.8 -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc-4.8 -fno-schedule-insns -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops ref
gcc-4.8 -funroll-loops -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.8 -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc-4.8 -m64 -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=k8 -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=nocona -O -fomit-frame-pointer ref
gcc-4.8 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.8 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.8 -march=barcelona -O -fomit-frame-pointer ref
gcc-4.8 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.8 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.8 -march=k8 -O -fomit-frame-pointer ref
gcc-4.8 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.8 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.8 -march=nocona -O -fomit-frame-pointer ref

Test failure

Implementation: crypto_sign/mqqsig192/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_sign/mqqsig192/ref
Compiler: gcc-4.7 -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_sign_open does not handle c=t overlap
error 111
crypto_sign_open does not handle c=t overlap

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc-4.7 -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc-4.8 -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.8 -m64 -march=barcelona -O -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/mqqsig192/ref
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
keygen.c: clang-3.3: warning: argument unused during compilation: '-fpolly'
mqq-sign.c: clang-3.3: warning: argument unused during compilation: '-fpolly'
mqq-verify.c: clang-3.3: warning: argument unused during compilation: '-fpolly'

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx -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 -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
keygen.c: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
mqq-sign.c: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
mqq-verify.c: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'

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