Implementation notes: amd64, oki, crypto_kem/ledakem53

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: ledakem53
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
381635720? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011820181123
404127226? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011820181123
456131488? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
456384782? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
456666484? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011820181123
456966256? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011820181123
457154150? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
457176918? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011820181123
457204750? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
457457994? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011820181123
458250552? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
458433522? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
458732870? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
458827444? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011820181123
458970864? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
459233928? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011820181123
461019912? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
461387792? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011820181123
461434706? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
462832112? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
463634670? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011820181123
463647878? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011820181123
464285954? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011820181123
464383088? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011820181123
464418400? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
464553136? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011820181123
464756028? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011820181123
464902136? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011820181123
465323230? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011820181123
483124716? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
483600878? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011820181123
483707068? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
483902496? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
484174584? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011820181123
484391614? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
485202256? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011820181123
500534810? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011820181123
501269352? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
502505890? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
502674124? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
502930528? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011820181123
502960204? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
503295742? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
506030388? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011820181123
506675168? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011820181123
506708108? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011820181123
508076112? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011820181123
508463836? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
509091170? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011820181123
509158650? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011820181123
509522332? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011820181123
510235182? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011820181123
510411950? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
510438878? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011820181123
510553376? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011820181123
510648360? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
510909804? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
510969228? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011820181123
510980692? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011820181123
511365402? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011820181123
511757632? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011820181123
512551314? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
512811546? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
514667560? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
514732484? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
518124922? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
518174128? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
530579798? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011820181123
531616476? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
531934926? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011820181123
538221806? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011820181123
538246550? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
538373782? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011820181123
538584192? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
539182736? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011820181123
539552604? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011820181123
539679458? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
541897372? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011820181123
542805846? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011820181123
543163386? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011820181123
543249740? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011820181123
543351890? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011820181123
543833894? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011820181123
543858028? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
545029474? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011820181123
560806694? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
561562798? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
592135822? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
592411148? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011820181123
670150114? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
671455210? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
671848122? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011820181123
672555280? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
673019660? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011820181123
673490220? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
673920950? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
674430696? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
674549568? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
674554390? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
674709996? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
675009824? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011820181123
675962254? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011820181123
676324206? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011820181123
676492260? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011820181123
676506524? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011820181123
676544274? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011820181123
677117430? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
678212274? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
678732224? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011820181123
681101862? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011820181123
681784712? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
681903896? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011820181123
710428212? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011820181123
711554000? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011820181123
720232184? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011820181123
764660526? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011820181123
1462972726? ? ?? ? ?refgcc_-funroll-loops2019011820181123
1477921246? ? ?? ? ?refgcc2019011820181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
bf_decoding.c: In file included from bf_decoding.c:35:0:
bf_decoding.c: gf2x_arith_mod_xPplusOne.h: In function 'gf2x_copy':
bf_decoding.c: gf2x_arith_mod_xPplusOne.h:99:4: error: 'for' loop initial declarations are only allowed in C99 mode
bf_decoding.c: for (int i = NUM_DIGITS_GF2X_ELEMENT-1; i >= 0; i--)
bf_decoding.c: ^
bf_decoding.c: gf2x_arith_mod_xPplusOne.h:99:4: note: use option -std=c99 or -std=gnu99 to compile your code
bf_decoding.c: gf2x_arith_mod_xPplusOne.h: At top level:
bf_decoding.c: gf2x_arith_mod_xPplusOne.h:150:59: error: expected ';', ',' or ')' before 'OUT'
bf_decoding.c: static inline void gf2x_bitwise_and(DIGIT *const restrict OUT,
bf_decoding.c: ^
bf_decoding.c: gf2x_arith_mod_xPplusOne.h: In function 'population_count':
bf_decoding.c: gf2x_arith_mod_xPplusOne.h:165:4: error: 'for' loop initial declarations are only allowed in C99 mode
bf_decoding.c: for(int i = NUM_DIGITS_GF2X_ELEMENT - 1; i >= 0; i--) {
bf_decoding.c: ^
bf_decoding.c: gf2x_arith_mod_xPplusOne.h: In function 'partition':
bf_decoding.c: gf2x_arith_mod_xPplusOne.h:286:4: error: 'for' loop initial declarations are only allowed in C99 mode
bf_decoding.c: for (int j = lo; j <= hi - 1; j++) {
bf_decoding.c: ^
bf_decoding.c: bf_decoding.c: In function 'bf_decoding':
bf_decoding.c: bf_decoding.c:54:7: error: 'for' loop initial declarations are only allowed in C99 mode
bf_decoding.c: for (int i = 0; i < N0; i++) {
bf_decoding.c: ^
bf_decoding.c: bf_decoding.c:55:10: error: 'for' loop initial declarations are only allowed in C99 mode
bf_decoding.c: for (int valueIdx = 0; valueIdx < P; valueIdx++) {
bf_decoding.c: ^
bf_decoding.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x238cd10: v4i64 = X86ISD::VTRUNC 0x238cb40
try.c: 0x238cb40: v16i32 = vselect 0x237e270, 0x2326bb0, 0x238ca10
try.c: 0x237e270: v4i1 = X86ISD::PCMPGTM 0x2377210, 0x2327960
try.c: 0x2377210: v4i64 = X86ISD::VBROADCAST 0x2327cf0
try.c: 0x2327cf0: i64,ch = load<LD8[%uglygep72]> 0x2270dc0, 0x23606a0, undef:i64
try.c: 0x23606a0: i64 = add 0x23780f0, 0x230c5a0
try.c: 0x23780f0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2308a50: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x230c5a0: i64 = shl 0x2308200, Constant:i8<3>
try.c: 0x2308200: i64,ch = CopyFromReg 0x2270dc0, Register:i64 %vreg50
try.c: 0x23785b0: i64 = Register %vreg50
try.c: 0x2320de0: i8 = Constant<3>
try.c: 0x2375880: i64 = undef
try.c: 0x2327960: v4i64,ch = CopyFromReg 0x2270dc0, Register:v4i64 %vreg13
try.c: 0x2311e10: v4i64 = Register %vreg13
try.c: 0x2326bb0: v16i32 = X86ISD::VBROADCAST 0x2308460
try.c: 0x2308460: i32,ch = load<LD4[ConstantPool]> 0x2270dc0, 0x238c680, undef:i64
try.c: 0x238c680: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x230f120: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2375880: i64 = undef
try.c: 0x238ca10: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x238c8e0: i32 = Constant<0>
try.c: 0x238c8e0: i32 = Constant<0>
try.c: 0x238c8e0: i32 = Constant<0>
try.c: 0x238c8e0: i32 = Constant<0>
try.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
try.c: fatal error: error in backend: Cannot select: 0x15e09f0: v4i64 = X86ISD::VTRUNC 0x15e0820
try.c: 0x15e0820: v16i32 = vselect 0x15f7ae0, 0x156ffc0, 0x15e06f0
try.c: 0x15f7ae0: v4i1 = X86ISD::PCMPGTM 0x15d8050, 0x1570d70
try.c: 0x15d8050: v4i64 = X86ISD::VBROADCAST 0x1571100
try.c: 0x1571100: i64,ch = load<LD8[%uglygep72]> 0x14d1dd0, 0x156c030, undef:i64
try.c: 0x156c030: i64 = add 0x15d8f30, 0x15774b0
try.c: 0x15d8f30: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x15bda70: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x15774b0: i64 = shl 0x15bd220, Constant:i8<3>
try.c: 0x15bd220: i64,ch = CopyFromReg 0x14d1dd0, Register:i64 %vreg50
try.c: 0x15d93f0: i64 = Register %vreg50
try.c: 0x158a340: i8 = Constant<3>
try.c: 0x15d5eb0: i64 = undef
try.c: 0x1570d70: v4i64,ch = CopyFromReg 0x14d1dd0, Register:v4i64 %vreg13
try.c: 0x15890d0: v4i64 = Register %vreg13
try.c: 0x156ffc0: v16i32 = X86ISD::VBROADCAST 0x15bd480
try.c: 0x15bd480: i32,ch = load<LD4[ConstantPool]> 0x14d1dd0, 0x15e0360, undef:i64
try.c: 0x15e0360: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1594a80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x15d5eb0: i64 = undef
try.c: 0x15e06f0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x15e05c0: i32 = Constant<0>
try.c: 0x15e05c0: i32 = Constant<0>
try.c: 0x15e05c0: i32 = Constant<0>
try.c: 0x15e05c0: i32 = Constant<0>
try.c: ...

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