Implementation notes: amd64, hydra1, crypto_aead/joltikneq6464v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: joltikneq6464v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
4182610refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101720161009
4182632refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101720161009
4184350refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101720161009
4184885refgcc -funroll-loops -O3 -fomit-frame-pointer2016101720161009
4184905refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101720161009
4184984refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101720161009
4185570refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101720161009
4217638refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101720161009
4218150refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101720161009
4230616refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101720161009
4230672refgcc -march=nocona -O3 -fomit-frame-pointer2016101720161009
4242915refgcc -march=k8 -O3 -fomit-frame-pointer2016101720161009
4243379refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101720161009
4244014refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101720161009
4244069refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101720161009
4244908refgcc -m64 -O3 -fomit-frame-pointer2016101720161009
4244927refgcc -O3 -fomit-frame-pointer2016101720161009
4245207refgcc -march=barcelona -O3 -fomit-frame-pointer2016101720161009
4248857refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101720161009
4269318refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101720161009
5385816refclang -O3 -fomit-frame-pointer -Qunused-arguments2016101720161009
5403311refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
5403384refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
5403731refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
5709542refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101720161009
5709846refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101720161009
7593957refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101720161009
7703592refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101720161009
7705745refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101720161009
7721074refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101720161009
7721557refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101720161009
7738941refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101720161009
7781837refgcc -funroll-loops -O2 -fomit-frame-pointer2016101720161009
7851245refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101720161009
7909999refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101720161009
8244264refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101720161009
8320738refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016101720161009
8342208refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101720161009
8346252refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101720161009
8366247refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101720161009
8380597refgcc -funroll-loops -O -fomit-frame-pointer2016101720161009
8380755refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101720161009
8577790refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101720161009
8580747refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101720161009
10170919refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101720161009
10171109refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101720161009
10190944refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016101720161009
10242725refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101720161009
10246632refgcc -march=nocona -O2 -fomit-frame-pointer2016101720161009
10287137refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016101720161009
10428163refgcc -O2 -fomit-frame-pointer2016101720161009
10439557refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101720161009
10442091refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101720161009
10443050refgcc -m64 -O2 -fomit-frame-pointer2016101720161009
10528005refgcc -march=k8 -O2 -fomit-frame-pointer2016101720161009
10537167refgcc -march=barcelona -O2 -fomit-frame-pointer2016101720161009
10555931refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101720161009
10726306refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101720161009
10728486refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101720161009
11236355refgcc -march=barcelona -O -fomit-frame-pointer2016101720161009
11236856refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016101720161009
11238322refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101720161009
11267059refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101720161009
11628458refgcc -m64 -march=nocona -O -fomit-frame-pointer2016101720161009
11629016refgcc -march=nocona -O -fomit-frame-pointer2016101720161009
11851925refgcc -m64 -O -fomit-frame-pointer2016101720161009
11893768refgcc -march=k8 -O -fomit-frame-pointer2016101720161009
11894491refgcc -m64 -march=k8 -O -fomit-frame-pointer2016101720161009
12385344refgcc -march=nocona -Os -fomit-frame-pointer2016101720161009
12399382refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016101720161009
12400042refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016101720161009
12400275refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101720161009
12449088refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016101720161009
12553058refgcc -m64 -march=core2 -O -fomit-frame-pointer2016101720161009
12565986refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101720161009
12566480refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101720161009
12566687refgcc -funroll-loops -Os -fomit-frame-pointer2016101720161009
12566728refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101720161009
12621479refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101720161009
12621859refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101720161009
12744979refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101720161009
12745195refgcc -Os -fomit-frame-pointer2016101720161009
12753171refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101720161009
12765192refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101720161009
12813016refgcc -march=k8 -Os -fomit-frame-pointer2016101720161009
12827728refgcc -m64 -Os -fomit-frame-pointer2016101720161009
12840371refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016101720161009
12840541refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101720161009
12840749refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101720161009
12841352refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016101720161009
12856037refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016101720161009
12864952refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016101720161009
12865040refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101720161009
12934696refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016101720161009
12952468refgcc -march=barcelona -Os -fomit-frame-pointer2016101720161009
13117269refgcc -fno-schedule-insns -O -fomit-frame-pointer2016101720161009
13872888refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101720161009
14242059refgcc -O -fomit-frame-pointer2016101720161009
34374572refgcc -funroll-loops2016101720161009
34480432refgcc2016101720161009
34552736refcc2016101720161009

Test failure

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