Implementation notes: amd64, h4e350, crypto_sign/pass863

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: pass863
TimeImplementationCompilerBenchmark dateSUPERCOP version
3819465ref-karatsubagcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
3824367ref-karatsubagcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080820140622
3825021ref-karatsubagcc -funroll-loops -O2 -fomit-frame-pointer2014080820140622
3825108ref-karatsubagcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080820140622
3825456ref-karatsubagcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
3828246ref-karatsubagcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080820140622
3832614ref-karatsubagcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
3924150ref-karatsubagcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080820140622
3926400ref-karatsubagcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
3930492ref-karatsubagcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080820140622
3932670ref-karatsubagcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
3945546ref-karatsubagcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
3945729ref-karatsubagcc -funroll-loops -m64 -O -fomit-frame-pointer2014080820140622
3946308ref-karatsubagcc -funroll-loops -O -fomit-frame-pointer2014080820140622
3955404ref-karatsubagcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
3958554ref-karatsubagcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080820140622
4018770ref-karatsubagcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080820140622
4020048ref-karatsubagcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
4039101ref-karatsubagcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
4058409ref-karatsubagcc -march=k8 -O2 -fomit-frame-pointer2014080820140622
4076556ref-karatsubagcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
4076730ref-karatsubagcc -O2 -fomit-frame-pointer2014080820140622
4082895ref-karatsubagcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
4084167ref-karatsubagcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
4086177ref-karatsubagcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
4086321ref-karatsubagcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
4088931ref-karatsubagcc -m64 -O2 -fomit-frame-pointer2014080820140622
4110936ref-karatsubagcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080820140622
4111377ref-karatsubagcc -funroll-loops -O3 -fomit-frame-pointer2014080820140622
4115268ref-karatsubagcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
4116516ref-karatsubagcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080820140622
4125204ref-karatsubagcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
4159584ref-karatsubagcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
4172364ref-karatsubagcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080820140622
4191183ref-karatsubagcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080820140622
4209231ref-karatsubagcc -march=barcelona -O -fomit-frame-pointer2014080820140622
4213152ref-karatsubagcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
4227039ref-karatsubagcc -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
4227480ref-karatsubagcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
4227546ref-karatsubagcc -march=k8 -O3 -fomit-frame-pointer2014080820140622
4236486ref-karatsubagcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
4255521ref-karatsubagcc -O -fomit-frame-pointer2014080820140622
4263702ref-karatsubagcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
4268460ref-karatsubagcc -march=barcelona -O3 -fomit-frame-pointer2014080820140622
4269321ref-karatsubagcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
4269696ref-karatsubagcc -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
4270941ref-karatsubagcc -m64 -O -fomit-frame-pointer2014080820140622
4273539ref-karatsubagcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
4276806ref-karatsubagcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
4278669ref-karatsubagcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
4284489ref-karatsubagcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
4303344ref-karatsubagcc -march=k8 -O -fomit-frame-pointer2014080820140622
4307682ref-karatsubagcc -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
4321482ref-karatsubagcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
4326153ref-karatsubagcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
4326234ref-karatsubagcc -m64 -O3 -fomit-frame-pointer2014080820140622
4334163ref-karatsubagcc -O3 -fomit-frame-pointer2014080820140622
4359180ref-karatsubagcc -march=nocona -O -fomit-frame-pointer2014080820140622
4364634ref-karatsubagcc -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
4464072ref-karatsubagcc -march=barcelona -O2 -fomit-frame-pointer2014080820140622
4466133ref-karatsubagcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
4468920ref-karatsubagcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
4809678ref-karatsubagcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
4824051ref-karatsubagcc -march=nocona -O2 -fomit-frame-pointer2014080820140622
4994580ref-karatsubaclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080820140622
4994871ref-karatsubaclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080820140622
4995999ref-karatsubaclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101920141014
4996257ref-karatsubaclang -O3 -fomit-frame-pointer2014080820140622
5010027ref-karatsubaclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
5022210ref-karatsubagcc -march=nocona -O3 -fomit-frame-pointer2014080820140622
5033103ref-karatsubagcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
5202966ref-karatsubagcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
5207514ref-karatsubagcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080820140622
5257575ref-karatsubagcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
5260164ref-karatsubagcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080820140622
5260926ref-karatsubagcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080820140622
5261637ref-karatsubagcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080820140622
5261769ref-karatsubagcc -funroll-loops -Os -fomit-frame-pointer2014080820140622
5261955ref-karatsubagcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
5266518ref-karatsubagcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
6525222ref-karatsubagcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080820140622
6525846ref-karatsubagcc -march=k8 -Os -fomit-frame-pointer2014080820140622
6526179ref-karatsubagcc -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
6526257ref-karatsubagcc -m64 -Os -fomit-frame-pointer2014080820140622
6527040ref-karatsubagcc -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
6527607ref-karatsubagcc -Os -fomit-frame-pointer2014080820140622
6528870ref-karatsubagcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
6529155ref-karatsubagcc -march=barcelona -Os -fomit-frame-pointer2014080820140622
6531450ref-karatsubagcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014080820140622
6532068ref-karatsubagcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014080820140622
6532425ref-karatsubagcc -m64 -march=core2 -Os -fomit-frame-pointer2014080820140622
6532857ref-karatsubagcc -m64 -march=corei7 -Os -fomit-frame-pointer2014080820140622
6534858ref-karatsubagcc -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
6536895ref-karatsubagcc -march=nocona -Os -fomit-frame-pointer2014080820140622
16728525ref-karatsubagcc -funroll-loops2014080820140622
16730100ref-karatsubacc2014080820140622
16788597ref-karatsubagcc2014080820140622

Compiler output

Implementation: crypto_sign/pass863/ref-karatsuba
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-karatsuba

Compiler output

Implementation: crypto_sign/pass863/ref-karatsuba
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
bsparseconv.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
bsparseconv.c: clang: warning: argument unused during compilation: '-mavx2'
bsparseconv.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'
formatc.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
formatc.c: clang: warning: argument unused during compilation: '-mavx2'
formatc.c: clang: warning: argument unused during compilation: '-mpclmul'
hash.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
hash.c: clang: warning: argument unused during compilation: '-mavx2'
hash.c: clang: warning: argument unused during compilation: '-mpclmul'
ntt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
ntt.c: clang: warning: argument unused during compilation: '-mavx2'
ntt.c: clang: warning: argument unused during compilation: '-mpclmul'
poly.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
poly.c: clang: warning: argument unused during compilation: '-mavx2'
poly.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-karatsuba

Compiler output

Implementation: crypto_sign/pass863/ref-karatsuba
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
bsparseconv.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
bsparseconv.c: clang: warning: argument unused during compilation: '-mavx2'
bsparseconv.c: clang: warning: argument unused during compilation: '-mpclmul'
bsparseconv.c: clang: warning: argument unused during compilation: '-fpolly'
bsparseconv.c: clang: warning: argument unused during compilation: '-fvectorize'
bsparseconv.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
bsparseconv.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'
formatc.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
formatc.c: clang: warning: argument unused during compilation: '-mavx2'
formatc.c: clang: warning: argument unused during compilation: '-mpclmul'
formatc.c: clang: warning: argument unused during compilation: '-fpolly'
formatc.c: clang: warning: argument unused during compilation: '-fvectorize'
formatc.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
formatc.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
hash.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
hash.c: clang: warning: argument unused during compilation: '-mavx2'
hash.c: clang: warning: argument unused during compilation: '-mpclmul'
hash.c: clang: warning: argument unused during compilation: '-fpolly'
hash.c: clang: warning: argument unused during compilation: '-fvectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
ntt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
ntt.c: clang: warning: argument unused during compilation: '-mavx2'
ntt.c: clang: warning: argument unused during compilation: '-mpclmul'
ntt.c: clang: warning: argument unused during compilation: '-fpolly'
ntt.c: clang: warning: argument unused during compilation: '-fvectorize'
ntt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
ntt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
poly.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
poly.c: clang: warning: argument unused during compilation: '-mavx2'
poly.c: clang: warning: argument unused during compilation: '-mpclmul'
poly.c: clang: warning: argument unused during compilation: '-fpolly'
poly.c: clang: warning: argument unused during compilation: '-fvectorize'
poly.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
poly.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-karatsuba

Compiler output

Implementation: crypto_sign/pass863/ref-karatsuba
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
bsparseconv.c: clang: warning: argument unused during compilation: '-mavx2'
fastrandombytes.c: clang: warning: argument unused during compilation: '-mavx2'
formatc.c: clang: warning: argument unused during compilation: '-mavx2'
hash.c: clang: warning: argument unused during compilation: '-mavx2'
ntt.c: clang: warning: argument unused during compilation: '-mavx2'
poly.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-karatsuba

Compiler output

Implementation: crypto_sign/pass863/ref-karatsuba
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
bsparseconv.c: clang: warning: argument unused during compilation: '-mavx2'
bsparseconv.c: clang: warning: argument unused during compilation: '-fpolly'
bsparseconv.c: clang: warning: argument unused during compilation: '-fvectorize'
bsparseconv.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
bsparseconv.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'
formatc.c: clang: warning: argument unused during compilation: '-mavx2'
formatc.c: clang: warning: argument unused during compilation: '-fpolly'
formatc.c: clang: warning: argument unused during compilation: '-fvectorize'
formatc.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
formatc.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
hash.c: clang: warning: argument unused during compilation: '-mavx2'
hash.c: clang: warning: argument unused during compilation: '-fpolly'
hash.c: clang: warning: argument unused during compilation: '-fvectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
hash.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
ntt.c: clang: warning: argument unused during compilation: '-mavx2'
ntt.c: clang: warning: argument unused during compilation: '-fpolly'
ntt.c: clang: warning: argument unused during compilation: '-fvectorize'
ntt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
ntt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
poly.c: clang: warning: argument unused during compilation: '-mavx2'
poly.c: clang: warning: argument unused during compilation: '-fpolly'
poly.c: clang: warning: argument unused during compilation: '-fvectorize'
poly.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
poly.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-karatsuba