Implementation notes: amd64, glyme, crypto_aead/joltikneq9696v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: joltikneq9696v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
424044vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
424088vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
424132vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
424300vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
424316vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
424352vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
424380vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
424428vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
424480vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
424500vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
424624vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
424740vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
425504vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
425544vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
425548vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
425552vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
425576vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
425584vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
425584vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
425592vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
425592vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
425668vpermgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
426248vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
426292vpermclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
426524vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
426548vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
8559368refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
8560088refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
8599640refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
8601236refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
8603296refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8603648refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8603932refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
8605536refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
8605668refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
8606040refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
8606380refgcc -O3 -fomit-frame-pointer2017020420170105
8607140refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
8608432refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
8609344refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
8612108refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
8626640refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
8627148refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
8642644refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8656996refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8659952refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
8778972refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
8778988refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
8782896refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
8782972refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
10019400refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
10021948refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
10691276refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
10701628refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
10709096refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
10717796refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
13621360refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
13642340refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
13664740refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
13667936refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
13680828refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
13683188refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
13690292refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
13701760refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
13742252refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
15329820refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
15404780refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
15519852refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
15520172refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
15520232refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
15560168refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
15560172refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
16263688refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
16264580refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
17454352refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
17454968refgcc -O2 -fomit-frame-pointer2017020420170105
17455244refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
17465428refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
17468712refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
17471296refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
17512448refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
17565256refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
17571864refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
17573540refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
17574108refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
17591868refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
17597740refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
18179680refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
18199132refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
19279652refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
19279900refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
19279968refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
19280768refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
19281940refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
19293532refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
19325128refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
19379424refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
19430164refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
19438760refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
19438768refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
19438808refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
19438816refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
19453092refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
19482524refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
19541924refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
19547148refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
19573008refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
19573192refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
19580512refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
19582628refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
19585264refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
19624688refgcc -Os -fomit-frame-pointer2017020420170105
19627144refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
19634488refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
19634516refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
19650076refgcc -m64 -Os -fomit-frame-pointer2017020420170105
19979596refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
19990992refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
19994884refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
20032528refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
20048808refgcc -O -fomit-frame-pointer2017020420170105
20048992refgcc -m64 -O -fomit-frame-pointer2017020420170105
20439920refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
20441156refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
20997816refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
21002104refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
21411880refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
21413888refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
59196660refgcc -funroll-loops2017020420170105
60118456refgcc2017020420170105
65810576refcc2017020420170105

Compiler output

Implementation: crypto_aead/joltikneq9696v1/vperm
Compiler: cc
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: 5, namely:
CompilerImplementations
cc vperm
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
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: 70, namely:
CompilerImplementations
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: 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