Implementation notes: amd64, h3neo, crypto_aead/joltikneq8048v1

Computer: h3neo
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: joltikneq8048v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4187728? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016103020161009
4187774? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016103020161009
4188045? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
4189694? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4189754? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4190029? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4190046? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4219975? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4221984? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4237155? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4241524? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
4244850? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4245462? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016103020161009
4245682? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4245695? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016103020161009
4245791? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
4247171? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016103020161009
4247205? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016103020161009
4247257? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
4270196? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016103020161009
6192042? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6195349? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6229630? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016103020161009
6249805? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6454837? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6455809? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016103020161009
7664901? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7668550? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7702247? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
7706453? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016103020161009
7722852? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016103020161009
7730633? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
7733905? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
7757309? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016103020161009
7807218? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
8457954? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
8610500? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
8640959? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
8763576? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
8801049? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
8812198? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016103020161009
8817101? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016103020161009
8863822? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016103020161009
8910348? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016103020161009
10179068? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016103020161009
10183255? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016103020161009
10185905? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016103020161009
10186410? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016103020161009
10402871? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
10402929? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
10430734? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
10431395? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016103020161009
10435375? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016103020161009
10441082? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
10460872? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016103020161009
10576196? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
10659753? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
10680608? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016103020161009
10730562? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016103020161009
11898988? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
11916400? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016103020161009
12066337? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
12153717? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016103020161009
12258185? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
12274377? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016103020161009
12307108? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
12312524? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016103020161009
12351886? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
12369535? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
12390268? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
12412967? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016103020161009
12451012? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
12526254? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016103020161009
12830168? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
12922363? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016103020161009
13188982? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
13190060? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
13546271? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
13585596? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
13586026? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
13586043? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016103020161009
13587066? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016103020161009
13587213? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016103020161009
13587469? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
13595102? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016103020161009
13620063? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016103020161009
13635124? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016103020161009
13734263? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
14165937? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016103020161009
14202186? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016103020161009
14297935? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016103020161009
14299337? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016103020161009
14785473? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016103020161009
14895418? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016103020161009
14901052? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
14903798? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016103020161009
14907650? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016103020161009
14951382? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016103020161009
35124441? ? ?? ? ?refgcc_-funroll-loops2016103020161009
35235584? ? ?? ? ?refcc2016103020161009
35662408? ? ?? ? ?refgcc2016103020161009

Test failure

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