Implementation notes: amd64, hydra1, crypto_aead/joltikneq9696v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: joltikneq9696v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
9228470refgcc -funroll-loops -O3 -fomit-frame-pointer2016101720161009
9228515refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101720161009
9228536refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101820161009
9228672refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101820161009
9228757refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101720161009
9229747refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101720161009
9230136refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101820161009
9237582refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101820161009
9238039refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101720161009
9319839refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101720161009
9319879refgcc -march=nocona -O3 -fomit-frame-pointer2016101720161009
9360467refgcc -march=k8 -O3 -fomit-frame-pointer2016101720161009
9360870refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101720161009
9360960refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101720161009
9360967refgcc -march=barcelona -O3 -fomit-frame-pointer2016101720161009
9361008refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101720161009
9363219refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101820161009
9363352refgcc -m64 -O3 -fomit-frame-pointer2016101720161009
9363374refgcc -O3 -fomit-frame-pointer2016101720161009
9384454refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101720161009
12395226refclang -O3 -fomit-frame-pointer -Qunused-arguments2016101820161009
12421440refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
12421482refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
12422251refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
13042443refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101820161009
13042781refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
15854094refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101720161009
15854289refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101820161009
15984819refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101820161009
15986744refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101720161009
15987122refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101720161009
15987478refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101820161009
16014885refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101820161009
16060777refgcc -funroll-loops -O2 -fomit-frame-pointer2016101720161009
16060856refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101720161009
16678797refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101820161009
16680008refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101720161009
16733696refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101820161009
16777165refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101820161009
16789219refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101720161009
16811891refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101720161009
16935024refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101820161009
16983744refgcc -funroll-loops -O -fomit-frame-pointer2016101720161009
17159190refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016101720161009
21258784refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101720161009
21261416refgcc -march=barcelona -O2 -fomit-frame-pointer2016101720161009
21283981refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101720161009
22195450refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101720161009
22298965refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016101720161009
22349065refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101720161009
22349293refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101720161009
22498782refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016101720161009
22883490refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101720161009
22886423refgcc -m64 -O2 -fomit-frame-pointer2016101720161009
22984456refgcc -march=k8 -O2 -fomit-frame-pointer2016101720161009
23052912refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101820161009
23056357refgcc -O2 -fomit-frame-pointer2016101720161009
23135528refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101720161009
23306341refgcc -march=nocona -O2 -fomit-frame-pointer2016101720161009
23649873refgcc -march=k8 -O -fomit-frame-pointer2016101720161009
23650902refgcc -m64 -march=k8 -O -fomit-frame-pointer2016101720161009
24098552refgcc -O -fomit-frame-pointer2016101720161009
24099918refgcc -m64 -O -fomit-frame-pointer2016101720161009
24234410refgcc -march=barcelona -O -fomit-frame-pointer2016101720161009
24234437refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101720161009
24234948refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016101720161009
24322202refgcc -march=nocona -O -fomit-frame-pointer2016101720161009
24343176refgcc -m64 -march=nocona -O -fomit-frame-pointer2016101720161009
24382393refgcc -fno-schedule-insns -O -fomit-frame-pointer2016101820161009
24534508refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101720161009
25471794refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016101720161009
25472099refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016101720161009
25472229refgcc -m64 -march=core2 -O -fomit-frame-pointer2016101720161009
25473357refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101720161009
26098922refgcc -funroll-loops -Os -fomit-frame-pointer2016101720161009
26111632refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101720161009
26113258refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101720161009
26114127refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101820161009
26114304refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101720161009
26117627refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101820161009
26458384refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101820161009
26664074refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101720161009
26669619refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101820161009
31573696refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016101720161009
31573932refgcc -march=nocona -Os -fomit-frame-pointer2016101720161009
32496535refgcc -m64 -Os -fomit-frame-pointer2016101720161009
32500115refgcc -march=k8 -Os -fomit-frame-pointer2016101720161009
32502823refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016101720161009
32503105refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016101720161009
32503232refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101720161009
32509235refgcc -Os -fomit-frame-pointer2016101720161009
32509839refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016101720161009
32509930refgcc -march=barcelona -Os -fomit-frame-pointer2016101720161009
32511929refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101720161009
32517053refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101720161009
32649216refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016101820161009
32657162refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101720161009
32667170refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016101720161009
70083083refgcc -funroll-loops2016101720161009
70130165refgcc2016101720161009
70660824refcc2016101820161009

Test failure

Implementation: crypto_aead/joltikneq9696v1/vperm
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref vperm
gcc -m64 -march=core2 -O -fomit-frame-pointer vperm
gcc -m64 -march=core2 -Os -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer vperm
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer vperm
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=corei7 -O -fomit-frame-pointer vperm
gcc -m64 -march=corei7 -Os -fomit-frame-pointer vperm

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: 79, 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=native -mtune=native -O2 -fomit-frame-pointer vperm
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer vperm
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer vperm
gcc -m64 -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv vperm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv vperm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv vperm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments vperm
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments vperm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -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