Implementation notes: amd64, oki, crypto_kem/ntrukem443

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: ntrukem443
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
356010? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011920181123
360176? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011920181123
360674? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
375974? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011920181123
376450? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
376982? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011920181123
377622? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
377936? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011920181123
382248? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011920181123
384168? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
384880? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
386218? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
386410? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
386602? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
391256? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
394492? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011920181123
394534? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
395026? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011920181123
399088? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011920181123
400152? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011920181123
400368? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011920181123
401180? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011920181123
401406? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011920181123
402140? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011920181123
402368? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
407402? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011920181123
407456? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011920181123
408662? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
410372? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
452912? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011920181123
453742? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
529438? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
529964? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
530022? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011920181123
530374? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
1110150? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
1110424? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
1133758? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011920181123
1133834? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
1404348? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011920181123
1404390? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
1404818? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011920181123
1414522? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
1415426? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
1435796? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011920181123
1438674? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011920181123
1439076? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011920181123
1439170? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011920181123
1439756? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
1440656? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
1440788? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011920181123
1441856? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
1441936? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011920181123
1442202? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011920181123
1442388? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011920181123
1442620? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011920181123
1442708? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011920181123
1443638? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
1444104? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011920181123
1445054? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011920181123
1451898? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
1453884? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
1592702? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
1592842? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011920181123
1593598? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011920181123
1595178? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
1595532? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011920181123
1599500? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
1599500? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
1611900? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1612780? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1750846? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011920181123
1751476? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
1752950? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011920181123
1753106? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011920181123
1753240? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011920181123
1753318? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011920181123
1753352? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011920181123
1753624? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011920181123
1754020? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011920181123
1754330? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
1754524? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011920181123
1762776? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
1764184? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1764474? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1766140? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
2044718? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011920181123
2044866? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011920181123
2045650? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011920181123
2663200? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
2663538? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
2663636? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
2663986? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
2664070? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
2664232? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011920181123
2664818? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011920181123
2664954? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
2665092? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011920181123
2665618? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011920181123
2665704? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
2666464? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011920181123
2666514? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
2666978? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011920181123
2667350? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011920181123
2668150? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011920181123
2669134? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011920181123
2670040? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
2670428? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011920181123
2670492? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011920181123
2672690? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011920181123
2673656? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011920181123
2674360? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
2676748? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
2677476? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
2686606? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011920181123
2690166? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011920181123
6060268? ? ?? ? ?refgcc_-funroll-loops2019011920181123
6091966? ? ?? ? ?refgcc2019011920181123
6148942? ? ?? ? ?refcc2019011920181123

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: 0x1673d50: v4i64 = X86ISD::VTRUNC 0x1673b80
try.c: 0x1673b80: v16i32 = vselect 0x167ce50, 0x161e390, 0x1673a50
try.c: 0x167ce50: v4i1 = X86ISD::PCMPGTM 0x165da90, 0x161f140
try.c: 0x165da90: v4i64 = X86ISD::VBROADCAST 0x161f4d0
try.c: 0x161f4d0: i64,ch = load<LD8[%uglygep72]> 0x1558dd0, 0x160c640, undef:i64
try.c: 0x160c640: i64 = add 0x165e970, 0x15f76d0
try.c: 0x165e970: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1646d70: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x15f76d0: i64 = shl 0x1646520, Constant:i8<3>
try.c: 0x1646520: i64,ch = CopyFromReg 0x1558dd0, Register:i64 %vreg50
try.c: 0x165ee30: i64 = Register %vreg50
try.c: 0x15f8cd0: i8 = Constant<3>
try.c: 0x165c100: i64 = undef
try.c: 0x161f140: v4i64,ch = CopyFromReg 0x1558dd0, Register:v4i64 %vreg13
try.c: 0x1607390: v4i64 = Register %vreg13
try.c: 0x161e390: v16i32 = X86ISD::VBROADCAST 0x1646780
try.c: 0x1646780: i32,ch = load<LD4[ConstantPool]> 0x1558dd0, 0x16736c0, undef:i64
try.c: 0x16736c0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x16046a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x165c100: i64 = undef
try.c: 0x1673a50: 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: 0x1673920: i32 = Constant<0>
try.c: 0x1673920: i32 = Constant<0>
try.c: 0x1673920: i32 = Constant<0>
try.c: 0x1673920: 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: 0x28aa960: v4i64 = X86ISD::VTRUNC 0x28aa790
try.c: 0x28aa790: v16i32 = vselect 0x28c2db0, 0x283b260, 0x28aa660
try.c: 0x28c2db0: v4i1 = X86ISD::PCMPGTM 0x289a580, 0x283c010
try.c: 0x289a580: v4i64 = X86ISD::VBROADCAST 0x283c3a0
try.c: 0x283c3a0: i64,ch = load<LD8[%uglygep72]> 0x279fdd0, 0x284abc0, undef:i64
try.c: 0x284abc0: i64 = add 0x28a5730, 0x2844f20
try.c: 0x28a5730: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2896450: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2844f20: i64 = shl 0x2895c00, Constant:i8<3>
try.c: 0x2895c00: i64,ch = CopyFromReg 0x279fdd0, Register:i64 %vreg50
try.c: 0x28a5bf0: i64 = Register %vreg50
try.c: 0x2821c80: i8 = Constant<3>
try.c: 0x28a3ed0: i64 = undef
try.c: 0x283c010: v4i64,ch = CopyFromReg 0x279fdd0, Register:v4i64 %vreg13
try.c: 0x2865b20: v4i64 = Register %vreg13
try.c: 0x283b260: v16i32 = X86ISD::VBROADCAST 0x2895e60
try.c: 0x2895e60: i32,ch = load<LD4[ConstantPool]> 0x279fdd0, 0x28aa2d0, undef:i64
try.c: 0x28aa2d0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x283edf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x28a3ed0: i64 = undef
try.c: 0x28aa660: 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: 0x28aa530: i32 = Constant<0>
try.c: 0x28aa530: i32 = Constant<0>
try.c: 0x28aa530: i32 = Constant<0>
try.c: 0x28aa530: 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