Implementation notes: amd64, oki, crypto_kem/kindi256342

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: kindi256342
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
833668? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011820181123
835514? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011820181123
875970? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011820181123
876966? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011820181123
877764? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011820181123
893208? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
894094? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011820181123
894280? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011820181123
895398? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
899442? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011820181123
902434? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011820181123
903846? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
904758? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
905904? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
913590? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011820181123
915578? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
917332? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011820181123
917624? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011820181123
918658? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011820181123
919430? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
919516? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
921962? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011820181123
922274? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011820181123
923036? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011820181123
928658? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
929566? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
929754? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
931614? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
934264? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011820181123
934298? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
935818? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011820181123
939144? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011820181123
940698? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011820181123
942028? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011820181123
943742? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
945208? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
950806? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011820181123
952626? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
953542? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011820181123
956068? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
956638? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
957804? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
959724? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
974206? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
974654? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011820181123
976340? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011820181123
979296? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011820181123
980402? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011820181123
980894? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011820181123
982358? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011820181123
983358? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
985298? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011820181123
985876? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
986194? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011820181123
988112? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
988954? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
1025632? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1025912? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1034756? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1035948? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1037878? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1040020? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
1044258? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011820181123
1044718? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011820181123
1045266? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011820181123
1046552? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1046644? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
1047046? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011820181123
1047236? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011820181123
1047298? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
1050948? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011820181123
1052580? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011820181123
1053186? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
1053746? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011820181123
1053876? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011820181123
1059672? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011820181123
1065400? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011820181123
1109692? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011820181123
1110706? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011820181123
1114240? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011820181123
1115094? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
1115682? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011820181123
1127898? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1129146? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1146994? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1149534? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1157642? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011820181123
1159036? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011820181123
1160636? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011820181123
1160888? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
1162224? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011820181123
1164304? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011820181123
1164748? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011820181123
1165640? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1168000? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
1196166? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1196476? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
1222544? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1223354? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1254250? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1254324? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1287014? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1287822? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1365482? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011820181123
1365878? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
1613898? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1614032? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
1863234? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1863410? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
1925580? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1927478? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011820181123
1953464? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011820181123
1955500? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
4648842? ? ?? ? ?refcc2019011820181123
4657610? ? ?? ? ?refgcc_-funroll-loops2019011820181123
4660254? ? ?? ? ?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: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv 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: 0x10bf450: v4i64 = X86ISD::VTRUNC 0x10bf280
try.c: 0x10bf280: v16i32 = vselect 0x109d0a0, 0x10403e0, 0x10bf150
try.c: 0x109d0a0: v4i1 = X86ISD::PCMPGTM 0x10a9d50, 0x1053e50
try.c: 0x10a9d50: v4i64 = X86ISD::VBROADCAST 0x10541e0
try.c: 0x10541e0: i64,ch = load<LD8[%uglygep72]> 0xfa3dc0, 0x1089950, undef:i64
try.c: 0x1089950: i64 = add 0x10aac30, 0x1056870
try.c: 0x10aac30: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1068c10: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1056870: i64 = shl 0x10683c0, Constant:i8<3>
try.c: 0x10683c0: i64,ch = CopyFromReg 0xfa3dc0, Register:i64 %vreg50
try.c: 0x10ab0f0: i64 = Register %vreg50
try.c: 0x1025df0: i8 = Constant<3>
try.c: 0x10a83c0: i64 = undef
try.c: 0x1053e50: v4i64,ch = CopyFromReg 0xfa3dc0, Register:v4i64 %vreg13
try.c: 0x1042f90: v4i64 = Register %vreg13
try.c: 0x10403e0: v16i32 = X86ISD::VBROADCAST 0x1068620
try.c: 0x1068620: i32,ch = load<LD4[ConstantPool]> 0xfa3dc0, 0x10bedc0, undef:i64
try.c: 0x10bedc0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1055c10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x10a83c0: i64 = undef
try.c: 0x10bf150: 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: 0x10bf020: i32 = Constant<0>
try.c: 0x10bf020: i32 = Constant<0>
try.c: 0x10bf020: i32 = Constant<0>
try.c: 0x10bf020: 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: 0xaed670: v4i64 = X86ISD::VTRUNC 0xaed4a0
try.c: 0xaed4a0: v16i32 = vselect 0xadff90, 0xa81d80, 0xaed370
try.c: 0xadff90: v4i1 = X86ISD::PCMPGTM 0xad7f70, 0xa82b30
try.c: 0xad7f70: v4i64 = X86ISD::VBROADCAST 0xa82ec0
try.c: 0xa82ec0: i64,ch = load<LD8[%uglygep72]> 0x9d1dd0, 0xad0e70, undef:i64
try.c: 0xad0e70: i64 = add 0xad8e50, 0xa7d4c0
try.c: 0xad8e50: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xacac30: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xa7d4c0: i64 = shl 0xaca3e0, Constant:i8<3>
try.c: 0xaca3e0: i64,ch = CopyFromReg 0x9d1dd0, Register:i64 %vreg50
try.c: 0xad9310: i64 = Register %vreg50
try.c: 0xa66ee0: i8 = Constant<3>
try.c: 0xad65e0: i64 = undef
try.c: 0xa82b30: v4i64,ch = CopyFromReg 0x9d1dd0, Register:v4i64 %vreg13
try.c: 0xa6e0d0: v4i64 = Register %vreg13
try.c: 0xa81d80: v16i32 = X86ISD::VBROADCAST 0xaca640
try.c: 0xaca640: i32,ch = load<LD4[ConstantPool]> 0x9d1dd0, 0xaecfe0, undef:i64
try.c: 0xaecfe0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xa848f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xad65e0: i64 = undef
try.c: 0xaed370: 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: 0xaed240: i32 = Constant<0>
try.c: 0xaed240: i32 = Constant<0>
try.c: 0xaed240: i32 = Constant<0>
try.c: 0xaed240: 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