Implementation notes: amd64, cryptothinkx, crypto_aead/minalpherv1

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: minalpherv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2454528? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2507340? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017021120170105
2558076? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017021120170105
2562708? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
2578206? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017021120170105
2580858? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017021120170105
2584392? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017021120170105
2591655? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017021120170105
2592315? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
2592594? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017021120170105
2613399? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2629170? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2629197? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017021120170105
2659272? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2660595? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2691516? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017021120170105
2692767? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
2709693? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
2719512? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017021120170105
2737677? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017021120170105
2741517? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017021120170105
2741520? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017021120170105
2742120? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017021120170105
2755083? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
2762049? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017021120170105
2768853? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2781693? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017021120170105
2794323? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017021120170105
2799069? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017021120170105
2800380? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2800524? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2807940? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017021120170105
2813817? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2818539? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017021120170105
2823213? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017021120170105
2826126? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017021120170105
2851848? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
2870298? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017021120170105
2878593? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017021120170105
2886816? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017021120170105
2897202? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017021120170105
2909382? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017021120170105
2918364? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
2933541? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017021120170105
2991573? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017021120170105
3250002? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
3266442? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3299241? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3303699? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3307824? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3346035? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3423483? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
3503208? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017021120170105
3584568? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
3592488? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
3631413? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017021120170105
3642048? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017021120170105
3682725? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017021120170105
3690105? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017021120170105
3691938? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017021120170105
3702678? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017021120170105
3710427? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017021120170105
3718212? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
3795756? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017021120170105
3797871? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017021120170105
3799974? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017021120170105
3810492? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017021120170105
3858030? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017021120170105
3868116? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017021120170105
3880338? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017021120170105
3883215? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017021120170105
3900729? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017021120170105
3936051? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
3941238? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017021120170105
4069620? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017021120170105
4092330? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017021120170105
4103037? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017021120170105
4117266? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
4122711? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017021120170105
4132755? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017021120170105
4134222? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017021120170105
4134831? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017021120170105
4165827? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017021120170105
4226520? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017021120170105
4233633? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017021120170105
4246191? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017021120170105
4262058? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017021120170105
4288764? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017021120170105
4296651? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017021120170105
4306656? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
4312917? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017021120170105
4323744? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017021120170105
4326939? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
4371885? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
4372875? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017021120170105
4378908? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017021120170105
4412160? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
4418694? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017021120170105
4528659? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017021120170105
4600359? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017021120170105
4611609? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
4637362? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017021120170105
5473956? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017021120170105
5503044? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
5517201? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017021120170105
5583183? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017021120170105
5604099? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017021120170105
5610921? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
5613765? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017021120170105
5615048? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017021120170105
5647143? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
5653413? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017021120170105
5657826? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017021120170105
5661363? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017021120170105
5669427? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017021120170105
5735988? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017021120170105
5763435? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017021120170105
5768199? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017021120170105
5773392? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017021120170105
5870940? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017021120170105
5935365? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017021120170105
5995668? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017021120170105
18077643? ? ?? ? ?refgcc2017021120170105
18527088? ? ?? ? ?refgcc_-funroll-loops2017021120170105
18608649? ? ?? ? ?refcc2017021120170105

Compiler output

Implementation: crypto_aead/minalpherv1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:223:53: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:53: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:223:110: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:110: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref