Implementation notes: amd64, h4e350, crypto_sign/ntrumls401x

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: ntrumls401x
TimeImplementationCompilerBenchmark dateSUPERCOP version
2780115refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080820140622
2782341refgcc -funroll-loops -O2 -fomit-frame-pointer2014080820140622
2783250refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
2783862refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
2786148refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080820140622
2790474refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
2792166refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080820140622
2817801refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080820140622
2819502refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
2826486refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
2828034refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080820140622
2828883refgcc -funroll-loops -O3 -fomit-frame-pointer2014080820140622
2851239refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
2851857refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080820140622
2870487refclang -O3 -fomit-frame-pointer2014080820140622
2888886refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101920141014
2889282refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
2889534refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080820140622
2890527refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080820140622
2923512refgcc -funroll-loops -O -fomit-frame-pointer2014080820140622
2923860refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080820140622
2928345refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
2951130refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080820140622
2951160refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
2973240refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
2974569refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080820140622
2988741refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
2989638refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080820140622
2989722refgcc -m64 -O2 -fomit-frame-pointer2014080820140622
2990043refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
2990181refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080820140622
2990442refgcc -O2 -fomit-frame-pointer2014080820140622
2991027refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
2991495refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
2992539refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
2994018refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
2994501refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
2994690refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
2995761refgcc -march=barcelona -O2 -fomit-frame-pointer2014080820140622
3000453refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
3007416refgcc -m64 -O3 -fomit-frame-pointer2014080820140622
3008637refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
3009390refgcc -O3 -fomit-frame-pointer2014080820140622
3009939refgcc -march=nocona -O3 -fomit-frame-pointer2014080820140622
3011073refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
3038592refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
3038760refgcc -march=k8 -O2 -fomit-frame-pointer2014080820140622
3048471refgcc -march=nocona -O -fomit-frame-pointer2014080820140622
3049086refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
3051837refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
3053001refgcc -march=nocona -O2 -fomit-frame-pointer2014080820140622
3053229refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
3053856refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
3054345refgcc -O -fomit-frame-pointer2014080820140622
3055152refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
3056061refgcc -march=k8 -O3 -fomit-frame-pointer2014080820140622
3056271refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
3057345refgcc -march=k8 -O -fomit-frame-pointer2014080820140622
3057360refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
3057378refgcc -m64 -O -fomit-frame-pointer2014080820140622
3059199refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
3059664refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
3062889refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
3063852refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
3064146refgcc -march=barcelona -O3 -fomit-frame-pointer2014080820140622
3064314refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
3066408refgcc -march=barcelona -O -fomit-frame-pointer2014080820140622
3067749refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
3071091refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
3108108refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080820140622
3109767refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
3676512refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
3686904refgcc -march=nocona -Os -fomit-frame-pointer2014080820140622
3687024refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
3687264refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
3687462refgcc -m64 -Os -fomit-frame-pointer2014080820140622
3688236refgcc -march=barcelona -Os -fomit-frame-pointer2014080820140622
3689403refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080820140622
3689538refgcc -march=k8 -Os -fomit-frame-pointer2014080820140622
3689595refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014080820140622
3689616refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080820140622
3690090refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
3692355refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014080820140622
3692529refgcc -Os -fomit-frame-pointer2014080820140622
3693081refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014080820140622
3805794refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
3808473refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080820140622
3829461refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080820140622
3830454refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
3831723refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080820140622
3832587refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080820140622
3833040refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
3834066refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
3839997refgcc -funroll-loops -Os -fomit-frame-pointer2014080820140622
10823244refgcc2014080820140622
10832739refgcc -funroll-loops2014080820140622
10863081refcc2014080820140622

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