Implementation notes: amd64, cel02, crypto_dh/kummer

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: kummer
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
270784182 0 039173 832 1640T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
348936167 0 036266 808 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
359316167 0 034404 800 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
360758176 0 034357 824 1608T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
367048182 0 035957 832 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
372106188 0 035493 832 1608T: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: 0x564827c8ea20: v4i64 = X86ISD::VTRUNC 0x564827c8e8f0
try.c: 0x564827c8e8f0: v16i32 = vselect 0x564827c7c520, 0x564827c1a4b0, 0x564827c8e7c0
try.c: 0x564827c7c520: v4i1 = X86ISD::PCMPGTM 0x564827c750b0, 0x564827c70c40
try.c: 0x564827c750b0: v4i64 = X86ISD::VBROADCAST 0x564827c17650
try.c: 0x564827c17650: i64,ch = load<LD8[%lsr.iv6971]> 0x564827b85900, 0x564827c5a650, undef:i64
try.c: 0x564827c5a650: i64,ch = CopyFromReg 0x564827b85900, Register:i64 %vreg50
try.c: 0x564827c70ea0: i64 = Register %vreg50
try.c: 0x564827c18b20: i64 = undef
try.c: 0x564827c70c40: v4i64,ch = CopyFromReg 0x564827b85900, Register:v4i64 %vreg13
try.c: 0x564827c75900: v4i64 = Register %vreg13
try.c: 0x564827c1a4b0: v16i32 = X86ISD::VBROADCAST 0x564827c75310
try.c: 0x564827c75310: i32,ch = load<LD4[ConstantPool]> 0x564827b85900, 0x564827c1d580, undef:i64
try.c: 0x564827c1d580: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564827c67a90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564827c18b20: i64 = undef
try.c: 0x564827c8e7c0: 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: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: i32 = Constant<0>
try.c: 0x564827c8e690: 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: 0x562449e670d0: v4i64 = X86ISD::VTRUNC 0x562449e66fa0
try.c: 0x562449e66fa0: v16i32 = vselect 0x562449e6c080, 0x562449de4fb0, 0x562449e66e70
try.c: 0x562449e6c080: v4i1 = X86ISD::PCMPGTM 0x562449e4d120, 0x562449e48cb0
try.c: 0x562449e4d120: v4i64 = X86ISD::VBROADCAST 0x562449de5470
try.c: 0x562449de5470: i64,ch = load<LD8[%lsr.iv6971]> 0x562449d46a00, 0x562449dea390, undef:i64
try.c: 0x562449dea390: i64,ch = CopyFromReg 0x562449d46a00, Register:i64 %vreg50
try.c: 0x562449e48f10: i64 = Register %vreg50
try.c: 0x562449df5e80: i64 = undef
try.c: 0x562449e48cb0: v4i64,ch = CopyFromReg 0x562449d46a00, Register:v4i64 %vreg13
try.c: 0x562449e4d970: v4i64 = Register %vreg13
try.c: 0x562449de4fb0: v16i32 = X86ISD::VBROADCAST 0x562449e4d380
try.c: 0x562449e4d380: i32,ch = load<LD4[ConstantPool]> 0x562449d46a00, 0x562449de8960, undef:i64
try.c: 0x562449de8960: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562449df6800: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562449df5e80: i64 = undef
try.c: 0x562449e66e70: 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: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: i32 = Constant<0>
try.c: 0x562449e66d40: 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: 0x55b70569c610: v4i64 = X86ISD::VTRUNC 0x55b70569c4e0
try.c: 0x55b70569c4e0: v16i32 = vselect 0x55b705690170, 0x55b70562cf10, 0x55b70569c3b0
try.c: 0x55b705690170: v4i1 = X86ISD::PCMPGTM 0x55b705684cb0, 0x55b705680840
try.c: 0x55b705684cb0: v4i64 = X86ISD::VBROADCAST 0x55b70560e780
try.c: 0x55b70560e780: i64,ch = load<LD8[%lsr.iv6971]> 0x55b705595920, 0x55b705677270, undef:i64
try.c: 0x55b705677270: i64,ch = CopyFromReg 0x55b705595920, Register:i64 %vreg50
try.c: 0x55b705680aa0: i64 = Register %vreg50
try.c: 0x55b70562b580: i64 = undef
try.c: 0x55b705680840: v4i64,ch = CopyFromReg 0x55b705595920, Register:v4i64 %vreg13
try.c: 0x55b705685500: v4i64 = Register %vreg13
try.c: 0x55b70562cf10: v16i32 = X86ISD::VBROADCAST 0x55b705684f10
try.c: 0x55b705684f10: i32,ch = load<LD4[ConstantPool]> 0x55b705595920, 0x55b70560dd60, undef:i64
try.c: 0x55b70560dd60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b7055f20e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b70562b580: i64 = undef
try.c: 0x55b70569c3b0: 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: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: i32 = Constant<0>
try.c: 0x55b70569c280: 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