Implementation notes: amd64, skylake, crypto_aead/joltikneq6464v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: joltikneq6464v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
94162vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
94166vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
94218vpermclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
94242vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
94260vpermclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
94260vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
94508vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
94646vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
94690vpermgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
95162vpermgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
95332vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
95430vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
95434vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
95524vpermgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
95576vpermclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
96328vpermgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
213760vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
214152vpermgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
214632vpermclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
214816vpermgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
215462vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
215696vpermgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
215758vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
215860vpermgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
216696vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
216734vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
216754vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
216758vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
217606vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
217720vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
217876vpermclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
218484vpermgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
218918vpermgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
219392vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
221044vpermgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
226966vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
359694vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
359918vpermgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
360082vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
360434vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
363080vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
365644vpermgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
3562344refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
3563854refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
3564178refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
3564542refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
3569630refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
3570132refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
3570576refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
3570642refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
3570674refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
3570966refgcc -O3 -fomit-frame-pointer2016121620161026
3571040refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
3571044refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
3572454refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
3572580refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
3572698refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
3572954refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
3573078refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
3573178refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
3573638refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
3573870refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
3574768refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
3578022refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
3578156refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
3578200refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
3578386refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
3580588refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
3580626refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
3690356refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
3697454refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
3734906refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
3757394refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
3999742refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
4005738refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
4069904refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
4071786refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
4072250refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
4080634refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
5303554refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
5305206refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
5411512refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
5426522refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
5452068refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
5452150refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
5452558refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
5452740refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
5453968refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
6010086refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
6019478refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
6055396refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
6666044refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
6679158refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
6761026refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
6791750refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
7267780refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
7269838refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
7344444refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
7349482refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
7375356refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
7393010refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
7397710refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
7397898refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
7398062refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
7401652refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
7407120refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
7408138refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
7410158refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
7411858refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
7413464refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
7429710refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
7433306refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
7443440refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
7443656refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
7456518refgcc -O2 -fomit-frame-pointer2016121620161026
7588398refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
7592818refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
7596900refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
7604908refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
7605102refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
7944878refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
8397592refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
8403906refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
8534140refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
8536774refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
8837154refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
8950286refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
9107708refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
9118004refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
9119856refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
9119958refgcc -Os -fomit-frame-pointer2016121620161026
9120968refgcc -m64 -Os -fomit-frame-pointer2016121620161026
9134900refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
9137334refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
9140946refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
9143212refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
9155242refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
9160764refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
9179912refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
9203858refgcc -O -fomit-frame-pointer2016121620161026
9216756refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
9216810refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
9218662refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
9218808refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
9221662refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
9222894refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
9223062refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
9223262refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
9224364refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
9224444refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
9230606refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
9231346refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
9233550refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
9241044refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
9256870refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
9257442refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
9279250refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
9307018refgcc -m64 -O -fomit-frame-pointer2016121620161026
9430248refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
9470218refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
20890694refgcc -funroll-loops2016121620161026
20891320refgcc2016121620161026
23406442refcc2016121620161026

Compiler output

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