Implementation notes: amd64, oki, crypto_dh/kummer

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_dh
Primitive: kummer
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
192928? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
192936? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
192948? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011020181123
192954? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
192956? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
192960? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
192970? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011020181123
192976? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
192976? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
192976? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
192982? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
192986? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
192988? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
192988? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
192988? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
192988? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
192990? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
192990? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
192994? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
192996? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
193002? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
193006? ? ?? ? ?refgcc2019011020181123
193006? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
193008? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
193010? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
193012? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
193014? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
193018? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
193022? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
193026? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
193030? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
193038? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
193040? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
193042? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
193044? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
193050? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
193052? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
193064? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
193072? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
193072? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
193102? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
193180? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
193512? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
193560? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
193562? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
193568? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
193572? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
193574? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
193576? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
193578? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
193580? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
193582? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
193586? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
193586? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
193586? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
193588? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
193588? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
193588? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
193588? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
193590? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
193592? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
193592? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011020181123
193594? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
193594? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
193594? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
193594? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
193596? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
193596? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
193596? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
193596? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
193598? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
193604? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
193604? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
193606? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
193606? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
193608? ? ?? ? ?refcc2019011020181123
193608? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011020181123
193610? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
193610? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
193610? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
193612? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
193612? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
193612? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
193614? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
193620? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
193620? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
193622? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
193622? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
193624? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
193624? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
193626? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
193630? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
193630? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
193632? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
193632? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
193640? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
193642? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
193644? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
193644? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
193646? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
193652? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
193654? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
193656? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
193656? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
193660? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
193662? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
193664? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011020181123
193666? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
193668? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
193670? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
193674? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
193688? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
193700? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
193738? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
193760? ? ?? ? ?refgcc_-funroll-loops2019011020181123
194258? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
194454? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
194628? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
195210? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123

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: 0xa20e90: v4i64 = X86ISD::VTRUNC 0xa20cc0
try.c: 0xa20cc0: v16i32 = vselect 0xa1d900, 0x9dca20, 0xa20b90
try.c: 0xa1d900: v4i1 = X86ISD::PCMPGTM 0xa176a0, 0x9c3390
try.c: 0xa176a0: v4i64 = X86ISD::VBROADCAST 0x9c3720
try.c: 0x9c3720: i64,ch = load<LD8[%uglygep72]> 0x916dc0, 0xa0b370, undef:i64
try.c: 0xa0b370: i64 = add 0xa1c7c0, 0x9dde30
try.c: 0xa1c7c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xa0f480: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x9dde30: i64 = shl 0xa0ec30, Constant:i8<3>
try.c: 0xa0ec30: i64,ch = CopyFromReg 0x916dc0, Register:i64 %vreg50
try.c: 0xa1cc80: i64 = Register %vreg50
try.c: 0x9df430: i8 = Constant<3>
try.c: 0xa1af60: i64 = undef
try.c: 0x9c3390: v4i64,ch = CopyFromReg 0x916dc0, Register:v4i64 %vreg13
try.c: 0x9b7480: v4i64 = Register %vreg13
try.c: 0x9dca20: v16i32 = X86ISD::VBROADCAST 0xa0ee90
try.c: 0xa0ee90: i32,ch = load<LD4[ConstantPool]> 0x916dc0, 0xa20800, undef:i64
try.c: 0xa20800: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x9b4fa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xa1af60: i64 = undef
try.c: 0xa20b90: 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: 0xa20a60: i32 = Constant<0>
try.c: 0xa20a60: i32 = Constant<0>
try.c: 0xa20a60: i32 = Constant<0>
try.c: 0xa20a60: 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: 0x1d32f80: v4i64 = X86ISD::VTRUNC 0x1d32db0
try.c: 0x1d32db0: v16i32 = vselect 0x1d2f9f0, 0x1cc89d0, 0x1d32c80
try.c: 0x1d2f9f0: v4i1 = X86ISD::PCMPGTM 0x1d1c870, 0x1cb3320
try.c: 0x1d1c870: v4i64 = X86ISD::VBROADCAST 0x1cb36b0
try.c: 0x1cb36b0: i64,ch = load<LD8[%uglygep72]> 0x1c16dd0, 0x1d04ce0, undef:i64
try.c: 0x1d04ce0: i64 = add 0x1d1d750, 0x1cc9ed0
try.c: 0x1d1d750: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1d0db10: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1cc9ed0: i64 = shl 0x1d0d2c0, Constant:i8<3>
try.c: 0x1d0d2c0: i64,ch = CopyFromReg 0x1c16dd0, Register:i64 %vreg50
try.c: 0x1d1dc10: i64 = Register %vreg50
try.c: 0x1cac6e0: i8 = Constant<3>
try.c: 0x1d1aee0: i64 = undef
try.c: 0x1cb3320: v4i64,ch = CopyFromReg 0x1c16dd0, Register:v4i64 %vreg13
try.c: 0x1cb7de0: v4i64 = Register %vreg13
try.c: 0x1cc89d0: v16i32 = X86ISD::VBROADCAST 0x1d0d520
try.c: 0x1d0d520: i32,ch = load<LD4[ConstantPool]> 0x1c16dd0, 0x1d328f0, undef:i64
try.c: 0x1d328f0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1cb5900: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1d1aee0: i64 = undef
try.c: 0x1d32c80: 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: 0x1d32b50: i32 = Constant<0>
try.c: 0x1d32b50: i32 = Constant<0>
try.c: 0x1d32b50: i32 = Constant<0>
try.c: 0x1d32b50: 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