Implementation notes: amd64, cel02, crypto_dh/ed521gs

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: ed521gs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
599057817263 0 044245 832 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
629200410817 0 036501 824 1608T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
693818831082 0 058690 808 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
701456813119 0 038924 800 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
711666214434 0 041861 832 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
715231658014 0 088701 832 1640T:refgcc_-march=native_-mtune=native_-O3_-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: 0x5594e4dc6af0: v4i64 = X86ISD::VTRUNC 0x5594e4dc69c0
try.c: 0x5594e4dc69c0: v16i32 = vselect 0x5594e4dc34d0, 0x5594e4d47a10, 0x5594e4dc6890
try.c: 0x5594e4dc34d0: v4i1 = X86ISD::PCMPGTM 0x5594e4da2fe0, 0x5594e4d9eb70
try.c: 0x5594e4da2fe0: v4i64 = X86ISD::VBROADCAST 0x5594e4d50e10
try.c: 0x5594e4d50e10: i64,ch = load<LD8[%lsr.iv6971]> 0x5594e4cb3960, 0x5594e4d8e2d0, undef:i64
try.c: 0x5594e4d8e2d0: i64,ch = CopyFromReg 0x5594e4cb3960, Register:i64 %vreg50
try.c: 0x5594e4d9edd0: i64 = Register %vreg50
try.c: 0x5594e4d46080: i64 = undef
try.c: 0x5594e4d9eb70: v4i64,ch = CopyFromReg 0x5594e4cb3960, Register:v4i64 %vreg13
try.c: 0x5594e4da3830: v4i64 = Register %vreg13
try.c: 0x5594e4d47a10: v16i32 = X86ISD::VBROADCAST 0x5594e4da3240
try.c: 0x5594e4da3240: i32,ch = load<LD4[ConstantPool]> 0x5594e4cb3960, 0x5594e4d503f0, undef:i64
try.c: 0x5594e4d503f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5594e4d8a100: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5594e4d46080: i64 = undef
try.c: 0x5594e4dc6890: 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: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: i32 = Constant<0>
try.c: 0x5594e4dc6760: 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: 0x55cc427e8600: v4i64 = X86ISD::VTRUNC 0x55cc427e84d0
try.c: 0x55cc427e84d0: v16i32 = vselect 0x55cc427d37e0, 0x55cc4277d100, 0x55cc427e83a0
try.c: 0x55cc427d37e0: v4i1 = X86ISD::PCMPGTM 0x55cc427cd480, 0x55cc427cafa0
try.c: 0x55cc427cd480: v4i64 = X86ISD::VBROADCAST 0x55cc4277d5c0
try.c: 0x55cc4277d5c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55cc426c7a00, 0x55cc42770f70, undef:i64
try.c: 0x55cc42770f70: i64,ch = CopyFromReg 0x55cc426c7a00, Register:i64 %vreg50
try.c: 0x55cc427cb200: i64 = Register %vreg50
try.c: 0x55cc42766f60: i64 = undef
try.c: 0x55cc427cafa0: v4i64,ch = CopyFromReg 0x55cc426c7a00, Register:v4i64 %vreg13
try.c: 0x55cc427cdcd0: v4i64 = Register %vreg13
try.c: 0x55cc4277d100: v16i32 = X86ISD::VBROADCAST 0x55cc427cd6e0
try.c: 0x55cc427cd6e0: i32,ch = load<LD4[ConstantPool]> 0x55cc426c7a00, 0x55cc4276f540, undef:i64
try.c: 0x55cc4276f540: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55cc427678e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55cc42766f60: i64 = undef
try.c: 0x55cc427e83a0: 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: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: i32 = Constant<0>
try.c: 0x55cc427e8270: 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: 0x55dd07323460: v4i64 = X86ISD::VTRUNC 0x55dd07323330
try.c: 0x55dd07323330: v16i32 = vselect 0x55dd0731fe40, 0x55dd072c6380, 0x55dd07323200
try.c: 0x55dd0731fe40: v4i1 = X86ISD::PCMPGTM 0x55dd0731b1f0, 0x55dd07316d80
try.c: 0x55dd0731b1f0: v4i64 = X86ISD::VBROADCAST 0x55dd072bdc20
try.c: 0x55dd072bdc20: i64,ch = load<LD8[%lsr.iv6971]> 0x55dd0722b950, 0x55dd07302540, undef:i64
try.c: 0x55dd07302540: i64,ch = CopyFromReg 0x55dd0722b950, Register:i64 %vreg50
try.c: 0x55dd07316fe0: i64 = Register %vreg50
try.c: 0x55dd072bf0f0: i64 = undef
try.c: 0x55dd07316d80: v4i64,ch = CopyFromReg 0x55dd0722b950, Register:v4i64 %vreg13
try.c: 0x55dd0731ba40: v4i64 = Register %vreg13
try.c: 0x55dd072c6380: v16i32 = X86ISD::VBROADCAST 0x55dd0731b450
try.c: 0x55dd0731b450: i32,ch = load<LD4[ConstantPool]> 0x55dd0722b950, 0x55dd072bd200, undef:i64
try.c: 0x55dd072bd200: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dd072aa0f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dd072bf0f0: i64 = undef
try.c: 0x55dd07323200: 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: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: i32 = Constant<0>
try.c: 0x55dd073230d0: 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