Implementation notes: amd64, skylake, crypto_aead/joltikneq9696v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: joltikneq9696v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
135774vpermclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
135794vpermclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
136084vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
136174vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
136180vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
136186vpermgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
136290vpermclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
136384vpermgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
136614vpermgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
136718vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
136826vpermgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
136832vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
137394vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
137472vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
138444vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
142656vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
342166vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
342438vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
342940vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
343206vpermgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
343362vpermgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
343492vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
343662vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
343768vpermgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
344076vpermclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
344092vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
344498vpermgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
344712vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
345078vpermgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
345252vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
347870vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
348314vpermclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
348356vpermgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
349030vpermgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
350226vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
350294vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
564886vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
567066vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
568132vpermgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
569778vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
569782vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
571706vpermgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
5420840refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
5424282refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
6043918refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
6044688refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
6044722refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
6051996refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6052126refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
6052558refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6061834refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
6092820refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
6092860refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
6093298refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
6093500refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
6093676refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
6094024refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
6094770refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6094796refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
6094862refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
6095146refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6095234refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
6095292refgcc -O3 -fomit-frame-pointer2016121620161026
6095910refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
6097262refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
6097712refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
6102690refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
6124896refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
6135206refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
6141142refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
6156976refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
7991702refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
8007582refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
9126576refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
9162858refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
9258520refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9258676refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
9259586refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9327286refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
10735044refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
10751110refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
10821378refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10823684refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10965238refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10965410refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
10971708refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
10972338refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10981436refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
12637664refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
12639416refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
12651794refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
12663232refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
12663522refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
13167740refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
13177558refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
13180950refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
13199796refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
13209940refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
13240612refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
13240738refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
14056690refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
14058682refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
14061284refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
14876792refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
14908938refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
14916140refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
14928374refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
14928746refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
14932380refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
14933494refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
14948308refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
14948946refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
14960514refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
14963106refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
14965564refgcc -O2 -fomit-frame-pointer2016121620161026
15189830refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
15190656refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
15300472refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
15911094refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
15911724refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
15915748refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
16345872refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
16347888refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
16348766refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
16348888refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
16349654refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
16360590refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
17481456refgcc -m64 -O -fomit-frame-pointer2016121620161026
17482066refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
17487972refgcc -O -fomit-frame-pointer2016121620161026
17614152refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
18105402refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
18341076refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
18351100refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
18473600refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
18474720refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
18581578refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
18594342refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
18594672refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
18594910refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
18596654refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
18600252refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
18611332refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
18622108refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
18625022refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
18761916refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
18770686refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
19047678refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
19048952refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
19049436refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
19051468refgcc -m64 -Os -fomit-frame-pointer2016121620161026
19058830refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
19061934refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
19068756refgcc -Os -fomit-frame-pointer2016121620161026
19075026refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
19089588refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
19097278refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
19420036refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
19420724refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
20095332refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
41675480refcc2016121620161026
41676152refgcc2016121620161026
41676608refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/joltikneq9696v1/vperm
Compiler: cc
joltik.c: joltik.c:29:3: error: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^~~~~

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc vperm
gcc vperm
gcc -O2 -fomit-frame-pointer vperm
gcc -O3 -fomit-frame-pointer vperm
gcc -O -fomit-frame-pointer vperm
gcc -Os -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O -fomit-frame-pointer vperm
gcc -fno-schedule-insns -Os -fomit-frame-pointer vperm
gcc -funroll-loops vperm
gcc -funroll-loops -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -O -fomit-frame-pointer vperm
gcc -funroll-loops -Os -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer vperm
gcc -m64 -O2 -fomit-frame-pointer vperm
gcc -m64 -O3 -fomit-frame-pointer vperm
gcc -m64 -O -fomit-frame-pointer vperm
gcc -m64 -Os -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O3 -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O -fomit-frame-pointer vperm
gcc -m64 -march=k8 -Os -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O2 -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O3 -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O -fomit-frame-pointer vperm
gcc -m64 -march=nocona -Os -fomit-frame-pointer vperm
gcc -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -march=barcelona -O -fomit-frame-pointer vperm
gcc -march=barcelona -Os -fomit-frame-pointer vperm
gcc -march=k8 -O2 -fomit-frame-pointer vperm
gcc -march=k8 -O3 -fomit-frame-pointer vperm
gcc -march=k8 -O -fomit-frame-pointer vperm
gcc -march=k8 -Os -fomit-frame-pointer vperm
gcc -march=nocona -O2 -fomit-frame-pointer vperm
gcc -march=nocona -O3 -fomit-frame-pointer vperm
gcc -march=nocona -O -fomit-frame-pointer vperm
gcc -march=nocona -Os -fomit-frame-pointer vperm

Compiler output

Implementation: crypto_aead/joltikneq9696v1/vperm
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
joltik.c: joltik.c:29:3: error: "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^
joltik.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments vperm
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm

Compiler output

Implementation: crypto_aead/joltikneq9696v1/vperm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
joltik.c: joltik.c:29:3: error: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^~~~~
joltik.c: joltik.c:29:3: error: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -m64 -march=barcelona -O -fomit-frame-pointer vperm
gcc -m64 -march=barcelona -Os -fomit-frame-pointer vperm