Implementation notes: amd64, cel02, crypto_dh/nistp256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: nistp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
183842232314 32864 059976 33688 1576T:wblclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
420023811119 32864 036962 33680 1576T:wblclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
424557419061 32864 049709 33704 1640T:wblgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
448543812406 32864 039829 33704 1608T:wblgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4898702150 0 041277 31552 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5003624150 0 044493 31552 1640T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5094750141 0 039581 31544 1608T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
519950411237 32864 036973 33696 1608T:wblgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5260104135 0 039644 31520 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5274582154 0 040845 31552 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5300972142 0 041506 31528 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
615648611861 32864 038845 33704 1608T:wblgcc_-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: 0x55df675c45d0: v4i64 = X86ISD::VTRUNC 0x55df675c44a0
try.c: 0x55df675c44a0: v16i32 = vselect 0x55df675d4c80, 0x55df67564b50, 0x55df675c4370
try.c: 0x55df675d4c80: v4i1 = X86ISD::PCMPGTM 0x55df675bd910, 0x55df675b94a0
try.c: 0x55df675bd910: v4i64 = X86ISD::VBROADCAST 0x55df67560ae0
try.c: 0x55df67560ae0: i64,ch = load<LD8[%lsr.iv6971]> 0x55df674ce920, 0x55df675b0c50, undef:i64
try.c: 0x55df675b0c50: i64,ch = CopyFromReg 0x55df674ce920, Register:i64 %vreg50
try.c: 0x55df675b9700: i64 = Register %vreg50
try.c: 0x55df67561fb0: i64 = undef
try.c: 0x55df675b94a0: v4i64,ch = CopyFromReg 0x55df674ce920, Register:v4i64 %vreg13
try.c: 0x55df675be160: v4i64 = Register %vreg13
try.c: 0x55df67564b50: v16i32 = X86ISD::VBROADCAST 0x55df675bdb70
try.c: 0x55df675bdb70: i32,ch = load<LD4[ConstantPool]> 0x55df674ce920, 0x55df67584e70, undef:i64
try.c: 0x55df67584e70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55df675a8a50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55df67561fb0: i64 = undef
try.c: 0x55df675c4370: 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: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: i32 = Constant<0>
try.c: 0x55df675c4240: 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: 0x5630198112c0: v4i64 = X86ISD::VTRUNC 0x563019811190
try.c: 0x563019811190: v16i32 = vselect 0x5630197fb750, 0x56301979ad10, 0x563019811060
try.c: 0x5630197fb750: v4i1 = X86ISD::PCMPGTM 0x5630197f8960, 0x5630197f6480
try.c: 0x5630197f8960: v4i64 = X86ISD::VBROADCAST 0x56301979b1d0
try.c: 0x56301979b1d0: i64,ch = load<LD8[%lsr.iv6971]> 0x5630196f3a00, 0x56301978efe0, undef:i64
try.c: 0x56301978efe0: i64,ch = CopyFromReg 0x5630196f3a00, Register:i64 %vreg50
try.c: 0x5630197f66e0: i64 = Register %vreg50
try.c: 0x5630197912b0: i64 = undef
try.c: 0x5630197f6480: v4i64,ch = CopyFromReg 0x5630196f3a00, Register:v4i64 %vreg13
try.c: 0x5630197f91b0: v4i64 = Register %vreg13
try.c: 0x56301979ad10: v16i32 = X86ISD::VBROADCAST 0x5630197f8bc0
try.c: 0x5630197f8bc0: i32,ch = load<LD4[ConstantPool]> 0x5630196f3a00, 0x56301978cda0, undef:i64
try.c: 0x56301978cda0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563019791c30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5630197912b0: i64 = undef
try.c: 0x563019811060: 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: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: i32 = Constant<0>
try.c: 0x563019810f30: 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: 0x556ec8a88430: v4i64 = X86ISD::VTRUNC 0x556ec8a88300
try.c: 0x556ec8a88300: v16i32 = vselect 0x556ec8aa52a0, 0x556ec8a2aad0, 0x556ec8a881d0
try.c: 0x556ec8aa52a0: v4i1 = X86ISD::PCMPGTM 0x556ec8a82e00, 0x556ec8a7e990
try.c: 0x556ec8a82e00: v4i64 = X86ISD::VBROADCAST 0x556ec8a26af0
try.c: 0x556ec8a26af0: i64,ch = load<LD8[%lsr.iv6971]> 0x556ec8993920, 0x556ec8a75ea0, undef:i64
try.c: 0x556ec8a75ea0: i64,ch = CopyFromReg 0x556ec8993920, Register:i64 %vreg50
try.c: 0x556ec8a7ebf0: i64 = Register %vreg50
try.c: 0x556ec8a29140: i64 = undef
try.c: 0x556ec8a7e990: v4i64,ch = CopyFromReg 0x556ec8993920, Register:v4i64 %vreg13
try.c: 0x556ec8a83650: v4i64 = Register %vreg13
try.c: 0x556ec8a2aad0: v16i32 = X86ISD::VBROADCAST 0x556ec8a83060
try.c: 0x556ec8a83060: i32,ch = load<LD4[ConstantPool]> 0x556ec8993920, 0x556ec8a260d0, undef:i64
try.c: 0x556ec8a260d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556ec89efd20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556ec8a29140: i64 = undef
try.c: 0x556ec8a881d0: 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: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: i32 = Constant<0>
try.c: 0x556ec8a880a0: 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

Compiler output

Implementation: T:wbl
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: 0x56148ac6a350: v4i64 = X86ISD::VTRUNC 0x56148ac6a220
try.c: 0x56148ac6a220: v16i32 = vselect 0x56148ac5c360, 0x56148abf85d0, 0x56148ac6a0f0
try.c: 0x56148ac5c360: v4i1 = X86ISD::PCMPGTM 0x56148ac509e0, 0x56148ac4c570
try.c: 0x56148ac509e0: v4i64 = X86ISD::VBROADCAST 0x56148abf1320
try.c: 0x56148abf1320: i64,ch = load<LD8[%lsr.iv6971]> 0x56148ab61910, 0x56148ac473d0, undef:i64
try.c: 0x56148ac473d0: i64,ch = CopyFromReg 0x56148ab61910, Register:i64 %vreg50
try.c: 0x56148ac4c7d0: i64 = Register %vreg50
try.c: 0x56148abf6c40: i64 = undef
try.c: 0x56148ac4c570: v4i64,ch = CopyFromReg 0x56148ab61910, Register:v4i64 %vreg13
try.c: 0x56148ac51230: v4i64 = Register %vreg13
try.c: 0x56148abf85d0: v16i32 = X86ISD::VBROADCAST 0x56148ac50c40
try.c: 0x56148ac50c40: i32,ch = load<LD4[ConstantPool]> 0x56148ab61910, 0x56148abf0900, undef:i64
try.c: 0x56148abf0900: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56148abfcaa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56148abf6c40: i64 = undef
try.c: 0x56148ac6a0f0: 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: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: i32 = Constant<0>
try.c: 0x56148ac69fc0: 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:wbl

Compiler output

Implementation: T:wbl
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: 0x561423dcbdf0: v4i64 = X86ISD::VTRUNC 0x561423dcbcc0
try.c: 0x561423dcbcc0: v16i32 = vselect 0x561423dda060, 0x561423d54d50, 0x561423dcbb90
try.c: 0x561423dda060: v4i1 = X86ISD::PCMPGTM 0x561423dc0c50, 0x561423dbd7f0
try.c: 0x561423dc0c50: v4i64 = X86ISD::VBROADCAST 0x561423d55210
try.c: 0x561423d55210: i64,ch = load<LD8[%lsr.iv6971]> 0x561423cbaa00, 0x561423d5cd20, undef:i64
try.c: 0x561423d5cd20: i64,ch = CopyFromReg 0x561423cbaa00, Register:i64 %vreg50
try.c: 0x561423dbda50: i64 = Register %vreg50
try.c: 0x561423d69950: i64 = undef
try.c: 0x561423dbd7f0: v4i64,ch = CopyFromReg 0x561423cbaa00, Register:v4i64 %vreg13
try.c: 0x561423dc14a0: v4i64 = Register %vreg13
try.c: 0x561423d54d50: v16i32 = X86ISD::VBROADCAST 0x561423dc0eb0
try.c: 0x561423dc0eb0: i32,ch = load<LD4[ConstantPool]> 0x561423cbaa00, 0x561423d5b2f0, undef:i64
try.c: 0x561423d5b2f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561423d6a2d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561423d69950: i64 = undef
try.c: 0x561423dcbb90: 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: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: i32 = Constant<0>
try.c: 0x561423dcba60: 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:wbl

Compiler output

Implementation: T:wbl
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: 0x5600a288cf20: v4i64 = X86ISD::VTRUNC 0x5600a288cdf0
try.c: 0x5600a288cdf0: v16i32 = vselect 0x5600a286bb90, 0x5600a281aa60, 0x5600a288ccc0
try.c: 0x5600a286bb90: v4i1 = X86ISD::PCMPGTM 0x5600a2873760, 0x5600a286f2f0
try.c: 0x5600a2873760: v4i64 = X86ISD::VBROADCAST 0x5600a28280b0
try.c: 0x5600a28280b0: i64,ch = load<LD8[%lsr.iv6971]> 0x5600a27848f0, 0x5600a28582d0, undef:i64
try.c: 0x5600a28582d0: i64,ch = CopyFromReg 0x5600a27848f0, Register:i64 %vreg50
try.c: 0x5600a286f550: i64 = Register %vreg50
try.c: 0x5600a2829580: i64 = undef
try.c: 0x5600a286f2f0: v4i64,ch = CopyFromReg 0x5600a27848f0, Register:v4i64 %vreg13
try.c: 0x5600a2873fb0: v4i64 = Register %vreg13
try.c: 0x5600a281aa60: v16i32 = X86ISD::VBROADCAST 0x5600a28739c0
try.c: 0x5600a28739c0: i32,ch = load<LD4[ConstantPool]> 0x5600a27848f0, 0x5600a2813b90, undef:i64
try.c: 0x5600a2813b90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5600a2853c10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5600a2829580: i64 = undef
try.c: 0x5600a288ccc0: 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: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: i32 = Constant<0>
try.c: 0x5600a288cb90: 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:wbl