Implementation notes: amd64, glyme, crypto_aead/joltikneq6464v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: joltikneq6464v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
272904vpermclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
273112vpermgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
273156vpermgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
273164vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
273200vpermgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
273808vpermgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
273836vpermgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
273904vpermgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
274488vpermgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
274568vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
275088vpermgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
275188vpermgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
277196vpermgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
277716vpermgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
277860vpermgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
277880vpermgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
278068vpermgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
278072vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
279344vpermgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
279500vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
279556vpermgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
279596vpermgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
280244vpermgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
280260vpermgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
3889620refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
3889788refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
3890016refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
3890512refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
3890536refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
3890672refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
3890784refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
3891036refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
3891180refgcc -O3 -fomit-frame-pointer2017020420170105
3891472refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
3892204refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
3892948refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
3893416refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
3895248refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
3896432refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
3899488refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
3900048refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
3900080refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
3907452refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
3907508refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
3952156refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
3956580refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
3964400refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
3970636refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
4477800refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
4478296refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
4725008refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
4725024refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
4725028refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
4742732refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
6695828refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
6725208refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
6740060refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
6751608refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
6752756refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
6758780refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
6807256refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
6810116refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
7896668refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
7896972refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
7904540refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
8007060refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
8017148refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
8585988refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
8587300refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
8597420refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
8610740refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
8624276refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
8629228refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
8631076refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
8635900refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
8636172refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
8636912refgcc -O2 -fomit-frame-pointer2017020420170105
8637960refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
8643680refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
8660068refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
8662664refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
8685836refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
8702932refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
8739604refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
8885464refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
8888352refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
9828744refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
9829464refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
10059180refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
10061964refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
10062460refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
10063184refgcc -m64 -Os -fomit-frame-pointer2017020420170105
10064276refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
10067120refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
10069224refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
10069592refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
10073456refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
10074756refgcc -Os -fomit-frame-pointer2017020420170105
10081456refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
10094236refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
10102256refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
10504908refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
10505580refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
10608348refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
10609840refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
10611572refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
10612912refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
10613284refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
10615312refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
10624468refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
10624608refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
10624632refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
10624876refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
10624900refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
10630432refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
10637176refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
10638776refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
10860868refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
10864380refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
11825460refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
11825596refgcc -O -fomit-frame-pointer2017020420170105
11825628refgcc -m64 -O -fomit-frame-pointer2017020420170105
11893672refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
11895788refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
30213932refgcc2017020420170105
30647860refgcc -funroll-loops2017020420170105
33352852refcc2017020420170105

Test failure

Implementation: crypto_aead/joltikneq6464v1/ref
Compiler: gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer vperm

Compiler output

Implementation: crypto_aead/joltikneq6464v1/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/joltikneq6464v1/vperm
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c:
try.c: /usr/bin/ld: final link failed: Text file busy
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments vperm

Compiler output

Implementation: crypto_aead/joltikneq6464v1/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/joltikneq6464v1/ref
Compiler: gcc -funroll-loops -m64 -O -fomit-frame-pointer
measure.c: /usr/local/bin/ld: cannot open output file measure: No such file or directory
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref

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