Implementation notes: amd64, cel02, crypto_kem/ledakem33sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem33sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1673025249055 1173512 083764 1174312 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2139495079431 1173512 0118813 1174344 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2841131851450 1173512 087165 1174344 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3502076248547 72 084962 880 1624T:portableoptclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
4099482651518 1173512 087685 1174344 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4639771231731 1173512 066541 1174336 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-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: 0x562f1b7e71c0: v4i64 = X86ISD::VTRUNC 0x562f1b7e7090
try.c: 0x562f1b7e7090: v16i32 = vselect 0x562f1b7c5bf0, 0x562f1b787b40, 0x562f1b7e6f60
try.c: 0x562f1b7c5bf0: v4i1 = X86ISD::PCMPGTM 0x562f1b7cc9c0, 0x562f1b7c8f50
try.c: 0x562f1b7cc9c0: v4i64 = X86ISD::VBROADCAST 0x562f1b7735f0
try.c: 0x562f1b7735f0: i64,ch = load<LD8[%lsr.iv6971]> 0x562f1b6de940, 0x562f1b7b3c70, undef:i64
try.c: 0x562f1b7b3c70: i64,ch = CopyFromReg 0x562f1b6de940, Register:i64 %vreg50
try.c: 0x562f1b7c91b0: i64 = Register %vreg50
try.c: 0x562f1b774ac0: i64 = undef
try.c: 0x562f1b7c8f50: v4i64,ch = CopyFromReg 0x562f1b6de940, Register:v4i64 %vreg13
try.c: 0x562f1b7cd210: v4i64 = Register %vreg13
try.c: 0x562f1b787b40: v16i32 = X86ISD::VBROADCAST 0x562f1b7ccc20
try.c: 0x562f1b7ccc20: i32,ch = load<LD4[ConstantPool]> 0x562f1b6de940, 0x562f1b771aa0, undef:i64
try.c: 0x562f1b771aa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562f1b7b7520: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562f1b774ac0: i64 = undef
try.c: 0x562f1b7e6f60: 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: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: i32 = Constant<0>
try.c: 0x562f1b7e6e30: 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: 0x556d74b31df0: v4i64 = X86ISD::VTRUNC 0x556d74b31cc0
try.c: 0x556d74b31cc0: v16i32 = vselect 0x556d74b127c0, 0x556d74aac0a0, 0x556d74b31b90
try.c: 0x556d74b127c0: v4i1 = X86ISD::PCMPGTM 0x556d74b16bf0, 0x556d74b13790
try.c: 0x556d74b16bf0: v4i64 = X86ISD::VBROADCAST 0x556d74aac560
try.c: 0x556d74aac560: i64,ch = load<LD8[%lsr.iv6971]> 0x556d74a10a30, 0x556d74ad4a50, undef:i64
try.c: 0x556d74ad4a50: i64,ch = CopyFromReg 0x556d74a10a30, Register:i64 %vreg50
try.c: 0x556d74b139f0: i64 = Register %vreg50
try.c: 0x556d74aaf200: i64 = undef
try.c: 0x556d74b13790: v4i64,ch = CopyFromReg 0x556d74a10a30, Register:v4i64 %vreg13
try.c: 0x556d74b17440: v4i64 = Register %vreg13
try.c: 0x556d74aac0a0: v16i32 = X86ISD::VBROADCAST 0x556d74b16e50
try.c: 0x556d74b16e50: i32,ch = load<LD4[ConstantPool]> 0x556d74a10a30, 0x556d74ab2890, undef:i64
try.c: 0x556d74ab2890: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556d74aafb80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556d74aaf200: i64 = undef
try.c: 0x556d74b31b90: 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: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: i32 = Constant<0>
try.c: 0x556d74b31a60: 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: 0x55879d761180: v4i64 = X86ISD::VTRUNC 0x55879d761050
try.c: 0x55879d761050: v16i32 = vselect 0x55879d74c650, 0x55879d704de0, 0x55879d760f20
try.c: 0x55879d74c650: v4i1 = X86ISD::PCMPGTM 0x55879d7457f0, 0x55879d741380
try.c: 0x55879d7457f0: v4i64 = X86ISD::VBROADCAST 0x55879d6e9630
try.c: 0x55879d6e9630: i64,ch = load<LD8[%lsr.iv6971]> 0x55879d656920, 0x55879d73c1e0, undef:i64
try.c: 0x55879d73c1e0: i64,ch = CopyFromReg 0x55879d656920, Register:i64 %vreg50
try.c: 0x55879d7415e0: i64 = Register %vreg50
try.c: 0x55879d703450: i64 = undef
try.c: 0x55879d741380: v4i64,ch = CopyFromReg 0x55879d656920, Register:v4i64 %vreg13
try.c: 0x55879d746040: v4i64 = Register %vreg13
try.c: 0x55879d704de0: v16i32 = X86ISD::VBROADCAST 0x55879d745a50
try.c: 0x55879d745a50: i32,ch = load<LD4[ConstantPool]> 0x55879d656920, 0x55879d6e8c10, undef:i64
try.c: 0x55879d6e8c10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55879d728da0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55879d703450: i64 = undef
try.c: 0x55879d760f20: 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: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: i32 = Constant<0>
try.c: 0x55879d760df0: 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