Implementation notes: amd64, oki, crypto_kem/kindi512241

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: kindi512241
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
903002? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011820181123
953290? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011820181123
1012222? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011820181123
1022806? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011820181123
1067156? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011820181123
1067724? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011820181123
1072370? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011820181123
1089302? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1094874? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1100356? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011820181123
1100510? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1100672? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011820181123
1103022? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1107526? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011820181123
1110350? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011820181123
1113224? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
1119432? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011820181123
1121170? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011820181123
1122598? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1128796? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1129018? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1129570? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
1129874? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011820181123
1133520? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011820181123
1141752? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011820181123
1141868? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1142856? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
1143602? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011820181123
1143876? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011820181123
1144144? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1144498? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011820181123
1145802? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011820181123
1146494? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011820181123
1148572? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1148946? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1155906? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1156298? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1157390? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
1162310? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011820181123
1163444? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1163856? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
1177058? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1177076? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
1182382? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
1183038? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
1186072? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011820181123
1186118? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011820181123
1187156? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011820181123
1189570? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011820181123
1190312? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
1190544? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011820181123
1193396? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011820181123
1193862? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011820181123
1194518? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011820181123
1194772? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1203438? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1203586? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
1205814? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1236542? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
1239278? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011820181123
1240926? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011820181123
1242330? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1245074? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1245872? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1245910? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1246132? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011820181123
1246434? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011820181123
1246764? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011820181123
1248732? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011820181123
1250578? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
1251672? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1253432? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011820181123
1257742? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011820181123
1258496? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1262374? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1268076? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1283568? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011820181123
1292094? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011820181123
1297012? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011820181123
1342422? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011820181123
1353838? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011820181123
1364800? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011820181123
1365736? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
1368240? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011820181123
1387422? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1399306? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1403088? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011820181123
1406636? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011820181123
1406810? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
1407340? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011820181123
1408814? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011820181123
1409222? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1409262? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1410380? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011820181123
1413214? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011820181123
1423152? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1424582? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1449974? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1454058? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1486670? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1487790? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1523898? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1526232? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1549366? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1551124? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1655772? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
1669018? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011820181123
1945872? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1946954? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
2248178? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011820181123
2249246? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
2314038? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
2320906? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011820181123
2354472? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011820181123
2355026? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
5616212? ? ?? ? ?refgcc2019011820181123
5625212? ? ?? ? ?refcc2019011820181123
5638844? ? ?? ? ?refgcc_-funroll-loops2019011820181123

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: 0x1512ee0: v4i64 = X86ISD::VTRUNC 0x1512d10
try.c: 0x1512d10: v16i32 = vselect 0x152aa40, 0x14afbf0, 0x1512be0
try.c: 0x152aa40: v4i1 = X86ISD::PCMPGTM 0x150b1d0, 0x14b09a0
try.c: 0x150b1d0: v4i64 = X86ISD::VBROADCAST 0x14b0d30
try.c: 0x14b0d30: i64,ch = load<LD8[%uglygep72]> 0x1405dd0, 0x14c28e0, undef:i64
try.c: 0x14c28e0: i64 = add 0x150c0b0, 0x14b5860
try.c: 0x150c0b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1502810: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x14b5860: i64 = shl 0x1501fc0, Constant:i8<3>
try.c: 0x1501fc0: i64,ch = CopyFromReg 0x1405dd0, Register:i64 %vreg50
try.c: 0x150c570: i64 = Register %vreg50
try.c: 0x14b6e60: i8 = Constant<3>
try.c: 0x1509840: i64 = undef
try.c: 0x14b09a0: v4i64,ch = CopyFromReg 0x1405dd0, Register:v4i64 %vreg13
try.c: 0x14bfcd0: v4i64 = Register %vreg13
try.c: 0x14afbf0: v16i32 = X86ISD::VBROADCAST 0x1502220
try.c: 0x1502220: i32,ch = load<LD4[ConstantPool]> 0x1405dd0, 0x1512850, undef:i64
try.c: 0x1512850: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x14b2760: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1509840: i64 = undef
try.c: 0x1512be0: 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: 0x1512ab0: i32 = Constant<0>
try.c: 0x1512ab0: i32 = Constant<0>
try.c: 0x1512ab0: i32 = Constant<0>
try.c: 0x1512ab0: 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: 0x1a97050: v4i64 = X86ISD::VTRUNC 0x1a96e80
try.c: 0x1a96e80: v16i32 = vselect 0x1a879a0, 0x1a28390, 0x1a96d50
try.c: 0x1a879a0: v4i1 = X86ISD::PCMPGTM 0x1a81950, 0x1a29140
try.c: 0x1a81950: v4i64 = X86ISD::VBROADCAST 0x1a294d0
try.c: 0x1a294d0: i64,ch = load<LD8[%uglygep72]> 0x197bde0, 0x1a3a2d0, undef:i64
try.c: 0x1a3a2d0: i64 = add 0x1a82830, 0x1a33a60
try.c: 0x1a82830: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1a706d0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1a33a60: i64 = shl 0x1a6fe80, Constant:i8<3>
try.c: 0x1a6fe80: i64,ch = CopyFromReg 0x197bde0, Register:i64 %vreg50
try.c: 0x1a82cf0: i64 = Register %vreg50
try.c: 0x1a19a00: i8 = Constant<3>
try.c: 0x1a7ffc0: i64 = undef
try.c: 0x1a29140: v4i64,ch = CopyFromReg 0x197bde0, Register:v4i64 %vreg13
try.c: 0x1a2e5a0: v4i64 = Register %vreg13
try.c: 0x1a28390: v16i32 = X86ISD::VBROADCAST 0x1a700e0
try.c: 0x1a700e0: i32,ch = load<LD4[ConstantPool]> 0x197bde0, 0x1a969c0, undef:i64
try.c: 0x1a969c0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1a32060: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1a7ffc0: i64 = undef
try.c: 0x1a96d50: 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: 0x1a96c20: i32 = Constant<0>
try.c: 0x1a96c20: i32 = Constant<0>
try.c: 0x1a96c20: i32 = Constant<0>
try.c: 0x1a96c20: 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