Implementation notes: amd64, cel02, crypto_kem/ledakem32sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem32sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2507539432190 1685512 066933 1686336 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2622842082321 1685512 0121733 1686344 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2839738649495 1685512 084220 1686312 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3783373052475 1685512 088701 1686344 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3881604252150 1685512 087909 1686344 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6493434846592 72 083098 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: 0x55bab25d9b60: v4i64 = X86ISD::VTRUNC 0x55bab25d9a30
try.c: 0x55bab25d9a30: v16i32 = vselect 0x55bab25d6540, 0x55bab258d340, 0x55bab25d9900
try.c: 0x55bab25d6540: v4i1 = X86ISD::PCMPGTM 0x55bab25d1940, 0x55bab25cd4d0
try.c: 0x55bab25d1940: v4i64 = X86ISD::VBROADCAST 0x55bab2579a40
try.c: 0x55bab2579a40: i64,ch = load<LD8[%lsr.iv6971]> 0x55bab24e2960, 0x55bab257f8c0, undef:i64
try.c: 0x55bab257f8c0: i64,ch = CopyFromReg 0x55bab24e2960, Register:i64 %vreg50
try.c: 0x55bab25cd730: i64 = Register %vreg50
try.c: 0x55bab258b9b0: i64 = undef
try.c: 0x55bab25cd4d0: v4i64,ch = CopyFromReg 0x55bab24e2960, Register:v4i64 %vreg13
try.c: 0x55bab25d2190: v4i64 = Register %vreg13
try.c: 0x55bab258d340: v16i32 = X86ISD::VBROADCAST 0x55bab25d1ba0
try.c: 0x55bab25d1ba0: i32,ch = load<LD4[ConstantPool]> 0x55bab24e2960, 0x55bab2579020, undef:i64
try.c: 0x55bab2579020: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bab25b71c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bab258b9b0: i64 = undef
try.c: 0x55bab25d9900: 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: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: i32 = Constant<0>
try.c: 0x55bab25d97d0: 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: 0x564e18a9d7c0: v4i64 = X86ISD::VTRUNC 0x564e18a9d690
try.c: 0x564e18a9d690: v16i32 = vselect 0x564e18a96880, 0x564e18a13320, 0x564e18a9d560
try.c: 0x564e18a96880: v4i1 = X86ISD::PCMPGTM 0x564e18a77590, 0x564e18a73360
try.c: 0x564e18a77590: v4i64 = X86ISD::VBROADCAST 0x564e18a137e0
try.c: 0x564e18a137e0: i64,ch = load<LD8[%lsr.iv6971]> 0x564e18971a30, 0x564e18a172e0, undef:i64
try.c: 0x564e18a172e0: i64,ch = CopyFromReg 0x564e18971a30, Register:i64 %vreg50
try.c: 0x564e18a735c0: i64 = Register %vreg50
try.c: 0x564e18a39ea0: i64 = undef
try.c: 0x564e18a73360: v4i64,ch = CopyFromReg 0x564e18971a30, Register:v4i64 %vreg13
try.c: 0x564e18a77de0: v4i64 = Register %vreg13
try.c: 0x564e18a13320: v16i32 = X86ISD::VBROADCAST 0x564e18a777f0
try.c: 0x564e18a777f0: i32,ch = load<LD4[ConstantPool]> 0x564e18971a30, 0x564e18a0c960, undef:i64
try.c: 0x564e18a0c960: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564e18a3a820: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564e18a39ea0: i64 = undef
try.c: 0x564e18a9d560: 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: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: i32 = Constant<0>
try.c: 0x564e18a9d430: 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: 0x55fe3f5caa70: v4i64 = X86ISD::VTRUNC 0x55fe3f5ca940
try.c: 0x55fe3f5ca940: v16i32 = vselect 0x55fe3f5c7450, 0x55fe3f569b30, 0x55fe3f5ca810
try.c: 0x55fe3f5c7450: v4i1 = X86ISD::PCMPGTM 0x55fe3f5c2800, 0x55fe3f5be390
try.c: 0x55fe3f5c2800: v4i64 = X86ISD::VBROADCAST 0x55fe3f562a80
try.c: 0x55fe3f562a80: i64,ch = load<LD8[%lsr.iv6971]> 0x55fe3f4d3950, 0x55fe3f5ac570, undef:i64
try.c: 0x55fe3f5ac570: i64,ch = CopyFromReg 0x55fe3f4d3950, Register:i64 %vreg50
try.c: 0x55fe3f5be5f0: i64 = Register %vreg50
try.c: 0x55fe3f563f50: i64 = undef
try.c: 0x55fe3f5be390: v4i64,ch = CopyFromReg 0x55fe3f4d3950, Register:v4i64 %vreg13
try.c: 0x55fe3f5c3050: v4i64 = Register %vreg13
try.c: 0x55fe3f569b30: v16i32 = X86ISD::VBROADCAST 0x55fe3f5c2a60
try.c: 0x55fe3f5c2a60: i32,ch = load<LD4[ConstantPool]> 0x55fe3f4d3950, 0x55fe3f58fc30, undef:i64
try.c: 0x55fe3f58fc30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fe3f5ad770: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fe3f563f50: i64 = undef
try.c: 0x55fe3f5ca810: 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: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: i32 = Constant<0>
try.c: 0x55fe3f5ca6e0: 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