Implementation notes: amd64, cel02, crypto_dh/claus

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: claus
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
42121181909 16 0259179 1672 1736T:gmpg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
42138181899 16 0255572 1672 1672T:gmpg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
42589323781 336 2472558 3680 3576T:ntlg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
42668763901 336 2472133 3680 3576T:ntlg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
42881882739 336 2470403 3624 3544T:ntlg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
44213703998 336 2467930 3616 3512T:ntlclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
72578241792 16 0253869 1664 1640T:gmpg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
79978283031 16 0253711 1664 1576T:gmpclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
89366843895 336 2475798 3680 3608T:ntlg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
92348381849 16 0255994 1672 1672T:gmpg++_-march=native_-mtune=native_-O2_-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: 0x5591f9a40580: v4i64 = X86ISD::VTRUNC 0x5591f9a40450
try.cpp: 0x5591f9a40450: v16i32 = vselect 0x5591f9a32c10, 0x5591f99d59e0, 0x5591f9a40320
try.cpp: 0x5591f9a32c10: v4i1 = X86ISD::PCMPGTM 0x5591f9a27c20, 0x5591f9a237b0
try.cpp: 0x5591f9a27c20: v4i64 = X86ISD::VBROADCAST 0x5591f99c5cd0
try.cpp: 0x5591f99c5cd0: i64,ch = load<LD8[%lsr.iv6971]> 0x5591f99369b0, 0x5591f9a0d670, undef:i64
try.cpp: 0x5591f9a0d670: i64,ch = CopyFromReg 0x5591f99369b0, Register:i64 %vreg50
try.cpp: 0x5591f9a23a10: i64 = Register %vreg50
try.cpp: 0x5591f99c71a0: i64 = undef
try.cpp: 0x5591f9a237b0: v4i64,ch = CopyFromReg 0x5591f99369b0, Register:v4i64 %vreg13
try.cpp: 0x5591f9a28470: v4i64 = Register %vreg13
try.cpp: 0x5591f99d59e0: v16i32 = X86ISD::VBROADCAST 0x5591f9a27e80
try.cpp: 0x5591f9a27e80: i32,ch = load<LD4[ConstantPool]> 0x5591f99369b0, 0x5591f99c52b0, undef:i64
try.cpp: 0x5591f99c52b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5591f99deb50: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5591f99c71a0: i64 = undef
try.cpp: 0x5591f9a40320: 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: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: i32 = Constant<0>
try.cpp: 0x5591f9a401f0: 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: 0x5559fa742000: v4i64 = X86ISD::VTRUNC 0x5559fa741ed0
try.cpp: 0x5559fa741ed0: v16i32 = vselect 0x5559fa726880, 0x5559fa6c1a30, 0x5559fa741da0
try.cpp: 0x5559fa726880: v4i1 = X86ISD::PCMPGTM 0x5559fa71ed60, 0x5559fa71a2e0
try.cpp: 0x5559fa71ed60: v4i64 = X86ISD::VBROADCAST 0x5559fa6c1ef0
try.cpp: 0x5559fa6c1ef0: i64,ch = load<LD8[%lsr.iv6971]> 0x5559fa617a80, 0x5559fa6bb0e0, undef:i64
try.cpp: 0x5559fa6bb0e0: i64,ch = CopyFromReg 0x5559fa617a80, Register:i64 %vreg50
try.cpp: 0x5559fa71a540: i64 = Register %vreg50
try.cpp: 0x5559fa697680: i64 = undef
try.cpp: 0x5559fa71a2e0: v4i64,ch = CopyFromReg 0x5559fa617a80, Register:v4i64 %vreg13
try.cpp: 0x5559fa71f5b0: v4i64 = Register %vreg13
try.cpp: 0x5559fa6c1a30: v16i32 = X86ISD::VBROADCAST 0x5559fa71efc0
try.cpp: 0x5559fa71efc0: i32,ch = load<LD4[ConstantPool]> 0x5559fa617a80, 0x5559fa6b96b0, undef:i64
try.cpp: 0x5559fa6b96b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5559fa698000: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5559fa697680: i64 = undef
try.cpp: 0x5559fa741da0: 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: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: i32 = Constant<0>
try.cpp: 0x5559fa741c70: 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: 0x55bfebccef80: v4i64 = X86ISD::VTRUNC 0x55bfebccee50
try.cpp: 0x55bfebccee50: v16i32 = vselect 0x55bfebcc33d0, 0x55bfebc60e80, 0x55bfebcced20
try.cpp: 0x55bfebcc33d0: v4i1 = X86ISD::PCMPGTM 0x55bfebcb8640, 0x55bfebcb41d0
try.cpp: 0x55bfebcb8640: v4i64 = X86ISD::VBROADCAST 0x55bfebc84cc0
try.cpp: 0x55bfebc84cc0: i64,ch = load<LD8[%lsr.iv6971]> 0x55bfebbc79b0, 0x55bfebcaf030, undef:i64
try.cpp: 0x55bfebcaf030: i64,ch = CopyFromReg 0x55bfebbc79b0, Register:i64 %vreg50
try.cpp: 0x55bfebcb4430: i64 = Register %vreg50
try.cpp: 0x55bfebc5f4f0: i64 = undef
try.cpp: 0x55bfebcb41d0: v4i64,ch = CopyFromReg 0x55bfebbc79b0, Register:v4i64 %vreg13
try.cpp: 0x55bfebcb8e90: v4i64 = Register %vreg13
try.cpp: 0x55bfebc60e80: v16i32 = X86ISD::VBROADCAST 0x55bfebcb88a0
try.cpp: 0x55bfebcb88a0: i32,ch = load<LD4[ConstantPool]> 0x55bfebbc79b0, 0x55bfebc842a0, undef:i64
try.cpp: 0x55bfebc842a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55bfebc75130: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55bfebc5f4f0: i64 = undef
try.cpp: 0x55bfebcced20: 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: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: i32 = Constant<0>
try.cpp: 0x55bfebccebf0: 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

Compiler output

Implementation: T:ntl
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: 0x55866a6227f0: v4i64 = X86ISD::VTRUNC 0x55866a6226c0
try.cpp: 0x55866a6226c0: v16i32 = vselect 0x55866a61d1c0, 0x55866a5bac80, 0x55866a622590
try.cpp: 0x55866a61d1c0: v4i1 = X86ISD::PCMPGTM 0x55866a618570, 0x55866a614100
try.cpp: 0x55866a618570: v4i64 = X86ISD::VBROADCAST 0x55866a5cbee0
try.cpp: 0x55866a5cbee0: i64,ch = load<LD8[%lsr.iv6971]> 0x55866a5279b0, 0x55866a5fdc50, undef:i64
try.cpp: 0x55866a5fdc50: i64,ch = CopyFromReg 0x55866a5279b0, Register:i64 %vreg50
try.cpp: 0x55866a614360: i64 = Register %vreg50
try.cpp: 0x55866a5cd3b0: i64 = undef
try.cpp: 0x55866a614100: v4i64,ch = CopyFromReg 0x55866a5279b0, Register:v4i64 %vreg13
try.cpp: 0x55866a618dc0: v4i64 = Register %vreg13
try.cpp: 0x55866a5bac80: v16i32 = X86ISD::VBROADCAST 0x55866a6187d0
try.cpp: 0x55866a6187d0: i32,ch = load<LD4[ConstantPool]> 0x55866a5279b0, 0x55866a5c0340, undef:i64
try.cpp: 0x55866a5c0340: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55866a606a40: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55866a5cd3b0: i64 = undef
try.cpp: 0x55866a622590: 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: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: i32 = Constant<0>
try.cpp: 0x55866a622460: 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:ntl

Compiler output

Implementation: T:ntl
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: 0x556089a11660: v4i64 = X86ISD::VTRUNC 0x556089a11530
try.cpp: 0x556089a11530: v16i32 = vselect 0x5560899f9900, 0x556089989c20, 0x556089a11400
try.cpp: 0x5560899f9900: v4i1 = X86ISD::PCMPGTM 0x5560899ed480, 0x5560899e9250
try.cpp: 0x5560899ed480: v4i64 = X86ISD::VBROADCAST 0x55608998a0e0
try.cpp: 0x55608998a0e0: i64,ch = load<LD8[%lsr.iv6971]> 0x5560898e6a70, 0x556089983160, undef:i64
try.cpp: 0x556089983160: i64,ch = CopyFromReg 0x5560898e6a70, Register:i64 %vreg50
try.cpp: 0x5560899e94b0: i64 = Register %vreg50
try.cpp: 0x556089991f00: i64 = undef
try.cpp: 0x5560899e9250: v4i64,ch = CopyFromReg 0x5560898e6a70, Register:v4i64 %vreg13
try.cpp: 0x5560899edcd0: v4i64 = Register %vreg13
try.cpp: 0x556089989c20: v16i32 = X86ISD::VBROADCAST 0x5560899ed6e0
try.cpp: 0x5560899ed6e0: i32,ch = load<LD4[ConstantPool]> 0x5560898e6a70, 0x556089981730, undef:i64
try.cpp: 0x556089981730: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x556089992880: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x556089991f00: i64 = undef
try.cpp: 0x556089a11400: 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: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: i32 = Constant<0>
try.cpp: 0x556089a112d0: 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:ntl

Compiler output

Implementation: T:ntl
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: 0x5570b7548750: v4i64 = X86ISD::VTRUNC 0x5570b7548620
try.cpp: 0x5570b7548620: v16i32 = vselect 0x5570b7539a10, 0x5570b74e1380, 0x5570b75484f0
try.cpp: 0x5570b7539a10: v4i1 = X86ISD::PCMPGTM 0x5570b75415e0, 0x5570b753d170
try.cpp: 0x5570b75415e0: v4i64 = X86ISD::VBROADCAST 0x5570b74e3580
try.cpp: 0x5570b74e3580: i64,ch = load<LD8[%lsr.iv6971]> 0x5570b74509b0, 0x5570b7533120, undef:i64
try.cpp: 0x5570b7533120: i64,ch = CopyFromReg 0x5570b74509b0, Register:i64 %vreg50
try.cpp: 0x5570b753d3d0: i64 = Register %vreg50
try.cpp: 0x5570b74e4a50: i64 = undef
try.cpp: 0x5570b753d170: v4i64,ch = CopyFromReg 0x5570b74509b0, Register:v4i64 %vreg13
try.cpp: 0x5570b7541e30: v4i64 = Register %vreg13
try.cpp: 0x5570b74e1380: v16i32 = X86ISD::VBROADCAST 0x5570b7541840
try.cpp: 0x5570b7541840: i32,ch = load<LD4[ConstantPool]> 0x5570b74509b0, 0x5570b74f2e40, undef:i64
try.cpp: 0x5570b74f2e40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5570b7525750: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5570b74e4a50: i64 = undef
try.cpp: 0x5570b75484f0: 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: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: i32 = Constant<0>
try.cpp: 0x5570b75483c0: 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:ntl

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:25:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:25:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:28:39: error: incomplete definition of type 'struct dh_st'
keypair.c: ...

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_dh_claus_openssl_timingleaks_keypair':
keypair.c: keypair.c:25:5: error: dereferencing pointer to incomplete type 'DH {aka struct dh_st}'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ^~

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

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:39:7: warning: implicit declaration of function 'DH_get0_pub_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^
keypair.c: keypair.c:39:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:46:7: warning: implicit declaration of function 'DH_get0_priv_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^
keypair.c: keypair.c:46:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~~
keypair.c: 4 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55f3c0c66090: v4i64 = X86ISD::VTRUNC 0x55f3c0c65f60
try.c: 0x55f3c0c65f60: v16i32 = vselect 0x55f3c0c42b30, 0x55f3c0c13cd0, 0x55f3c0c65e30
try.c: 0x55f3c0c42b30: v4i1 = X86ISD::PCMPGTM 0x55f3c0c4a700, 0x55f3c0c46290
try.c: 0x55f3c0c4a700: v4i64 = X86ISD::VBROADCAST 0x55f3c0bee930
try.c: 0x55f3c0bee930: i64,ch = load<LD8[%lsr.iv6971]> 0x55f3c0b5b950, 0x55f3c0c34550, undef:i64
try.c: 0x55f3c0c34550: i64,ch = CopyFromReg 0x55f3c0b5b950, Register:i64 %vreg50
try.c: 0x55f3c0c464f0: i64 = Register %vreg50
try.c: 0x55f3c0c12340: i64 = undef
try.c: 0x55f3c0c46290: v4i64,ch = CopyFromReg 0x55f3c0b5b950, Register:v4i64 %vreg13
try.c: 0x55f3c0c4af50: v4i64 = Register %vreg13
try.c: 0x55f3c0c13cd0: v16i32 = X86ISD::VBROADCAST 0x55f3c0c4a960
try.c: 0x55f3c0c4a960: i32,ch = load<LD4[ConstantPool]> 0x55f3c0b5b950, 0x55f3c0bedf10, undef:i64
try.c: 0x55f3c0bedf10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f3c0c35750: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f3c0c12340: i64 = undef
try.c: 0x55f3c0c65e30: 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: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: 0x55f3c0c65d00: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:39:7: warning: implicit declaration of function 'DH_get0_pub_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^
keypair.c: keypair.c:39:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:46:7: warning: implicit declaration of function 'DH_get0_priv_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^
keypair.c: keypair.c:46:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~~
keypair.c: 4 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x559b737f9f40: v4i64 = X86ISD::VTRUNC 0x559b737f9e10
try.c: 0x559b737f9e10: v16i32 = vselect 0x559b737ba460, 0x559b73769520, 0x559b737f9ce0
try.c: 0x559b737ba460: v4i1 = X86ISD::PCMPGTM 0x559b737d68b0, 0x559b737d2440
try.c: 0x559b737d68b0: v4i64 = X86ISD::VBROADCAST 0x559b737699e0
try.c: 0x559b737699e0: i64,ch = load<LD8[%lsr.iv6971]> 0x559b736cfa40, 0x559b73777ba0, undef:i64
try.c: 0x559b73777ba0: i64,ch = CopyFromReg 0x559b736cfa40, Register:i64 %vreg50
try.c: 0x559b737d26a0: i64 = Register %vreg50
try.c: 0x559b73763640: i64 = undef
try.c: 0x559b737d2440: v4i64,ch = CopyFromReg 0x559b736cfa40, Register:v4i64 %vreg13
try.c: 0x559b737d7100: v4i64 = Register %vreg13
try.c: 0x559b73769520: v16i32 = X86ISD::VBROADCAST 0x559b737d6b10
try.c: 0x559b737d6b10: i32,ch = load<LD4[ConstantPool]> 0x559b736cfa40, 0x559b73775960, undef:i64
try.c: 0x559b73775960: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559b73763fc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559b73763640: i64 = undef
try.c: 0x559b737f9ce0: 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: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: 0x559b737f9bb0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:39:7: warning: implicit declaration of function 'DH_get0_pub_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^
keypair.c: keypair.c:39:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:46:7: warning: implicit declaration of function 'DH_get0_priv_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^
keypair.c: keypair.c:46:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~~
keypair.c: 4 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x557fdca788a0: v4i64 = X86ISD::VTRUNC 0x557fdca78770
try.c: 0x557fdca78770: v16i32 = vselect 0x557fdca69190, 0x557fdca074a0, 0x557fdca78640
try.c: 0x557fdca69190: v4i1 = X86ISD::PCMPGTM 0x557fdca5f8d0, 0x557fdca5b460
try.c: 0x557fdca5f8d0: v4i64 = X86ISD::VBROADCAST 0x557fdc9fffe0
try.c: 0x557fdc9fffe0: i64,ch = load<LD8[%lsr.iv6971]> 0x557fdc970950, 0x557fdca562c0, undef:i64
try.c: 0x557fdca562c0: i64,ch = CopyFromReg 0x557fdc970950, Register:i64 %vreg50
try.c: 0x557fdca5b6c0: i64 = Register %vreg50
try.c: 0x557fdca05b10: i64 = undef
try.c: 0x557fdca5b460: v4i64,ch = CopyFromReg 0x557fdc970950, Register:v4i64 %vreg13
try.c: 0x557fdca60120: v4i64 = Register %vreg13
try.c: 0x557fdca074a0: v16i32 = X86ISD::VBROADCAST 0x557fdca5fb30
try.c: 0x557fdca5fb30: i32,ch = load<LD4[ConstantPool]> 0x557fdc970950, 0x557fdc9ff5c0, undef:i64
try.c: 0x557fdc9ff5c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557fdca0d880: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557fdca05b10: i64 = undef
try.c: 0x557fdca78640: 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: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: 0x557fdca78510: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:39:7: warning: implicit declaration of function 'DH_get0_pub_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^
keypair.c: keypair.c:39:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:46:7: warning: implicit declaration of function 'DH_get0_priv_key' is invalid in C99 [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^
keypair.c: keypair.c:46:5: warning: incompatible integer to pointer conversion assigning to 'const BIGNUM *' (aka 'const struct bignum_st *') from 'int' [-Wint-conversion]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^ ~~~~~~~~~~~~~~~~~~~~
keypair.c: 4 warnings generated.
try.c: crypto_dh_claus.a(keypair.o): In function `crypto_dh_claus_opensslnew_timingleaks_keypair':
try.c: keypair.c:(.text+0x...): undefined reference to `DH_get0_pub_key'
try.c: keypair.c:(.text+0x...): undefined reference to `DH_get0_priv_key'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_dh_claus_opensslnew_timingleaks_keypair':
keypair.c: keypair.c:39:7: warning: implicit declaration of function 'DH_get0_pub_key' [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^~~~~~~~~~~~~~~
keypair.c: keypair.c:39:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
keypair.c: z = DH_get0_pub_key(dh);
keypair.c: ^
keypair.c: keypair.c:46:7: warning: implicit declaration of function 'DH_get0_priv_key' [-Wimplicit-function-declaration]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^~~~~~~~~~~~~~~~
keypair.c: keypair.c:46:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
keypair.c: z = DH_get0_priv_key(dh);
keypair.c: ^
try.c: crypto_dh_claus.a(keypair.o): In function `crypto_dh_claus_opensslnew_timingleaks_keypair':
try.c: keypair.c:(.text+0x...): undefined reference to `DH_get0_pub_key'
try.c: keypair.c:(.text+0x...): undefined reference to `DH_get0_priv_key'
try.c: collect2: error: ld returned 1 exit status

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