Implementation notes: amd64, glyme, crypto_aead/joltikneq12864v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: joltikneq12864v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
356364vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
359368vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
359700vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
359980vpermgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
360520vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
361836vpermclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
361868vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
362264vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
362756vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
362784vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
362824vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
362864vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
363456vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
363496vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
363552vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
364344vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
364348vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
364368vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
364396vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
364576vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
364672vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
364812vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
365084vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
365100vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
365156vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
365352vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
8531276refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
8533452refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
8594788refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8594992refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8605452refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
8605568refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
8605748refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
8607816refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
8608464refgcc -O3 -fomit-frame-pointer2017020420170105
8608892refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
8611284refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
8613652refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
8622544refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
8629480refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
8630008refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
8631212refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
8635424refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
8642464refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8642728refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
8646568refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
8764636refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
8771304refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
8782332refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
8783400refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
10009092refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
10010748refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
10689796refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
10690916refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
10691436refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
10713868refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
13642148refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
13683512refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
13690520refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
13692336refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
13698448refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
13707912refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
13710720refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
13739952refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
13745588refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
15447084refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
15460996refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
15488808refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
15806112refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
15809916refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
15810328refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
16089760refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
16404320refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
16442240refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
17461176refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
17462752refgcc -O2 -fomit-frame-pointer2017020420170105
17465228refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
17468260refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
17470820refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
17568580refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
17569824refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
17579748refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
17673808refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
17677792refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
17678148refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
17692916refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
17706196refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
17953804refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
18203352refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
19035172refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
19047684refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
19091112refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
19148492refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
19151340refgcc -Os -fomit-frame-pointer2017020420170105
19235672refgcc -m64 -Os -fomit-frame-pointer2017020420170105
19242800refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
19243232refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
19245952refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
19251200refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
19431920refgcc -m64 -O -fomit-frame-pointer2017020420170105
19500856refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
19573728refgcc -O -fomit-frame-pointer2017020420170105
19731504refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
19736156refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
19872252refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
19978976refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
20127536refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
20160456refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
20644964refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
20845536refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
20871952refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
20884092refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
21232388refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
21382488refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
21713184refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
21720236refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
21722244refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
21733164refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
21749488refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
21749708refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
21773704refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
21902704refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
21939844refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
21945480refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
21959928refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
21967504refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
22011248refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
58917480refgcc2017020420170105
59395008refgcc -funroll-loops2017020420170105
67868752refcc2017020420170105

Compiler output

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