Implementation notes: amd64, skylake, crypto_aead/joltikneq12864v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: joltikneq12864v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
122532vpermgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
122542vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
122576vpermclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
122604vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
122612vpermclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
122698vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
122884vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
123136vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
123414vpermclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
123594vpermgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
123628vpermgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
123956vpermgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
125188vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
125456vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
125476vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
126874vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
280456vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
281176vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
282178vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
282268vpermgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
282908vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
283138vpermgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
283218vpermclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
283270vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
283370vpermgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
284062vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
284092vpermgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
284126vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
284300vpermgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
285162vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
285326vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
285450vpermgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
286750vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
286918vpermgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
287900vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
287982vpermclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
473292vpermgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
473392vpermgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
474118vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
474514vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
477052vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
477260vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
5423348refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
5423862refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
6034432refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6035630refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6038328refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
6038756refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
6043982refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
6045188refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
6057570refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
6088386refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
6088818refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
6088932refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
6088976refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
6089044refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6089128refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
6089642refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
6090144refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
6090154refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
6090332refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
6090494refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
6090900refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
6092922refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
6093170refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
6103658refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
6134402refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
6136882refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
6137106refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
6144400refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
6608034refgcc -O3 -fomit-frame-pointer2016121620161026
7991562refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
7992208refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
9109858refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
9153250refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
9253940refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9254102refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9254286refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9254772refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
10725806refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
10726100refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
10816450refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10817106refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10961062refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
10962280refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10962698refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
10963458refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10981290refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
12628302refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
12635666refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
12654604refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
12672754refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
12672850refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
13234546refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
13746578refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
13972242refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
14040810refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
14106308refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
14106498refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
14117044refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
14369738refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
14381092refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
14393004refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
14895342refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
14900412refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
14903908refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
14908386refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
14928468refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
14929830refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
14931846refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
14934192refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
14945498refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
14960354refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
14991636refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
14992512refgcc -O2 -fomit-frame-pointer2016121620161026
15197376refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
15199458refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
15234972refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
15953974refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
15967102refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
15971624refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
16350246refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
16351654refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
16359938refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
16364378refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
16367722refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
16368224refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
16369434refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
16380628refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
16649082refgcc -O -fomit-frame-pointer2016121620161026
16651070refgcc -m64 -O -fomit-frame-pointer2016121620161026
16883110refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
16926874refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
16954150refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
18500014refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
18517086refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
18520220refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
18605538refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
18610588refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
18616160refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
18617022refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
18617708refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
18619644refgcc -Os -fomit-frame-pointer2016121620161026
18622768refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
18645568refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
18656048refgcc -m64 -Os -fomit-frame-pointer2016121620161026
18690262refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
18690752refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
18713982refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
18730794refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
18732418refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
19140678refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
19150442refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
20415430refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
20432192refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
20438834refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
20452828refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
20460136refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
20703284refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
21093050refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
41615128refcc2016121620161026
41616844refgcc -funroll-loops2016121620161026
41617410refgcc2016121620161026

Compiler output

Implementation: crypto_aead/joltikneq12864v1/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/joltikneq12864v1/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/joltikneq12864v1/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