Implementation notes: amd64, oki, crypto_kem/kindi512222

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: kindi512222
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
901026? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011820181123
949340? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011820181123
1004328? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011820181123
1013246? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011820181123
1057314? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011820181123
1057318? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011820181123
1063748? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011820181123
1085112? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1085404? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1091238? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1091672? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1092016? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011820181123
1101816? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011820181123
1102604? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011820181123
1103826? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
1105008? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011820181123
1116746? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011820181123
1117428? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1117838? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1118462? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1118838? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011820181123
1121256? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1122810? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011820181123
1124638? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
1126774? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011820181123
1132404? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011820181123
1133216? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011820181123
1134078? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1138670? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011820181123
1139780? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1141072? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1143160? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011820181123
1143602? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011820181123
1143690? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1143948? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
1146644? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1146856? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011820181123
1160220? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1162212? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011820181123
1163952? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1164324? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1168736? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
1169880? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
1169932? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1170274? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
1173594? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011820181123
1173792? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011820181123
1176122? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011820181123
1176990? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
1178770? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011820181123
1179814? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011820181123
1180362? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011820181123
1181354? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011820181123
1182652? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011820181123
1196888? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1203272? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1205624? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1207676? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1234720? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011820181123
1236988? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1237110? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
1237848? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1238916? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1239436? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1239632? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1243040? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1245718? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011820181123
1245924? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1245968? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
1246212? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011820181123
1247176? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011820181123
1248302? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011820181123
1250234? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011820181123
1251108? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1257558? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011820181123
1258518? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011820181123
1284082? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011820181123
1288154? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011820181123
1290570? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011820181123
1342340? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011820181123
1345200? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011820181123
1359676? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011820181123
1362630? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
1367536? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011820181123
1375882? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1377716? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1400970? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1402888? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1407518? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011820181123
1408136? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011820181123
1408796? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011820181123
1410582? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011820181123
1411230? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
1411908? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011820181123
1412876? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011820181123
1423226? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1424724? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1451974? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1452324? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1480624? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1482948? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1513076? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1514262? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1530682? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1531918? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1647462? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
1649336? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011820181123
1918034? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1918368? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011820181123
2237790? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
2237800? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011820181123
2312374? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011820181123
2312872? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
2347024? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011820181123
2348320? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
5599778? ? ?? ? ?refgcc_-funroll-loops2019011820181123
5599970? ? ?? ? ?refcc2019011820181123
5622170? ? ?? ? ?refgcc2019011820181123

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer 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: 0x1e36190: v4i64 = X86ISD::VTRUNC 0x1e35fc0
try.c: 0x1e35fc0: v16i32 = vselect 0x1e2f000, 0x1dd9af0, 0x1e35e90
try.c: 0x1e2f000: v4i1 = X86ISD::PCMPGTM 0x1e2bfd0, 0x1dda8a0
try.c: 0x1e2bfd0: v4i64 = X86ISD::VBROADCAST 0x1ddac30
try.c: 0x1ddac30: i64,ch = load<LD8[%uglygep72]> 0x1d26dd0, 0x1e0c680, undef:i64
try.c: 0x1e0c680: i64 = add 0x1e2ceb0, 0x1dba6c0
try.c: 0x1e2ceb0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1dd3fd0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1dba6c0: i64 = shl 0x1dd3780, Constant:i8<3>
try.c: 0x1dd3780: i64,ch = CopyFromReg 0x1d26dd0, Register:i64 %vreg50
try.c: 0x1e2d370: i64 = Register %vreg50
try.c: 0x1dd6d80: i8 = Constant<3>
try.c: 0x1e2a640: i64 = undef
try.c: 0x1dda8a0: v4i64,ch = CopyFromReg 0x1d26dd0, Register:v4i64 %vreg13
try.c: 0x1dd15d0: v4i64 = Register %vreg13
try.c: 0x1dd9af0: v16i32 = X86ISD::VBROADCAST 0x1dd39e0
try.c: 0x1dd39e0: i32,ch = load<LD4[ConstantPool]> 0x1d26dd0, 0x1e35b00, undef:i64
try.c: 0x1e35b00: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1dc6e90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1e2a640: i64 = undef
try.c: 0x1e35e90: 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: 0x1e35d60: i32 = Constant<0>
try.c: 0x1e35d60: i32 = Constant<0>
try.c: 0x1e35d60: i32 = Constant<0>
try.c: 0x1e35d60: 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: 0x1d21e20: v4i64 = X86ISD::VTRUNC 0x1d21c50
try.c: 0x1d21c50: v16i32 = vselect 0x1d1e890, 0x1cbafc0, 0x1d21b20
try.c: 0x1d1e890: v4i1 = X86ISD::PCMPGTM 0x1d0a750, 0x1cbbd70
try.c: 0x1d0a750: v4i64 = X86ISD::VBROADCAST 0x1cbc100
try.c: 0x1cbc100: i64,ch = load<LD8[%uglygep72]> 0x1c05dd0, 0x1cc4120, undef:i64
try.c: 0x1cc4120: i64 = add 0x1d0b630, 0x1cceb40
try.c: 0x1d0b630: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1ceb590: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1cceb40: i64 = shl 0x1cead40, Constant:i8<3>
try.c: 0x1cead40: i64,ch = CopyFromReg 0x1c05dd0, Register:i64 %vreg50
try.c: 0x1d0baf0: i64 = Register %vreg50
try.c: 0x1cb7380: i8 = Constant<3>
try.c: 0x1d085b0: i64 = undef
try.c: 0x1cbbd70: v4i64,ch = CopyFromReg 0x1c05dd0, Register:v4i64 %vreg13
try.c: 0x1ca5dc0: v4i64 = Register %vreg13
try.c: 0x1cbafc0: v16i32 = X86ISD::VBROADCAST 0x1ceafa0
try.c: 0x1ceafa0: i32,ch = load<LD4[ConstantPool]> 0x1c05dd0, 0x1d21790, undef:i64
try.c: 0x1d21790: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1ca38e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1d085b0: i64 = undef
try.c: 0x1d21b20: 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: 0x1d219f0: i32 = Constant<0>
try.c: 0x1d219f0: i32 = Constant<0>
try.c: 0x1d219f0: i32 = Constant<0>
try.c: 0x1d219f0: 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