Implementation notes: amd64, cel02, crypto_dh/sclaus1024

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: sclaus1024
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13005201923 16 32256234 1704 1704T:gmpg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13444241902 16 32254306 1696 1672T:gmpg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13552603016 16 24254107 1696 1608T:gmpclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
13642041956 16 32259419 1704 1768T:gmpg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13757421993 16 32255827 1704 1704T:gmpg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:cryptopp
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.cpp: keypair.cpp:1:10: fatal error: 'cryptopp/dh.h' file not found
keypair.cpp: #include <cryptopp/dh.h>
keypair.cpp: ^
keypair.cpp: 1 error generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp

Compiler output

Implementation: T:cryptopp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.cpp: keypair.cpp:1:25: fatal error: cryptopp/dh.h: No such file or directory
keypair.cpp: #include <cryptopp/dh.h>
keypair.cpp: ^
keypair.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:cryptopp
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:cryptopp
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:cryptopp
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:cryptopp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x5652b759d820: v4i64 = X86ISD::VTRUNC 0x5652b759d6f0
try.cpp: 0x5652b759d6f0: v16i32 = vselect 0x5652b75a9100, 0x5652b7541a80, 0x5652b759d5c0
try.cpp: 0x5652b75a9100: v4i1 = X86ISD::PCMPGTM 0x5652b75925a0, 0x5652b758e130
try.cpp: 0x5652b75925a0: v4i64 = X86ISD::VBROADCAST 0x5652b7538a90
try.cpp: 0x5652b7538a90: i64,ch = load<LD8[%lsr.iv6971]> 0x5652b74a19c0, 0x5652b7557460, undef:i64
try.cpp: 0x5652b7557460: i64,ch = CopyFromReg 0x5652b74a19c0, Register:i64 %vreg50
try.cpp: 0x5652b758e390: i64 = Register %vreg50
try.cpp: 0x5652b7539f60: i64 = undef
try.cpp: 0x5652b758e130: v4i64,ch = CopyFromReg 0x5652b74a19c0, Register:v4i64 %vreg13
try.cpp: 0x5652b7592df0: v4i64 = Register %vreg13
try.cpp: 0x5652b7541a80: v16i32 = X86ISD::VBROADCAST 0x5652b7592800
try.cpp: 0x5652b7592800: i32,ch = load<LD4[ConstantPool]> 0x5652b74a19c0, 0x5652b7538070, undef:i64
try.cpp: 0x5652b7538070: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5652b757c5e0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5652b7539f60: i64 = undef
try.cpp: 0x5652b759d5c0: 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.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: 0x5652b759d490: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x557cab158f50: v4i64 = X86ISD::VTRUNC 0x557cab158e20
try.cpp: 0x557cab158e20: v16i32 = vselect 0x557cab155930, 0x557cab0e0c00, 0x557cab158cf0
try.cpp: 0x557cab155930: v4i1 = X86ISD::PCMPGTM 0x557cab14cd20, 0x557cab14a030
try.cpp: 0x557cab14cd20: v4i64 = X86ISD::VBROADCAST 0x557cab0e10c0
try.cpp: 0x557cab0e10c0: i64,ch = load<LD8[%lsr.iv6971]> 0x557cab046a80, 0x557cab0f77e0, undef:i64
try.cpp: 0x557cab0f77e0: i64,ch = CopyFromReg 0x557cab046a80, Register:i64 %vreg50
try.cpp: 0x557cab14a290: i64 = Register %vreg50
try.cpp: 0x557cab0fe6d0: i64 = undef
try.cpp: 0x557cab14a030: v4i64,ch = CopyFromReg 0x557cab046a80, Register:v4i64 %vreg13
try.cpp: 0x557cab14d570: v4i64 = Register %vreg13
try.cpp: 0x557cab0e0c00: v16i32 = X86ISD::VBROADCAST 0x557cab14cf80
try.cpp: 0x557cab14cf80: i32,ch = load<LD4[ConstantPool]> 0x557cab046a80, 0x557cab0e35a0, undef:i64
try.cpp: 0x557cab0e35a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x557cab0ff050: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x557cab0fe6d0: i64 = undef
try.cpp: 0x557cab158cf0: 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.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: 0x557cab158bc0: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x555f2f748ee0: v4i64 = X86ISD::VTRUNC 0x555f2f748db0
try.cpp: 0x555f2f748db0: v16i32 = vselect 0x555f2f730180, 0x555f2f6d1530, 0x555f2f748c80
try.cpp: 0x555f2f730180: v4i1 = X86ISD::PCMPGTM 0x555f2f731710, 0x555f2f72dca0
try.cpp: 0x555f2f731710: v4i64 = X86ISD::VBROADCAST 0x555f2f6d5350
try.cpp: 0x555f2f6d5350: i64,ch = load<LD8[%lsr.iv6971]> 0x555f2f6419d0, 0x555f2f71ad50, undef:i64
try.cpp: 0x555f2f71ad50: i64,ch = CopyFromReg 0x555f2f6419d0, Register:i64 %vreg50
try.cpp: 0x555f2f72df00: i64 = Register %vreg50
try.cpp: 0x555f2f6cfba0: i64 = undef
try.cpp: 0x555f2f72dca0: v4i64,ch = CopyFromReg 0x555f2f6419d0, Register:v4i64 %vreg13
try.cpp: 0x555f2f731f60: v4i64 = Register %vreg13
try.cpp: 0x555f2f6d1530: v16i32 = X86ISD::VBROADCAST 0x555f2f731970
try.cpp: 0x555f2f731970: i32,ch = load<LD4[ConstantPool]> 0x555f2f6419d0, 0x555f2f6d4930, undef:i64
try.cpp: 0x555f2f6d4930: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x555f2f717000: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x555f2f6cfba0: i64 = undef
try.cpp: 0x555f2f748c80: 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.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: 0x555f2f748b50: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp