Implementation notes: amd64, cel02, crypto_dh/sclaus2048

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: sclaus2048
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
36114362588 16 32259547 1704 1768T:gmpg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
64066242539 16 32256298 1704 1704T:gmpg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
65019102518 16 32254626 1696 1672T:gmpg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
66956262609 16 32255955 1704 1704T:gmpg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
67050623699 16 24254363 1696 1608T:gmpclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-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: 0x55de02fa4bc0: v4i64 = X86ISD::VTRUNC 0x55de02fa4a90
try.cpp: 0x55de02fa4a90: v16i32 = vselect 0x55de02fb9920, 0x55de02f44460, 0x55de02fa4960
try.cpp: 0x55de02fb9920: v4i1 = X86ISD::PCMPGTM 0x55de02fa15b0, 0x55de02f9d140
try.cpp: 0x55de02fa15b0: v4i64 = X86ISD::VBROADCAST 0x55de02f4a090
try.cpp: 0x55de02f4a090: i64,ch = load<LD8[%lsr.iv6971]> 0x55de02eb09d0, 0x55de02f8bb30, undef:i64
try.cpp: 0x55de02f8bb30: i64,ch = CopyFromReg 0x55de02eb09d0, Register:i64 %vreg50
try.cpp: 0x55de02f9d3a0: i64 = Register %vreg50
try.cpp: 0x55de02f4b560: i64 = undef
try.cpp: 0x55de02f9d140: v4i64,ch = CopyFromReg 0x55de02eb09d0, Register:v4i64 %vreg13
try.cpp: 0x55de02fa1e00: v4i64 = Register %vreg13
try.cpp: 0x55de02f44460: v16i32 = X86ISD::VBROADCAST 0x55de02fa1810
try.cpp: 0x55de02fa1810: i32,ch = load<LD4[ConstantPool]> 0x55de02eb09d0, 0x55de02f53f00, undef:i64
try.cpp: 0x55de02f53f00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55de02f936f0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55de02f4b560: i64 = undef
try.cpp: 0x55de02fa4960: 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: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: i32 = Constant<0>
try.cpp: 0x55de02fa4830: 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: 0x555f2bc60c40: v4i64 = X86ISD::VTRUNC 0x555f2bc60b10
try.cpp: 0x555f2bc60b10: v16i32 = vselect 0x555f2bc6f7b0, 0x555f2bbec750, 0x555f2bc609e0
try.cpp: 0x555f2bc6f7b0: v4i1 = X86ISD::PCMPGTM 0x555f2bc57df0, 0x555f2bc53980
try.cpp: 0x555f2bc57df0: v4i64 = X86ISD::VBROADCAST 0x555f2bbecc10
try.cpp: 0x555f2bbecc10: i64,ch = load<LD8[%lsr.iv6971]> 0x555f2bb50a80, 0x555f2bbfcdc0, undef:i64
try.cpp: 0x555f2bbfcdc0: i64,ch = CopyFromReg 0x555f2bb50a80, Register:i64 %vreg50
try.cpp: 0x555f2bc53be0: i64 = Register %vreg50
try.cpp: 0x555f2bbd7600: i64 = undef
try.cpp: 0x555f2bc53980: v4i64,ch = CopyFromReg 0x555f2bb50a80, Register:v4i64 %vreg13
try.cpp: 0x555f2bc58640: v4i64 = Register %vreg13
try.cpp: 0x555f2bbec750: v16i32 = X86ISD::VBROADCAST 0x555f2bc58050
try.cpp: 0x555f2bc58050: i32,ch = load<LD4[ConstantPool]> 0x555f2bb50a80, 0x555f2bbf0360, undef:i64
try.cpp: 0x555f2bbf0360: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x555f2bbd7f80: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x555f2bbd7600: i64 = undef
try.cpp: 0x555f2bc609e0: 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: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: i32 = Constant<0>
try.cpp: 0x555f2bc608b0: 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: 0x55b10cebf350: v4i64 = X86ISD::VTRUNC 0x55b10cebf220
try.cpp: 0x55b10cebf220: v16i32 = vselect 0x55b10cebbd30, 0x55b10ce38da0, 0x55b10cebf0f0
try.cpp: 0x55b10cebbd30: v4i1 = X86ISD::PCMPGTM 0x55b10ce9c3a0, 0x55b10ce97f30
try.cpp: 0x55b10ce9c3a0: v4i64 = X86ISD::VBROADCAST 0x55b10ce3ab10
try.cpp: 0x55b10ce3ab10: i64,ch = load<LD8[%lsr.iv6971]> 0x55b10cdab9c0, 0x55b10ce84e40, undef:i64
try.cpp: 0x55b10ce84e40: i64,ch = CopyFromReg 0x55b10cdab9c0, Register:i64 %vreg50
try.cpp: 0x55b10ce98190: i64 = Register %vreg50
try.cpp: 0x55b10ce3bfe0: i64 = undef
try.cpp: 0x55b10ce97f30: v4i64,ch = CopyFromReg 0x55b10cdab9c0, Register:v4i64 %vreg13
try.cpp: 0x55b10ce9cbf0: v4i64 = Register %vreg13
try.cpp: 0x55b10ce38da0: v16i32 = X86ISD::VBROADCAST 0x55b10ce9c600
try.cpp: 0x55b10ce9c600: i32,ch = load<LD4[ConstantPool]> 0x55b10cdab9c0, 0x55b10ce68c40, undef:i64
try.cpp: 0x55b10ce68c40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55b10ce86040: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55b10ce3bfe0: i64 = undef
try.cpp: 0x55b10cebf0f0: 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: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: i32 = Constant<0>
try.cpp: 0x55b10cebefc0: 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