Implementation notes: amd64, h5nano, crypto_sign/ntrumls401x

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: ntrumls401x
TimeImplementationCompilerBenchmark dateSUPERCOP version
3035275refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014082520140622
3039535refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014082520140622
3043260refgcc -funroll-loops -O3 -fomit-frame-pointer2014082520140622
3095525refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014082520140622
3096960refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014082520140622
3096995refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014082520140622
3097890refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014082520140622
3098265refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014082520140622
3101170refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014082520140622
3103545refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014082520140622
3105445refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014082520140622
3116600refgcc -funroll-loops -O2 -fomit-frame-pointer2014082520140622
3150670refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014082520140622
3161275refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014082520140622
3263150refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014082520140622
3291915refgcc -march=barcelona -O2 -fomit-frame-pointer2014082520140622
3293665refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014082520140622
3297670refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014082520140622
3300255refgcc -march=k8 -O2 -fomit-frame-pointer2014082520140622
3319190refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014082520140622
3322550refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014082520140622
3329150refclang -O3 -fomit-frame-pointer2014082520140622
3330195refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014102020141014
3332410refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014102020141014
3339180refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014082520140622
3341735refgcc -march=nocona -O2 -fomit-frame-pointer2014082520140622
3454135refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014082520140622
3454460refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014082520140622
3458510refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014082520140622
3460680refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082520140622
3461575refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014082520140622
3462110refgcc -O3 -fomit-frame-pointer2014082520140622
3462930refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014082520140622
3463365refgcc -m64 -O3 -fomit-frame-pointer2014082520140622
3463770refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014082520140622
3473875refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014082520140622
3475915refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014082520140622
3475975refgcc -funroll-loops -O -fomit-frame-pointer2014082520140622
3476835refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014082520140622
3476925refgcc -march=nocona -O3 -fomit-frame-pointer2014082520140622
3477075refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014082520140622
3478445refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014082520140622
3485305refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014082520140622
3546630refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014082520140622
3548420refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014082520140622
3548485refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014082520140622
3549065refgcc -m64 -O2 -fomit-frame-pointer2014082520140622
3549840refgcc -O2 -fomit-frame-pointer2014082520140622
3550045refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082520140622
3556670refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014082520140622
3594215refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014082520140622
3597145refgcc -march=barcelona -O3 -fomit-frame-pointer2014082520140622
3599375refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014082520140622
3614565refgcc -march=k8 -O3 -fomit-frame-pointer2014082520140622
3634225refgcc -O -fomit-frame-pointer2014082520140622
3634455refgcc -m64 -O -fomit-frame-pointer2014082520140622
3637880refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014082520140622
3638780refgcc -m64 -march=core2 -O -fomit-frame-pointer2014082520140622
3643535refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014082520140622
3648655refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014082520140622
3650810refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082520140622
3668910refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014082520140622
3670835refgcc -march=k8 -O -fomit-frame-pointer2014082520140622
3680585refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082520140622
3693665refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082520140622
3695675refgcc -march=nocona -O -fomit-frame-pointer2014082520140622
3707150refgcc -m64 -march=nocona -O -fomit-frame-pointer2014082520140622
3716915refgcc -fno-schedule-insns -O -fomit-frame-pointer2014082520140622
3739715refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014082520140622
3743235refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014082520140622
3743880refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014082520140622
3745275refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014082520140622
3901990refgcc -m64 -march=k8 -O -fomit-frame-pointer2014082520140622
3908585refgcc -march=barcelona -O -fomit-frame-pointer2014082520140622
4482990refgcc -Os -fomit-frame-pointer2014082520140622
4486520refgcc -m64 -Os -fomit-frame-pointer2014082520140622
4488060refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014082520140622
4489220refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014082520140622
4491135refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014082520140622
4491470refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082520140622
4492085refgcc -march=k8 -Os -fomit-frame-pointer2014082520140622
4492895refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014082520140622
4498000refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014082520140622
4500140refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014082520140622
4519505refgcc -march=barcelona -Os -fomit-frame-pointer2014082520140622
4710465refgcc -march=nocona -Os -fomit-frame-pointer2014082520140622
4712870refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014082520140622
4713315refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014082520140622
4750645refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014082520140622
4756320refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014082520140622
4757250refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014082520140622
4757835refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014082520140622
4758580refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014082520140622
4760230refgcc -funroll-loops -Os -fomit-frame-pointer2014082520140622
4760330refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014082520140622
4761135refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014082520140622
4761510refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014082520140622
10706155refgcc2014082520140622
10748665refgcc -funroll-loops2014082520140622
10940460refcc2014082520140622

Compiler output

Implementation: crypto_sign/ntrumls401x/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/ntrumls401x/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
convert.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
convert.c: clang: warning: argument unused during compilation: '-mavx2'
convert.c: clang: warning: argument unused during compilation: '-mpclmul'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mavx2'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mpclmul'
pack.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
pack.c: clang: warning: argument unused during compilation: '-mavx2'
pack.c: clang: warning: argument unused during compilation: '-mpclmul'
params.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
params.c: clang: warning: argument unused during compilation: '-mavx2'
params.c: clang: warning: argument unused during compilation: '-mpclmul'
pol.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
pol.c: clang: warning: argument unused during compilation: '-mavx2'
pol.c: clang: warning: argument unused during compilation: '-mpclmul'
pqntrusign.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
pqntrusign.c: clang: warning: argument unused during compilation: '-mavx2'
pqntrusign.c: clang: warning: argument unused during compilation: '-mpclmul'
shred.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
shred.c: clang: warning: argument unused during compilation: '-mavx2'
shred.c: clang: warning: argument unused during compilation: '-mpclmul'
sign.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
sign.c: clang: warning: argument unused during compilation: '-mavx2'
sign.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/ntrumls401x/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
convert.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
convert.c: clang: warning: argument unused during compilation: '-mavx2'
convert.c: clang: warning: argument unused during compilation: '-mpclmul'
convert.c: clang: warning: argument unused during compilation: '-fpolly'
convert.c: clang: warning: argument unused during compilation: '-fvectorize'
convert.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
convert.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mavx2'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mpclmul'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fpolly'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fvectorize'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
pack.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
pack.c: clang: warning: argument unused during compilation: '-mavx2'
pack.c: clang: warning: argument unused during compilation: '-mpclmul'
pack.c: clang: warning: argument unused during compilation: '-fpolly'
pack.c: clang: warning: argument unused during compilation: '-fvectorize'
pack.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
pack.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
params.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
params.c: clang: warning: argument unused during compilation: '-mavx2'
params.c: clang: warning: argument unused during compilation: '-mpclmul'
params.c: clang: warning: argument unused during compilation: '-fpolly'
params.c: clang: warning: argument unused during compilation: '-fvectorize'
params.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
params.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
pol.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
pol.c: clang: warning: argument unused during compilation: '-mavx2'
pol.c: clang: warning: argument unused during compilation: '-mpclmul'
pol.c: clang: warning: argument unused during compilation: '-fpolly'
pol.c: clang: warning: argument unused during compilation: '-fvectorize'
pol.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
pol.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
pqntrusign.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
pqntrusign.c: clang: warning: argument unused during compilation: '-mavx2'
pqntrusign.c: clang: warning: argument unused during compilation: '-mpclmul'
pqntrusign.c: clang: warning: argument unused during compilation: '-fpolly'
pqntrusign.c: clang: warning: argument unused during compilation: '-fvectorize'
pqntrusign.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
pqntrusign.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
shred.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
shred.c: clang: warning: argument unused during compilation: '-mavx2'
shred.c: clang: warning: argument unused during compilation: '-mpclmul'
shred.c: clang: warning: argument unused during compilation: '-fpolly'
shred.c: clang: warning: argument unused during compilation: '-fvectorize'
shred.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
shred.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
sign.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
sign.c: clang: warning: argument unused during compilation: '-mavx2'
sign.c: clang: warning: argument unused during compilation: '-mpclmul'
sign.c: clang: warning: argument unused during compilation: '-fpolly'
sign.c: clang: warning: argument unused during compilation: '-fvectorize'
sign.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
sign.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/ntrumls401x/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
convert.c: clang: warning: argument unused during compilation: '-mavx2'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mavx2'
pack.c: clang: warning: argument unused during compilation: '-mavx2'
params.c: clang: warning: argument unused during compilation: '-mavx2'
pol.c: clang: warning: argument unused during compilation: '-mavx2'
pqntrusign.c: clang: warning: argument unused during compilation: '-mavx2'
shred.c: clang: warning: argument unused during compilation: '-mavx2'
sign.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/ntrumls401x/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
convert.c: clang: warning: argument unused during compilation: '-mavx2'
convert.c: clang: warning: argument unused during compilation: '-fpolly'
convert.c: clang: warning: argument unused during compilation: '-fvectorize'
convert.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
convert.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mavx2'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fpolly'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fvectorize'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
fastrandombytes.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
pack.c: clang: warning: argument unused during compilation: '-mavx2'
pack.c: clang: warning: argument unused during compilation: '-fpolly'
pack.c: clang: warning: argument unused during compilation: '-fvectorize'
pack.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
pack.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
params.c: clang: warning: argument unused during compilation: '-mavx2'
params.c: clang: warning: argument unused during compilation: '-fpolly'
params.c: clang: warning: argument unused during compilation: '-fvectorize'
params.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
params.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
pol.c: clang: warning: argument unused during compilation: '-mavx2'
pol.c: clang: warning: argument unused during compilation: '-fpolly'
pol.c: clang: warning: argument unused during compilation: '-fvectorize'
pol.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
pol.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
pqntrusign.c: clang: warning: argument unused during compilation: '-mavx2'
pqntrusign.c: clang: warning: argument unused during compilation: '-fpolly'
pqntrusign.c: clang: warning: argument unused during compilation: '-fvectorize'
pqntrusign.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
pqntrusign.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
shred.c: clang: warning: argument unused during compilation: '-mavx2'
shred.c: clang: warning: argument unused during compilation: '-fpolly'
shred.c: clang: warning: argument unused during compilation: '-fvectorize'
shred.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
shred.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
sign.c: clang: warning: argument unused during compilation: '-mavx2'
sign.c: clang: warning: argument unused during compilation: '-fpolly'
sign.c: clang: warning: argument unused during compilation: '-fvectorize'
sign.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
sign.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