Implementation notes: amd64, oki, crypto_kem/ledakem52

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: ledakem52
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
371242694? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011820181123
402163614? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011820181123
447835918? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
448315046? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011820181123
448993916? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
449567600? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
450686346? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011820181123
450755862? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
451113038? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011820181123
451845118? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011820181123
451954800? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
452364096? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
452684976? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
453204776? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011820181123
453491380? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011820181123
453698098? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
453722240? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011820181123
454055948? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
454086398? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011820181123
454384042? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
455087402? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
455168046? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011820181123
455308596? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011820181123
455552724? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011820181123
455614644? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011820181123
455903504? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011820181123
461194600? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011820181123
461295246? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011820181123
461611320? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
478985256? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011820181123
479265462? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
479484638? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011820181123
479589768? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
479700826? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
480620540? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
480936226? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011820181123
493569356? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011820181123
495784282? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
495792660? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011820181123
496024038? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011820181123
496054150? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011820181123
496140848? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011820181123
496149650? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011820181123
496288958? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
496305386? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011820181123
496455522? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
496668794? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011820181123
496774486? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011820181123
496950078? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011820181123
497191760? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011820181123
498601246? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011820181123
503189638? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011820181123
503647904? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
510334508? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
510531552? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
511553564? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011820181123
511560432? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
511705338? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011820181123
511932750? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
512699856? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
516099884? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011820181123
519088032? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
519096120? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
523697380? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
523707422? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
525622380? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011820181123
526295818? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011820181123
526316334? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011820181123
527009150? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011820181123
527098672? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011820181123
527223422? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011820181123
527512320? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
527603768? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011820181123
528526096? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
528614910? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011820181123
528744726? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011820181123
528934940? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011820181123
529220426? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
529357946? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011820181123
529591386? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
529835394? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011820181123
529905668? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
530137514? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
555061854? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
557894828? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011820181123
580754780? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
581911222? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
592865794? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011820181123
593495406? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
619277392? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011820181123
619344972? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
619497550? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011820181123
619673114? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011820181123
621821168? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
621847340? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011820181123
622186216? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011820181123
622246226? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011820181123
623051212? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011820181123
623077710? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011820181123
623597166? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
623826402? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011820181123
624290564? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
624749174? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
624894220? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
624912386? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
625347010? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011820181123
625501468? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
626139158? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
626300572? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
626669110? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
628081222? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011820181123
628995188? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011820181123
629281002? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
629450328? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011820181123
629826724? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011820181123
697581096? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011820181123
1401617796? ? ?? ? ?refgcc2019011820181123
1410944394? ? ?? ? ?refgcc_-funroll-loops2019011820181123

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: 0x27befe0: v4i64 = X86ISD::VTRUNC 0x27bee10
try.c: 0x27bee10: v16i32 = vselect 0x27ab4d0, 0x27642a0, 0x27bece0
try.c: 0x27ab4d0: v4i1 = X86ISD::PCMPGTM 0x27a54c0, 0x273bc60
try.c: 0x27a54c0: v4i64 = X86ISD::VBROADCAST 0x273bff0
try.c: 0x273bff0: i64,ch = load<LD8[%uglygep72]> 0x26a0db0, 0x27900d0, undef:i64
try.c: 0x27900d0: i64 = add 0x27a63a0, 0x2723780
try.c: 0x27a63a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x275e140: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2723780: i64 = shl 0x275d8f0, Constant:i8<3>
try.c: 0x275d8f0: i64,ch = CopyFromReg 0x26a0db0, Register:i64 %vreg50
try.c: 0x27a6860: i64 = Register %vreg50
try.c: 0x27479e0: i8 = Constant<3>
try.c: 0x27a3320: i64 = undef
try.c: 0x273bc60: v4i64,ch = CopyFromReg 0x26a0db0, Register:v4i64 %vreg13
try.c: 0x2741120: v4i64 = Register %vreg13
try.c: 0x27642a0: v16i32 = X86ISD::VBROADCAST 0x275db50
try.c: 0x275db50: i32,ch = load<LD4[ConstantPool]> 0x26a0db0, 0x27be950, undef:i64
try.c: 0x27be950: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x273ec40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x27a3320: i64 = undef
try.c: 0x27bece0: 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: 0x27bebb0: i32 = Constant<0>
try.c: 0x27bebb0: i32 = Constant<0>
try.c: 0x27bebb0: i32 = Constant<0>
try.c: 0x27bebb0: 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: 0xf811c0: v4i64 = X86ISD::VTRUNC 0xf80ff0
try.c: 0xf80ff0: v16i32 = vselect 0xf70e10, 0xf02710, 0xf80ec0
try.c: 0xf70e10: v4i1 = X86ISD::PCMPGTM 0xf69ab0, 0xf034c0
try.c: 0xf69ab0: v4i64 = X86ISD::VBROADCAST 0xf03850
try.c: 0xf03850: i64,ch = load<LD8[%uglygep72]> 0xe63dd0, 0xf0c630, undef:i64
try.c: 0xf0c630: i64 = add 0xf6a990, 0xf0a1d0
try.c: 0xf6a990: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xf62de0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xf0a1d0: i64 = shl 0xf62590, Constant:i8<3>
try.c: 0xf62590: i64,ch = CopyFromReg 0xe63dd0, Register:i64 %vreg50
try.c: 0xf6ae50: i64 = Register %vreg50
try.c: 0xee58d0: i8 = Constant<3>
try.c: 0xf68120: i64 = undef
try.c: 0xf034c0: v4i64,ch = CopyFromReg 0xe63dd0, Register:v4i64 %vreg13
try.c: 0xf0dfa0: v4i64 = Register %vreg13
try.c: 0xf02710: v16i32 = X86ISD::VBROADCAST 0xf627f0
try.c: 0xf627f0: i32,ch = load<LD4[ConstantPool]> 0xe63dd0, 0xf80b30, undef:i64
try.c: 0xf80b30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xf13fb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xf68120: i64 = undef
try.c: 0xf80ec0: 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: 0xf80d90: i32 = Constant<0>
try.c: 0xf80d90: i32 = Constant<0>
try.c: 0xf80d90: i32 = Constant<0>
try.c: 0xf80d90: 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