Implementation notes: amd64, oki, crypto_dh/ed521gs

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_dh
Primitive: ed521gs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3261484? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
3389818? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
3406118? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
3439742? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
3447900? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
3448124? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
3460454? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
3460770? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
3462746? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
3463776? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
3463782? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
3463840? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
3466568? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
3466614? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
3467454? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
3468814? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
3469096? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
3469616? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
3470412? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
3471028? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011020181123
3471300? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
3472138? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
3474732? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
3475378? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
3475994? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
3476010? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
3476656? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
3476694? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
3476886? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
3477628? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
3477780? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
3478028? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
3478114? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
3478222? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
3478736? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
3479722? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
3479990? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
3480312? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
3482332? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
3486018? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
3491506? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
3491688? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
3491798? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
3491936? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
3492288? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
3492672? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
3492946? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
3495482? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
3505414? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
3518428? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
3527078? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
3527330? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
3528156? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011020181123
3528380? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
3529004? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
3531256? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
3532464? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
3539730? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
3539990? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
3540124? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
3543942? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
3544170? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
3544384? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
3545700? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
3550138? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
3550882? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
3551064? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
3552962? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
3553690? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
3560704? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
3560798? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
3560916? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
3585184? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
3585226? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
3596010? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
3596278? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
3598682? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
3602824? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
3603364? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
3604136? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
3609762? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
3611720? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
3612584? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
3614082? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
3614346? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011020181123
3614408? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
3614760? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
3633192? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
3904796? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
5667148? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
5667500? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
5689324? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
5689588? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
5690396? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
5690646? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
5693988? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
5694826? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
5765992? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
5777176? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
5781128? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
5783650? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
5830054? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
5830714? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
5831494? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
5833334? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
5833428? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011020181123
5834168? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
5834974? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011020181123
5835256? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
5841786? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
5844184? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
5851102? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
5852474? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
5915246? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
5953282? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
5970486? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
13297650? ? ?? ? ?refcc2019011020181123
13306994? ? ?? ? ?refgcc2019011020181123
13307312? ? ?? ? ?refgcc_-funroll-loops2019011020181123

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: 0x1abcf20: v4i64 = X86ISD::VTRUNC 0x1abcd50
try.c: 0x1abcd50: v16i32 = vselect 0x1aaa5c0, 0x1a61ac0, 0x1abcc20
try.c: 0x1aaa5c0: v4i1 = X86ISD::PCMPGTM 0x1aa3c00, 0x1a38c80
try.c: 0x1aa3c00: v4i64 = X86ISD::VBROADCAST 0x1a39010
try.c: 0x1a39010: i64,ch = load<LD8[%uglygep72]> 0x199edc0, 0x1a65bf0, undef:i64
try.c: 0x1a65bf0: i64 = add 0x1aa4ae0, 0x1a4b5f0
try.c: 0x1aa4ae0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1a8a5c0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1a4b5f0: i64 = shl 0x1a89d70, Constant:i8<3>
try.c: 0x1a89d70: i64,ch = CopyFromReg 0x199edc0, Register:i64 %vreg50
try.c: 0x1aa4fa0: i64 = Register %vreg50
try.c: 0x1a20870: i8 = Constant<3>
try.c: 0x1aa1a60: i64 = undef
try.c: 0x1a38c80: v4i64,ch = CopyFromReg 0x199edc0, Register:v4i64 %vreg13
try.c: 0x1a50c40: v4i64 = Register %vreg13
try.c: 0x1a61ac0: v16i32 = X86ISD::VBROADCAST 0x1a89fd0
try.c: 0x1a89fd0: i32,ch = load<LD4[ConstantPool]> 0x199edc0, 0x1abc890, undef:i64
try.c: 0x1abc890: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1a4e760: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1aa1a60: i64 = undef
try.c: 0x1abcc20: 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: 0x1abcaf0: i32 = Constant<0>
try.c: 0x1abcaf0: i32 = Constant<0>
try.c: 0x1abcaf0: i32 = Constant<0>
try.c: 0x1abcaf0: 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: 0x1821020: v4i64 = X86ISD::VTRUNC 0x1820e50
try.c: 0x1820e50: v16i32 = vselect 0x1812950, 0x17cdc20, 0x1820d20
try.c: 0x1812950: v4i1 = X86ISD::PCMPGTM 0x180a920, 0x17ce9d0
try.c: 0x180a920: v4i64 = X86ISD::VBROADCAST 0x17ced60
try.c: 0x17ced60: i64,ch = load<LD8[%uglygep72]> 0x1704dd0, 0x17c3890, undef:i64
try.c: 0x17c3890: i64 = add 0x180b800, 0x17553f0
try.c: 0x180b800: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x17aa9f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x17553f0: i64 = shl 0x17aa1a0, Constant:i8<3>
try.c: 0x17aa1a0: i64,ch = CopyFromReg 0x1704dd0, Register:i64 %vreg50
try.c: 0x180bcc0: i64 = Register %vreg50
try.c: 0x179b020: i8 = Constant<3>
try.c: 0x1808f90: i64 = undef
try.c: 0x17ce9d0: v4i64,ch = CopyFromReg 0x1704dd0, Register:v4i64 %vreg13
try.c: 0x17b9410: v4i64 = Register %vreg13
try.c: 0x17cdc20: v16i32 = X86ISD::VBROADCAST 0x17aa400
try.c: 0x17aa400: i32,ch = load<LD4[ConstantPool]> 0x1704dd0, 0x1820990, undef:i64
try.c: 0x1820990: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x17a5700: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1808f90: i64 = undef
try.c: 0x1820d20: 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: 0x1820bf0: i32 = Constant<0>
try.c: 0x1820bf0: i32 = Constant<0>
try.c: 0x1820bf0: i32 = Constant<0>
try.c: 0x1820bf0: 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