Implementation notes: amd64, oki, crypto_kem/ledakem34

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: ledakem34
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
184111750? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011820181123
197203366? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011820181123
212090836? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
212108920? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011820181123
212318206? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
212987606? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
213660680? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011820181123
213782796? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
213802250? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
213928772? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011820181123
214028402? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
214219564? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
214279656? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
214287598? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011820181123
214302320? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011820181123
214382200? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
214398928? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
215725530? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011820181123
215779786? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011820181123
215815172? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
216943206? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011820181123
216960042? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011820181123
217070816? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011820181123
217385084? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011820181123
218584844? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011820181123
218640838? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011820181123
219664870? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011820181123
220376692? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011820181123
221272288? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
222665470? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011820181123
222825620? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
222990272? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
223213860? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011820181123
223284176? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
223451126? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011820181123
223457118? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
229945434? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011820181123
239511998? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
239697230? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
240226534? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
240395990? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
240431704? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011820181123
240496992? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
240525622? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011820181123
241536126? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011820181123
248988706? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
249474398? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
249603908? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
249618146? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011820181123
250822798? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011820181123
250898770? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
251042198? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
251132486? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011820181123
251199216? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
251218264? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011820181123
251248248? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011820181123
252614350? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
252620276? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011820181123
252633740? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
252699606? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011820181123
252715804? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011820181123
252813222? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
253178008? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011820181123
253209056? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011820181123
253424552? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011820181123
253543066? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011820181123
254523902? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
258839602? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011820181123
259162472? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011820181123
259431600? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011820181123
259443452? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011820181123
260847690? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011820181123
260877630? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
263320382? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011820181123
264816918? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011820181123
265362552? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011820181123
265464290? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011820181123
265655288? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
265671644? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011820181123
265690892? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011820181123
266004696? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
266223274? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
266391782? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
266391856? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011820181123
272577560? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011820181123
288391790? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
288510738? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
306024078? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011820181123
306257232? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
334092490? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011820181123
335403982? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011820181123
336379124? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011820181123
339531354? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011820181123
339691594? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011820181123
339826940? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
339937126? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
340280156? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
342077750? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011820181123
343324252? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
343896358? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
343970170? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011820181123
344024414? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011820181123
344187134? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011820181123
344812904? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
345999282? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011820181123
346037056? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
346213596? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011820181123
346749304? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011820181123
347048546? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
347685128? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011820181123
348124154? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011820181123
348404024? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
349019620? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
362548610? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
363278124? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
378716806? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011820181123
670423710? ? ?? ? ?refgcc2019011820181123
672097338? ? ?? ? ?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: 0xc0aac0: v4i64 = X86ISD::VTRUNC 0xc0e920
try.c: 0xc0e920: v16i32 = vselect 0xc034e0, 0xba76d0, 0xc0e7f0
try.c: 0xc034e0: v4i1 = X86ISD::PCMPGTM 0xbf53c0, 0xba8480
try.c: 0xbf53c0: v4i64 = X86ISD::VBROADCAST 0xba8810
try.c: 0xba8810: i64,ch = load<LD8[%uglygep72]> 0xaf0da0, 0xbf1510, undef:i64
try.c: 0xbf1510: i64 = add 0xbf62a0, 0xb972b0
try.c: 0xbf62a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xbe5890: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xb972b0: i64 = shl 0xbe5040, Constant:i8<3>
try.c: 0xbe5040: i64,ch = CopyFromReg 0xaf0da0, Register:i64 %vreg50
try.c: 0xbf6760: i64 = Register %vreg50
try.c: 0xb91620: i8 = Constant<3>
try.c: 0xbf3a30: i64 = undef
try.c: 0xba8480: v4i64,ch = CopyFromReg 0xaf0da0, Register:v4i64 %vreg13
try.c: 0xb9da80: v4i64 = Register %vreg13
try.c: 0xba76d0: v16i32 = X86ISD::VBROADCAST 0xbe52a0
try.c: 0xbe52a0: i32,ch = load<LD4[ConstantPool]> 0xaf0da0, 0xc0e460, undef:i64
try.c: 0xc0e460: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xb9b5a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xbf3a30: i64 = undef
try.c: 0xc0e7f0: 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: 0xc0e6c0: i32 = Constant<0>
try.c: 0xc0e6c0: i32 = Constant<0>
try.c: 0xc0e6c0: i32 = Constant<0>
try.c: 0xc0e6c0: 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: 0x154e440: v4i64 = X86ISD::VTRUNC 0x154e270
try.c: 0x154e270: v16i32 = vselect 0x152b950, 0x14d0a20, 0x154e140
try.c: 0x152b950: v4i1 = X86ISD::PCMPGTM 0x1534d60, 0x14e0140
try.c: 0x1534d60: v4i64 = X86ISD::VBROADCAST 0x14e04d0
try.c: 0x14e04d0: i64,ch = load<LD8[%uglygep72]> 0x142fde0, 0x14ee770, undef:i64
try.c: 0x14ee770: i64 = add 0x1535c40, 0x14c5180
try.c: 0x1535c40: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x151d950: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x14c5180: i64 = shl 0x151d100, Constant:i8<3>
try.c: 0x151d100: i64,ch = CopyFromReg 0x142fde0, Register:i64 %vreg50
try.c: 0x1536100: i64 = Register %vreg50
try.c: 0x14d5390: i8 = Constant<3>
try.c: 0x1532bc0: i64 = undef
try.c: 0x14e0140: v4i64,ch = CopyFromReg 0x142fde0, Register:v4i64 %vreg13
try.c: 0x14f4d50: v4i64 = Register %vreg13
try.c: 0x14d0a20: v16i32 = X86ISD::VBROADCAST 0x151d360
try.c: 0x151d360: i32,ch = load<LD4[ConstantPool]> 0x142fde0, 0x154ddb0, undef:i64
try.c: 0x154ddb0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x14e1f00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1532bc0: i64 = undef
try.c: 0x154e140: 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: 0x154e010: i32 = Constant<0>
try.c: 0x154e010: i32 = Constant<0>
try.c: 0x154e010: i32 = Constant<0>
try.c: 0x154e010: 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