Implementation notes: amd64, oki, crypto_sign/ntrumls743x

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: ntrumls743x
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2136300? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
2163008? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
2350500? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
2363458? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2366736? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2406568? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2408592? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2599290? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2604288? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2739360? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
2741096? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
2742866? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
2800022? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
2801860? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
2804096? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
2804228? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
2804924? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
2818984? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
2841712? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011420181123
2843114? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
2843698? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
2844530? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2845506? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2845766? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011420181123
2849056? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
2850220? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
2962594? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
2964316? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
2979428? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2979964? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
3018876? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
3022262? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
3056178? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
3069244? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
3086406? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
3092298? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
3097238? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
3099762? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
3109978? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
3187702? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
3194950? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
3237398? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
3239716? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
3271546? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
3285510? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
3286834? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
3299984? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
3316418? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
3327302? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011420181123
3329376? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
3330156? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
3330808? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
3334054? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
3341038? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
3341702? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
3343706? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011420181123
3354128? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
3402472? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
3404420? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
3419338? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
3419610? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
3420750? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
3428712? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
3429916? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
3430356? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
3431136? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
3432338? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
3433120? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
3433266? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
3434644? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
3434990? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
3436216? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
3436720? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
3437868? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
3437884? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
3438188? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011420181123
3438796? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
3440274? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
3440478? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
3441858? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
3442516? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
3442900? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
3444352? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011420181123
3448060? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
3449826? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
3451746? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
3465094? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
3466262? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
3467820? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
3471504? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
3476130? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
3492386? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
3503464? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
3509970? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
3513482? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
3631396? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3640982? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3649192? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
3650566? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
4494260? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
4495260? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
4497322? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
4505192? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
4631918? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
4632506? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
4648378? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
4650132? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
4660166? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
4661876? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011420181123
4664538? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011420181123
4671488? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
4677144? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
4685822? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
4687836? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
4778330? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
4780026? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
11289558? ? ?? ? ?refcc2019011420181123
11357234? ? ?? ? ?refgcc2019011420181123
11659112? ? ?? ? ?refgcc_-funroll-loops2019011420181123

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: 0x1202540: v4i64 = X86ISD::VTRUNC 0x1202370
try.c: 0x1202370: v16i32 = vselect 0x11fefb0, 0x118dc40, 0x1202240
try.c: 0x11fefb0: v4i1 = X86ISD::PCMPGTM 0x11ea660, 0x1181130
try.c: 0x11ea660: v4i64 = X86ISD::VBROADCAST 0x11814c0
try.c: 0x11814c0: i64,ch = load<LD8[%uglygep72]> 0x10e5dd0, 0x11a7470, undef:i64
try.c: 0x11a7470: i64 = add 0x11eb540, 0x116c570
try.c: 0x11eb540: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x11dc9e0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x116c570: i64 = shl 0x11dc190, Constant:i8<3>
try.c: 0x11dc190: i64,ch = CopyFromReg 0x10e5dd0, Register:i64 %vreg50
try.c: 0x11eba00: i64 = Register %vreg50
try.c: 0x1166c60: i8 = Constant<3>
try.c: 0x11e8cd0: i64 = undef
try.c: 0x1181130: v4i64,ch = CopyFromReg 0x10e5dd0, Register:v4i64 %vreg13
try.c: 0x1186500: v4i64 = Register %vreg13
try.c: 0x118dc40: v16i32 = X86ISD::VBROADCAST 0x11dc3f0
try.c: 0x11dc3f0: i32,ch = load<LD4[ConstantPool]> 0x10e5dd0, 0x1201eb0, undef:i64
try.c: 0x1201eb0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1184020: i64 = TargetConstantPool<i32 1> 0
try.c: 0x11e8cd0: i64 = undef
try.c: 0x1202240: 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: 0x1202110: i32 = Constant<0>
try.c: 0x1202110: i32 = Constant<0>
try.c: 0x1202110: i32 = Constant<0>
try.c: 0x1202110: 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: 0xc67ef0: v4i64 = X86ISD::VTRUNC 0xc67d20
try.c: 0xc67d20: v16i32 = vselect 0xc848c0, 0xbfb340, 0xc67bf0
try.c: 0xc848c0: v4i1 = X86ISD::PCMPGTM 0xc5d210, 0xbfe9c0
try.c: 0xc5d210: v4i64 = X86ISD::VBROADCAST 0xbfed50
try.c: 0xbfed50: i64,ch = load<LD8[%uglygep72]> 0xb5edd0, 0xc1d820, undef:i64
try.c: 0xc1d820: i64 = add 0xc64830, 0xbf4120
try.c: 0xc64830: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xc5b320: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xbf4120: i64 = shl 0xc5aad0, Constant:i8<3>
try.c: 0xc5aad0: i64,ch = CopyFromReg 0xb5edd0, Register:i64 %vreg50
try.c: 0xc64cf0: i64 = Register %vreg50
try.c: 0xc055e0: i8 = Constant<3>
try.c: 0xc62fd0: i64 = undef
try.c: 0xbfe9c0: v4i64,ch = CopyFromReg 0xb5edd0, Register:v4i64 %vreg13
try.c: 0xc10eb0: v4i64 = Register %vreg13
try.c: 0xbfb340: v16i32 = X86ISD::VBROADCAST 0xc5ad30
try.c: 0xc5ad30: i32,ch = load<LD4[ConstantPool]> 0xb5edd0, 0xc67860, undef:i64
try.c: 0xc67860: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xc0e9d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xc62fd0: i64 = undef
try.c: 0xc67bf0: 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: 0xc67ac0: i32 = Constant<0>
try.c: 0xc67ac0: i32 = Constant<0>
try.c: 0xc67ac0: i32 = Constant<0>
try.c: 0xc67ac0: 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