Implementation notes: amd64, hydra6, crypto_stream/cryptmtv3

Computer: hydra6
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20171218
Operation: crypto_stream
Primitive: cryptmtv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9898? ? ?? ? ?e/v3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2017110720171020
10586? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017110720171020
10594? ? ?? ? ?e/v3gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017110720171020
10624? ? ?? ? ?e/v3gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017110720171020
10646? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017110720171020
10728? ? ?? ? ?e/v3gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017110720171020
10754? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017110720171020
10828? ? ?? ? ?e/v3gcc_-funroll-loops_-O3_-fomit-frame-pointer2017110720171020
10832? ? ?? ? ?e/v3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110720171020
10838? ? ?? ? ?e/v3gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017110720171020
10842? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017110720171020
10844? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017110720171020
10845? ? ?? ? ?e/v3gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017110720171020
10852? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017110720171020
10866? ? ?? ? ?e/v3gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017110720171020
10882? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017110720171020
10935? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017110720171020
10938? ? ?? ? ?e/v3gcc_-funroll-loops_-O2_-fomit-frame-pointer2017110720171020
11008? ? ?? ? ?e/v3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110720171020
11008? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017110720171020
11012? ? ?? ? ?e/v3gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017110720171020
11100? ? ?? ? ?e/v3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017110720171020
11110? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017110720171020
11124? ? ?? ? ?e/v3gcc_-funroll-loops_-O_-fomit-frame-pointer2017110720171020
11132? ? ?? ? ?e/v3gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017110720171020
11138? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017110720171020
11153? ? ?? ? ?e/v3gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017110720171020
11202? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017110720171020
11395? ? ?? ? ?e/v3gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017110720171020
11470? ? ?? ? ?e/v3gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017110720171020
11472? ? ?? ? ?e/v3gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017110720171020
11516? ? ?? ? ?e/v3gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017110720171020
11522? ? ?? ? ?e/v3gcc_-march=nocona_-O3_-fomit-frame-pointer2017110720171020
11566? ? ?? ? ?e/v3gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017110720171020
11566? ? ?? ? ?e/v3gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017110720171020
11582? ? ?? ? ?e/v3gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017110720171020
11584? ? ?? ? ?e/v3gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017110720171020
11586? ? ?? ? ?e/v3gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017110720171020
11604? ? ?? ? ?e/v3gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017110720171020
11610? ? ?? ? ?e/v3gcc_-march=barcelona_-O3_-fomit-frame-pointer2017110720171020
11636? ? ?? ? ?e/v3gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017110720171020
11642? ? ?? ? ?e/v3gcc_-march=nocona_-O2_-fomit-frame-pointer2017110720171020
11658? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017110720171020
11660? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017110720171020
11698? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017110720171020
11714? ? ?? ? ?e/v3gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017110720171020
11724? ? ?? ? ?e/v3gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017110720171020
11726? ? ?? ? ?e/v3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017110720171020
11730? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017110720171020
11732? ? ?? ? ?e/v3gcc_-march=barcelona_-O2_-fomit-frame-pointer2017110720171020
11752? ? ?? ? ?e/v3gcc_-O3_-fomit-frame-pointer2017110720171020
11768? ? ?? ? ?e/v3gcc_-march=k8_-O3_-fomit-frame-pointer2017110720171020
11774? ? ?? ? ?e/v3gcc_-m64_-O3_-fomit-frame-pointer2017110720171020
11780? ? ?? ? ?e/v3gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017110720171020
11784? ? ?? ? ?e/v3clang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017110720171020
11784? ? ?? ? ?e/v3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017110720171020
11806? ? ?? ? ?e/v3gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017110720171020
11812? ? ?? ? ?e/v3gcc_-march=nocona_-O_-fomit-frame-pointer2017110720171020
11813? ? ?? ? ?e/v3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017110720171020
11830? ? ?? ? ?e/v3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017110720171020
11832? ? ?? ? ?e/v3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017110720171020
11836? ? ?? ? ?e/v3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017110720171020
11901? ? ?? ? ?e/v3gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017110720171020
11912? ? ?? ? ?e/v3gcc_-m64_-O2_-fomit-frame-pointer2017110720171020
11920? ? ?? ? ?e/v3gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017110720171020
11926? ? ?? ? ?e/v3gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017110720171020
11952? ? ?? ? ?e/v3gcc_-O2_-fomit-frame-pointer2017110720171020
11960? ? ?? ? ?e/v3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017110720171020
11974? ? ?? ? ?e/v3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017110720171020
11982? ? ?? ? ?e/v3gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017110720171020
11988? ? ?? ? ?e/v3clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017110720171020
11992? ? ?? ? ?e/v3gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017110720171020
11992? ? ?? ? ?e/v3gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017110720171020
12002? ? ?? ? ?e/v3gcc_-march=k8_-O2_-fomit-frame-pointer2017110720171020
12006? ? ?? ? ?e/v3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017110720171020
12022? ? ?? ? ?e/v3gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017110720171020
12026? ? ?? ? ?e/v3gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017110720171020
12026? ? ?? ? ?e/v3gcc_-march=nocona_-Os_-fomit-frame-pointer2017110720171020
12028? ? ?? ? ?e/v3clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017110720171020
12036? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017110720171020
12044? ? ?? ? ?e/v3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017110720171020
12050? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017110720171020
12060? ? ?? ? ?e/v3gcc_-march=barcelona_-Os_-fomit-frame-pointer2017110720171020
12066? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017110720171020
12070? ? ?? ? ?e/v3gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017110720171020
12072? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017110720171020
12072? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017110720171020
12072? ? ?? ? ?e/v3gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017110720171020
12076? ? ?? ? ?e/v3gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017110720171020
12076? ? ?? ? ?e/v3gcc_-m64_-O_-fomit-frame-pointer2017110720171020
12084? ? ?? ? ?e/v3gcc_-funroll-loops_-Os_-fomit-frame-pointer2017110720171020
12086? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017110720171020
12086? ? ?? ? ?e/v3gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017110720171020
12090? ? ?? ? ?e/v3gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017110720171020
12092? ? ?? ? ?e/v3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017110720171020
12094? ? ?? ? ?e/v3gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017110720171020
12110? ? ?? ? ?e/v3gcc_-O_-fomit-frame-pointer2017110720171020
12110? ? ?? ? ?e/v3gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017110720171020
12114? ? ?? ? ?e/v3gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017110720171020
12122? ? ?? ? ?e/v3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110720171020
12122? ? ?? ? ?e/v3gcc_-march=barcelona_-O_-fomit-frame-pointer2017110720171020
12124? ? ?? ? ?e/v3gcc_-march=k8_-O_-fomit-frame-pointer2017110720171020
12126? ? ?? ? ?e/v3gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017110720171020
12134? ? ?? ? ?e/v3gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017110720171020
12146? ? ?? ? ?e/v3gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017110720171020
12162? ? ?? ? ?e/v3gcc_-m64_-march=k8_-O_-fomit-frame-pointer2017110720171020
12180? ? ?? ? ?e/v3gcc_-m64_-march=core2_-O_-fomit-frame-pointer2017110720171020
12220? ? ?? ? ?e/v3gcc_-Os_-fomit-frame-pointer2017110720171020
12220? ? ?? ? ?e/v3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017110720171020
12220? ? ?? ? ?e/v3gcc_-m64_-Os_-fomit-frame-pointer2017110720171020
12230? ? ?? ? ?e/v3gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017110720171020
12282? ? ?? ? ?e/v3gcc_-march=k8_-Os_-fomit-frame-pointer2017110720171020
93664? ? ?? ? ?e/v3cc2017110720171020
93976? ? ?? ? ?e/v3gcc_-funroll-loops2017110720171020
94784? ? ?? ? ?e/v3gcc2017110720171020

Test failure

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer e/v3
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer e/v3
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer e/v3

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
cryptmt-v3.c: In file included from cryptmt-v3.c:2:
cryptmt-v3.c: ./e/cryptmt-v3.c:189:18: warning: array index 156 is past the end of the array (which contains 156 elements) [-Warray-bounds]
cryptmt-v3.c: do_recursion(ps->sfmt[N], ps->sfmt[POS1], ps->sfmt[N - 1]);
cryptmt-v3.c: ^ ~
cryptmt-v3.c: ./e/cryptmt-v3.c:25:5: note: array 'sfmt' declared here
cryptmt-v3.c: u32 sfmt[N][4];
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/cryptmt-v3.c:403:27: warning: 'memset' call operates on objects of type 'crypto_stream_cryptmtv3_e_v3_ECRYPT_ctx' while the size is based on a different type 'crypto_stream_cryptmtv3_e_v3_ECRYPT_ctx *' [-Wsizeof-pointer-memaccess]
cryptmt-v3.c: memset(ctx, 0, sizeof(ctx));
cryptmt-v3.c: ~~~ ^~~
cryptmt-v3.c: ./e/cryptmt-v3.c:403:27: note: did you mean to dereference the argument to 'sizeof' (and multiply it by the number of elements)?
cryptmt-v3.c: memset(ctx, 0, sizeof(ctx));
cryptmt-v3.c: ^~~
cryptmt-v3.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments e/v3
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments e/v3
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments e/v3
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments e/v3
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments e/v3
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments e/v3
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments e/v3
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments e/v3