Implementation notes: amd64, cel02, crypto_kem/ledakem53sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem53sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6756381481208 1861640 0120669 1862472 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7626676449350 1861640 084084 1862440 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8992755251816 1861640 088077 1862472 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9474637651692 1861640 087485 1862472 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9880160831771 1861640 066541 1862464 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13415321049273 72 085730 880 1624T:portableoptclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:portableopt
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: 0x563dc5b12c70: v4i64 = X86ISD::VTRUNC 0x563dc5b12b40
try.c: 0x563dc5b12b40: v16i32 = vselect 0x563dc5b0f650, 0x563dc5ad5a20, 0x563dc5b12a10
try.c: 0x563dc5b0f650: v4i1 = X86ISD::PCMPGTM 0x563dc5b0aa00, 0x563dc5b06590
try.c: 0x563dc5b0aa00: v4i64 = X86ISD::VBROADCAST 0x563dc5aac290
try.c: 0x563dc5aac290: i64,ch = load<LD8[%lsr.iv6971]> 0x563dc5a1b950, 0x563dc5af4a60, undef:i64
try.c: 0x563dc5af4a60: i64,ch = CopyFromReg 0x563dc5a1b950, Register:i64 %vreg50
try.c: 0x563dc5b067f0: i64 = Register %vreg50
try.c: 0x563dc5ad4090: i64 = undef
try.c: 0x563dc5b06590: v4i64,ch = CopyFromReg 0x563dc5a1b950, Register:v4i64 %vreg13
try.c: 0x563dc5b0b250: v4i64 = Register %vreg13
try.c: 0x563dc5ad5a20: v16i32 = X86ISD::VBROADCAST 0x563dc5b0ac60
try.c: 0x563dc5b0ac60: i32,ch = load<LD4[ConstantPool]> 0x563dc5a1b950, 0x563dc5aab870, undef:i64
try.c: 0x563dc5aab870: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563dc5af05e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563dc5ad4090: i64 = undef
try.c: 0x563dc5b12a10: 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: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: i32 = Constant<0>
try.c: 0x563dc5b128e0: 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:portableopt

Compiler output

Implementation: T:portableopt
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: 0x55dd3f479ed0: v4i64 = X86ISD::VTRUNC 0x55dd3f479da0
try.c: 0x55dd3f479da0: v16i32 = vselect 0x55dd3f485a90, 0x55dd3f40b1c0, 0x55dd3f479c70
try.c: 0x55dd3f485a90: v4i1 = X86ISD::PCMPGTM 0x55dd3f46f8b0, 0x55dd3f46b680
try.c: 0x55dd3f46f8b0: v4i64 = X86ISD::VBROADCAST 0x55dd3f40b680
try.c: 0x55dd3f40b680: i64,ch = load<LD8[%lsr.iv6971]> 0x55dd3f369a40, 0x55dd3f404720, undef:i64
try.c: 0x55dd3f404720: i64,ch = CopyFromReg 0x55dd3f369a40, Register:i64 %vreg50
try.c: 0x55dd3f46b8e0: i64 = Register %vreg50
try.c: 0x55dd3f41aa90: i64 = undef
try.c: 0x55dd3f46b680: v4i64,ch = CopyFromReg 0x55dd3f369a40, Register:v4i64 %vreg13
try.c: 0x55dd3f470100: v4i64 = Register %vreg13
try.c: 0x55dd3f40b1c0: v16i32 = X86ISD::VBROADCAST 0x55dd3f46fb10
try.c: 0x55dd3f46fb10: i32,ch = load<LD4[ConstantPool]> 0x55dd3f369a40, 0x55dd3f402cf0, undef:i64
try.c: 0x55dd3f402cf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dd3f41b410: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dd3f41aa90: i64 = undef
try.c: 0x55dd3f479c70: 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: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: i32 = Constant<0>
try.c: 0x55dd3f479b40: 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:portableopt

Compiler output

Implementation: T:portableopt
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: 0x55eaa8522c00: v4i64 = X86ISD::VTRUNC 0x55eaa8522ad0
try.c: 0x55eaa8522ad0: v16i32 = vselect 0x55eaa853d4f0, 0x55eaa84c8f00, 0x55eaa85229a0
try.c: 0x55eaa853d4f0: v4i1 = X86ISD::PCMPGTM 0x55eaa851aa30, 0x55eaa85165c0
try.c: 0x55eaa851aa30: v4i64 = X86ISD::VBROADCAST 0x55eaa84c60a0
try.c: 0x55eaa84c60a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55eaa842b960, 0x55eaa8511420, undef:i64
try.c: 0x55eaa8511420: i64,ch = CopyFromReg 0x55eaa842b960, Register:i64 %vreg50
try.c: 0x55eaa8516820: i64 = Register %vreg50
try.c: 0x55eaa84c7570: i64 = undef
try.c: 0x55eaa85165c0: v4i64,ch = CopyFromReg 0x55eaa842b960, Register:v4i64 %vreg13
try.c: 0x55eaa851b280: v4i64 = Register %vreg13
try.c: 0x55eaa84c8f00: v16i32 = X86ISD::VBROADCAST 0x55eaa851ac90
try.c: 0x55eaa851ac90: i32,ch = load<LD4[ConstantPool]> 0x55eaa842b960, 0x55eaa84c5680, undef:i64
try.c: 0x55eaa84c5680: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55eaa84e0350: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55eaa84c7570: i64 = undef
try.c: 0x55eaa85229a0: 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: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: i32 = Constant<0>
try.c: 0x55eaa8522870: 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:portableopt