Implementation notes: amd64, h3neo, crypto_aead/joltikneq6464v1

Computer: h3neo
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: joltikneq6464v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4185789? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4186165? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4187737? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016103020161009
4187994? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4188197? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4188262? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
4188368? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016103020161009
4221180? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4221546? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4233771? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4235357? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4245616? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4246237? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4246430? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4246447? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016103020161009
4247174? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4248081? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
4248261? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016103020161009
4248402? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016103020161009
4272402? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016103020161009
6195605? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6197389? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6234057? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016103020161009
6253869? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6438744? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016103020161009
6458263? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
7664710? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7665048? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7702810? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016103020161009
7706583? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
7758402? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016103020161009
7759014? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
7759085? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016103020161009
7772163? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
7822222? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
8370635? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
8373824? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016103020161009
8381267? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016103020161009
8397798? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016103020161009
8399952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
8508598? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
8590139? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016103020161009
8770118? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
8836104? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
10238040? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
10251049? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016103020161009
10272532? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016103020161009
10277158? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
10318518? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016103020161009
10334057? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016103020161009
10429032? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
10504084? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016103020161009
10523360? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016103020161009
10524433? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016103020161009
10543235? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016103020161009
10562045? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016103020161009
10565257? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
10569925? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
10665011? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
11297649? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
11370819? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016103020161009
11527816? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
11746381? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016103020161009
11777583? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
12020331? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
12163483? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016103020161009
12280957? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016103020161009
12291625? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
12345653? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
12578689? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
12673096? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016103020161009
12673444? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016103020161009
12677942? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
12706670? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016103020161009
12718363? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
12724073? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016103020161009
12743855? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016103020161009
12766645? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016103020161009
12768303? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016103020161009
12768932? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016103020161009
12800044? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016103020161009
12801221? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
12842400? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
12852190? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016103020161009
12912797? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
13248921? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016103020161009
13249078? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016103020161009
13249438? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016103020161009
13326327? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016103020161009
13820170? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016103020161009
13820804? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
13820933? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016103020161009
13821086? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
14135045? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
14135763? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
14253252? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
14327448? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016103020161009
14329497? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016103020161009
34507178? ? ?? ? ?refcc2016103020161009
34582681? ? ?? ? ?refgcc2016103020161009
34680663? ? ?? ? ?refgcc_-funroll-loops2016103020161009

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