Implementation notes: amd64, oki, crypto_kem/kindi512321

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: kindi512321
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1636464? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011820181123
1732258? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011820181123
1816928? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011820181123
1893712? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011820181123
1913688? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011820181123
1918300? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011820181123
1969812? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1975322? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1976546? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1977108? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011820181123
1979730? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011820181123
1980764? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011820181123
1992836? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011820181123
1998070? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011820181123
2006426? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011820181123
2008120? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
2009612? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011820181123
2010840? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
2018892? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
2019560? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
2021134? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
2024306? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011820181123
2036668? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
2039418? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
2039540? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011820181123
2043684? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011820181123
2047790? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
2047846? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011820181123
2050806? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
2058066? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
2059842? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011820181123
2060834? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011820181123
2062046? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
2062066? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011820181123
2062616? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011820181123
2062992? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011820181123
2065432? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011820181123
2072742? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011820181123
2080958? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
2087022? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011820181123
2104192? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011820181123
2104844? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011820181123
2106250? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011820181123
2112878? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011820181123
2119296? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
2120828? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011820181123
2121124? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
2122042? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011820181123
2122784? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011820181123
2123826? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011820181123
2124702? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011820181123
2133788? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
2134342? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011820181123
2144332? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
2145094? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011820181123
2147678? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011820181123
2150752? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011820181123
2214608? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011820181123
2217836? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011820181123
2220352? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011820181123
2222358? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011820181123
2222912? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011820181123
2223154? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
2224662? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011820181123
2227438? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011820181123
2230606? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011820181123
2230700? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011820181123
2231990? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
2233850? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
2235148? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
2235892? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
2239826? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011820181123
2241774? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
2242828? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
2244966? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011820181123
2248224? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011820181123
2314760? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011820181123
2316698? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011820181123
2323628? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011820181123
2415370? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011820181123
2420958? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011820181123
2462520? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011820181123
2463640? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011820181123
2464468? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
2492242? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
2494666? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
2537668? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
2540644? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011820181123
2540680? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011820181123
2550794? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011820181123
2553614? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011820181123
2556728? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011820181123
2558128? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011820181123
2558584? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011820181123
2563550? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011820181123
2570240? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
2581098? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011820181123
2601018? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011820181123
2615048? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011820181123
2696878? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
2703246? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011820181123
2758568? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
2772056? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011820181123
2793038? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
2798386? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011820181123
3005428? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011820181123
3013280? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
3499824? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011820181123
3501022? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011820181123
4103396? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011820181123
4105802? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011820181123
4235682? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011820181123
4236594? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011820181123
4287064? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011820181123
4287212? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011820181123
10224760? ? ?? ? ?refcc2019011820181123
10238976? ? ?? ? ?refgcc_-funroll-loops2019011820181123
10260898? ? ?? ? ?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: 0x29b9f70: v4i64 = X86ISD::VTRUNC 0x29b9da0
try.c: 0x29b9da0: v16i32 = vselect 0x2999d40, 0x293e850, 0x29b9c70
try.c: 0x2999d40: v4i1 = X86ISD::PCMPGTM 0x29a4870, 0x293f600
try.c: 0x29a4870: v4i64 = X86ISD::VBROADCAST 0x293f990
try.c: 0x293f990: i64,ch = load<LD8[%uglygep72]> 0x289eda0, 0x293cf70, undef:i64
try.c: 0x293cf70: i64 = add 0x29a5750, 0x2953c70
try.c: 0x29a5750: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2993630: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2953c70: i64 = shl 0x2992de0, Constant:i8<3>
try.c: 0x2992de0: i64,ch = CopyFromReg 0x289eda0, Register:i64 %vreg50
try.c: 0x29a5c10: i64 = Register %vreg50
try.c: 0x2939cd0: i8 = Constant<3>
try.c: 0x29a2ee0: i64 = undef
try.c: 0x293f600: v4i64,ch = CopyFromReg 0x289eda0, Register:v4i64 %vreg13
try.c: 0x2962e90: v4i64 = Register %vreg13
try.c: 0x293e850: v16i32 = X86ISD::VBROADCAST 0x2993040
try.c: 0x2993040: i32,ch = load<LD4[ConstantPool]> 0x289eda0, 0x29b98e0, undef:i64
try.c: 0x29b98e0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x29494e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x29a2ee0: i64 = undef
try.c: 0x29b9c70: 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: 0x29b9b40: i32 = Constant<0>
try.c: 0x29b9b40: i32 = Constant<0>
try.c: 0x29b9b40: i32 = Constant<0>
try.c: 0x29b9b40: 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: 0x1b07ec0: v4i64 = X86ISD::VTRUNC 0x1b07cf0
try.c: 0x1b07cf0: v16i32 = vselect 0x1ae7390, 0x1a8ce40, 0x1b07bc0
try.c: 0x1ae7390: v4i1 = X86ISD::PCMPGTM 0x1af03a0, 0x1a8dbf0
try.c: 0x1af03a0: v4i64 = X86ISD::VBROADCAST 0x1a8df80
try.c: 0x1a8df80: i64,ch = load<LD8[%uglygep72]> 0x19ebdc0, 0x1ad7200, undef:i64
try.c: 0x1ad7200: i64 = add 0x1af1280, 0x1a4c1a0
try.c: 0x1af1280: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1aece20: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1a4c1a0: i64 = shl 0x1aec5d0, Constant:i8<3>
try.c: 0x1aec5d0: i64,ch = CopyFromReg 0x19ebdc0, Register:i64 %vreg50
try.c: 0x1af1740: i64 = Register %vreg50
try.c: 0x1a971b0: i8 = Constant<3>
try.c: 0x1aeea10: i64 = undef
try.c: 0x1a8dbf0: v4i64,ch = CopyFromReg 0x19ebdc0, Register:v4i64 %vreg13
try.c: 0x1a9c730: v4i64 = Register %vreg13
try.c: 0x1a8ce40: v16i32 = X86ISD::VBROADCAST 0x1aec830
try.c: 0x1aec830: i32,ch = load<LD4[ConstantPool]> 0x19ebdc0, 0x1b07830, undef:i64
try.c: 0x1b07830: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1ab3b00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1aeea10: i64 = undef
try.c: 0x1b07bc0: 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: 0x1b07a90: i32 = Constant<0>
try.c: 0x1b07a90: i32 = Constant<0>
try.c: 0x1b07a90: i32 = Constant<0>
try.c: 0x1b07a90: 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