Implementation notes: amd64, oki, crypto_aead/sablierv1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: sablierv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
208104? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018113020181123
208818? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018113020181123
209762? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018113020181123
220448? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018113020181123
220780? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
220868? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018113020181123
221098? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
221114? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
221190? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
221244? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018113020181123
221700? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
224320? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018113020181123
224768? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018113020181123
224832? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018113020181123
224996? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018113020181123
225650? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018113020181123
225758? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
225904? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
225972? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
226054? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018113020181123
226096? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
226188? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018113020181123
226220? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
226644? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018113020181123
226852? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
226944? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
227234? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018113020181123
227608? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
227658? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018113020181123
227822? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018113020181123
227888? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018113020181123
230258? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
230356? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
230406? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
230512? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
282096? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018113020181123
282126? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018113020181123
283584? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018113020181123
295580? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018113020181123
295786? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018113020181123
295972? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018113020181123
296106? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018113020181123
296144? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
296172? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018113020181123
296388? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018113020181123
296916? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
298064? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018113020181123
298100? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
299296? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018113020181123
299314? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018113020181123
299318? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
299394? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018113020181123
299400? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018113020181123
299418? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
299486? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018113020181123
299582? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
299754? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
299984? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
300710? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
300978? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
302952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
303138? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
418710? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
419232? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
419804? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018113020181123
422340? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
430286? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018113020181123
431402? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
431544? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018113020181123
432750? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
433376? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018113020181123
435168? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018113020181123
436180? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
436786? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
437992? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018113020181123
438066? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018113020181123
438708? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018113020181123
438734? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018113020181123
438994? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018113020181123
439572? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018113020181123
439820? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018113020181123
440188? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
449650? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
449662? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018113020181123
450706? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018113020181123
454186? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018113020181123
454708? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018113020181123
458896? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018113020181123
459312? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
524280? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
524816? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018113020181123
525548? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
525636? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
528268? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
528774? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
545026? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
546662? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018113020181123
548256? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018113020181123
549076? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018113020181123
549230? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018113020181123
553026? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018113020181123
553056? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018113020181123
554488? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
555064? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018113020181123
555228? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018113020181123
556158? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018113020181123
556880? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018113020181123
557522? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
558048? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018113020181123
558448? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018113020181123
561776? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
562178? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
570550? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
572560? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
581118? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018113020181123
598252? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018113020181123
1414194? ? ?? ? ?refgcc_-funroll-loops2018113020181123
1414224? ? ?? ? ?refgcc2018113020181123
1453270? ? ?? ? ?refcc2018113020181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:14:
encrypt.c: ./cipher_1.h:104:56: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: tem_state->L4[0] = state->L2[0] ^ ( ~(state->L1[0]) ) & (state->L1[1]);
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt.c: ./cipher_1.h:104:56: note: place parentheses around the '&' expression to silence this warning
encrypt.c: tem_state->L4[0] = state->L2[0] ^ ( ~(state->L1[0]) ) & (state->L1[1]);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: ./cipher_1.h:105:56: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: tem_state->L4[1] = state->L2[1] ^ ( ~(state->L1[2]) ) & (state->L1[3]);
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt.c: ./cipher_1.h:105:56: note: place parentheses around the '&' expression to silence this warning
encrypt.c: tem_state->L4[1] = state->L2[1] ^ ( ~(state->L1[2]) ) & (state->L1[3]);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -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 -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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:14:
encrypt.c: ./cipher_1.h:104:56: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: tem_state->L4[0] = state->L2[0] ^ ( ~(state->L1[0]) ) & (state->L1[1]);
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt.c: ./cipher_1.h:104:56: note: place parentheses around the '&' expression to silence this warning
encrypt.c: tem_state->L4[0] = state->L2[0] ^ ( ~(state->L1[0]) ) & (state->L1[1]);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: ./cipher_1.h:105:56: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: tem_state->L4[1] = state->L2[1] ^ ( ~(state->L1[2]) ) & (state->L1[3]);
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt.c: ./cipher_1.h:105:56: note: place parentheses around the '&' expression to silence this warning
encrypt.c: tem_state->L4[1] = state->L2[1] ^ ( ~(state->L1[2]) ) & (state->L1[3]);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: fatal error: error in backend: Cannot select: 0x2430d00: v64i8 = X86ISD::VBROADCAST 0x246bf40
encrypt.c: 0x246bf40: i8 = truncate 0x24731c0
encrypt.c: 0x24731c0: i32 = or 0x246af30, 0x2462960
encrypt.c: 0x246af30: i32 = or 0x2486960, 0x246aa70
encrypt.c: 0x2486960: i32 = or 0x2434a80, 0x2436710
encrypt.c: 0x2434a80: i32 = or 0x246de30, 0x2469f20
encrypt.c: 0x246de30: i32 = or 0x247e720, 0x246a5b0
encrypt.c: 0x247e720: i32 = or 0x246fba0, 0x2470ce0
encrypt.c: 0x246fba0: i32 = or 0x246a0f0, 0x246f050
encrypt.c: 0x246a0f0: i32 = srl 0x246f050, Constant:i8<1>
encrypt.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: In file included from encrypt.c:14:
encrypt.c: ./cipher_1.h:104:56: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: tem_state->L4[0] = state->L2[0] ^ ( ~(state->L1[0]) ) & (state->L1[1]);
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt.c: ./cipher_1.h:104:56: note: place parentheses around the '&' expression to silence this warning
encrypt.c: tem_state->L4[0] = state->L2[0] ^ ( ~(state->L1[0]) ) & (state->L1[1]);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: ./cipher_1.h:105:56: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: tem_state->L4[1] = state->L2[1] ^ ( ~(state->L1[2]) ) & (state->L1[3]);
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt.c: ./cipher_1.h:105:56: note: place parentheses around the '&' expression to silence this warning
encrypt.c: tem_state->L4[1] = state->L2[1] ^ ( ~(state->L1[2]) ) & (state->L1[3]);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: fatal error: error in backend: Cannot select: 0x31fc890: v64i8 = X86ISD::VBROADCAST 0x3200940
encrypt.c: 0x3200940: i8 = truncate 0x31f9b70
encrypt.c: 0x31f9b70: i32 = or 0x31ff930, 0x31f7a20
encrypt.c: 0x31ff930: i32 = or 0x3207bc0, 0x31ff470
encrypt.c: 0x3207bc0: i32 = or 0x31ccca0, 0x31ce930
encrypt.c: 0x31ccca0: i32 = or 0x3202830, 0x31fe920
encrypt.c: 0x3202830: i32 = or 0x32141b0, 0x31fefb0
encrypt.c: 0x32141b0: i32 = or 0x32045a0, 0x32056e0
encrypt.c: 0x32045a0: i32 = or 0x31feaf0, 0x3203a50
encrypt.c: 0x31feaf0: i32 = srl 0x3203a50, Constant:i8<1>
encrypt.c: ...

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