Implementation notes: amd64, cel02, crypto_dh/nist521gs

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: nist521gs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
406985214804 0 842517 832 1640T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
418495425882 0 853698 808 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
659720610108 0 835869 824 1640T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
732690212585 0 838572 800 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
822242845547 0 876525 832 1672T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1330731614742 0 841997 832 1640T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5582b1039450: v4i64 = X86ISD::VTRUNC 0x5582b1039320
try.c: 0x5582b1039320: v16i32 = vselect 0x5582b104ac50, 0x5582b0fd8970, 0x5582b10391f0
try.c: 0x5582b104ac50: v4i1 = X86ISD::PCMPGTM 0x5582b10318d0, 0x5582b102d460
try.c: 0x5582b10318d0: v4i64 = X86ISD::VBROADCAST 0x5582b0fec260
try.c: 0x5582b0fec260: i64,ch = load<LD8[%lsr.iv6971]> 0x5582b0f42910, 0x5582b10282c0, undef:i64
try.c: 0x5582b10282c0: i64,ch = CopyFromReg 0x5582b0f42910, Register:i64 %vreg50
try.c: 0x5582b102d6c0: i64 = Register %vreg50
try.c: 0x5582b0fed730: i64 = undef
try.c: 0x5582b102d460: v4i64,ch = CopyFromReg 0x5582b0f42910, Register:v4i64 %vreg13
try.c: 0x5582b1032120: v4i64 = Register %vreg13
try.c: 0x5582b0fd8970: v16i32 = X86ISD::VBROADCAST 0x5582b1031b30
try.c: 0x5582b1031b30: i32,ch = load<LD4[ConstantPool]> 0x5582b0f42910, 0x5582b0feb840, undef:i64
try.c: 0x5582b0feb840: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5582b1017020: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5582b0fed730: i64 = undef
try.c: 0x5582b10391f0: 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: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: i32 = Constant<0>
try.c: 0x5582b10390c0: 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:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55562b3e15a0: v4i64 = X86ISD::VTRUNC 0x55562b3e1470
try.c: 0x55562b3e1470: v16i32 = vselect 0x55562b3d4650, 0x55562b359190, 0x55562b3e1340
try.c: 0x55562b3d4650: v4i1 = X86ISD::PCMPGTM 0x55562b3bd0f0, 0x55562b3b8670
try.c: 0x55562b3bd0f0: v4i64 = X86ISD::VBROADCAST 0x55562b359650
try.c: 0x55562b359650: i64,ch = load<LD8[%lsr.iv6971]> 0x55562b2b6a00, 0x55562b352720, undef:i64
try.c: 0x55562b352720: i64,ch = CopyFromReg 0x55562b2b6a00, Register:i64 %vreg50
try.c: 0x55562b3b88d0: i64 = Register %vreg50
try.c: 0x55562b3541d0: i64 = undef
try.c: 0x55562b3b8670: v4i64,ch = CopyFromReg 0x55562b2b6a00, Register:v4i64 %vreg13
try.c: 0x55562b3bd940: v4i64 = Register %vreg13
try.c: 0x55562b359190: v16i32 = X86ISD::VBROADCAST 0x55562b3bd350
try.c: 0x55562b3bd350: i32,ch = load<LD4[ConstantPool]> 0x55562b2b6a00, 0x55562b350cf0, undef:i64
try.c: 0x55562b350cf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55562b354b50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55562b3541d0: i64 = undef
try.c: 0x55562b3e1340: 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: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: i32 = Constant<0>
try.c: 0x55562b3e1210: 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:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55abf119e550: v4i64 = X86ISD::VTRUNC 0x55abf119e420
try.c: 0x55abf119e420: v16i32 = vselect 0x55abf1198f20, 0x55abf113a0b0, 0x55abf119e2f0
try.c: 0x55abf1198f20: v4i1 = X86ISD::PCMPGTM 0x55abf1197f10, 0x55abf1193aa0
try.c: 0x55abf1197f10: v4i64 = X86ISD::VBROADCAST 0x55abf11470d0
try.c: 0x55abf11470d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55abf10a8920, 0x55abf118a410, undef:i64
try.c: 0x55abf118a410: i64,ch = CopyFromReg 0x55abf10a8920, Register:i64 %vreg50
try.c: 0x55abf1193d00: i64 = Register %vreg50
try.c: 0x55abf1138720: i64 = undef
try.c: 0x55abf1193aa0: v4i64,ch = CopyFromReg 0x55abf10a8920, Register:v4i64 %vreg13
try.c: 0x55abf1198760: v4i64 = Register %vreg13
try.c: 0x55abf113a0b0: v16i32 = X86ISD::VBROADCAST 0x55abf1198170
try.c: 0x55abf1198170: i32,ch = load<LD4[ConstantPool]> 0x55abf10a8920, 0x55abf11466b0, undef:i64
try.c: 0x55abf11466b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55abf1165160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55abf1138720: i64 = undef
try.c: 0x55abf119e2f0: 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: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: i32 = Constant<0>
try.c: 0x55abf119e1c0: 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:ref