Implementation notes: amd64, cel02, crypto_kem/ledakem52sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem52sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4260324285447 5683720 0124797 5684552 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5454546851779 5683720 087917 5684552 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5781906631541 5683720 066317 5684544 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5810430651502 5683720 087205 5684552 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6556508049378 5683720 084084 5684520 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
12731154247244 76 083802 888 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: 0x55c23e39bab0: v4i64 = X86ISD::VTRUNC 0x55c23e39b980
try.c: 0x55c23e39b980: v16i32 = vselect 0x55c23e38b8b0, 0x55c23e32c300, 0x55c23e39b850
try.c: 0x55c23e38b8b0: v4i1 = X86ISD::PCMPGTM 0x55c23e380ca0, 0x55c23e37c070
try.c: 0x55c23e380ca0: v4i64 = X86ISD::VBROADCAST 0x55c23e31e6e0
try.c: 0x55c23e31e6e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c23e291950, 0x55c23e367d90, undef:i64
try.c: 0x55c23e367d90: i64,ch = CopyFromReg 0x55c23e291950, Register:i64 %vreg50
try.c: 0x55c23e37c2d0: i64 = Register %vreg50
try.c: 0x55c23e31fbb0: i64 = undef
try.c: 0x55c23e37c070: v4i64,ch = CopyFromReg 0x55c23e291950, Register:v4i64 %vreg13
try.c: 0x55c23e3814f0: v4i64 = Register %vreg13
try.c: 0x55c23e32c300: v16i32 = X86ISD::VBROADCAST 0x55c23e380f00
try.c: 0x55c23e380f00: i32,ch = load<LD4[ConstantPool]> 0x55c23e291950, 0x55c23e31dcc0, undef:i64
try.c: 0x55c23e31dcc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c23e373ca0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c23e31fbb0: i64 = undef
try.c: 0x55c23e39b850: 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: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: i32 = Constant<0>
try.c: 0x55c23e39b720: 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: 0x5630919bbda0: v4i64 = X86ISD::VTRUNC 0x5630919bbc70
try.c: 0x5630919bbc70: v16i32 = vselect 0x5630919b6770, 0x563091939e10, 0x5630919bbb40
try.c: 0x5630919b6770: v4i1 = X86ISD::PCMPGTM 0x5630919a37a0, 0x56309199f330
try.c: 0x5630919a37a0: v4i64 = X86ISD::VBROADCAST 0x56309193a2d0
try.c: 0x56309193a2d0: i64,ch = load<LD8[%lsr.iv6971]> 0x56309189ca30, 0x563091952ad0, undef:i64
try.c: 0x563091952ad0: i64,ch = CopyFromReg 0x56309189ca30, Register:i64 %vreg50
try.c: 0x56309199f590: i64 = Register %vreg50
try.c: 0x56309191aa50: i64 = undef
try.c: 0x56309199f330: v4i64,ch = CopyFromReg 0x56309189ca30, Register:v4i64 %vreg13
try.c: 0x5630919a3ff0: v4i64 = Register %vreg13
try.c: 0x563091939e10: v16i32 = X86ISD::VBROADCAST 0x5630919a3a00
try.c: 0x5630919a3a00: i32,ch = load<LD4[ConstantPool]> 0x56309189ca30, 0x5630919510a0, undef:i64
try.c: 0x5630919510a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56309191b3d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56309191aa50: i64 = undef
try.c: 0x5630919bbb40: 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: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: i32 = Constant<0>
try.c: 0x5630919bba10: 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: 0x56497a2529f0: v4i64 = X86ISD::VTRUNC 0x56497a2528c0
try.c: 0x56497a2528c0: v16i32 = vselect 0x56497a248d00, 0x56497a1d4a20, 0x56497a252790
try.c: 0x56497a248d00: v4i1 = X86ISD::PCMPGTM 0x56497a22f980, 0x56497a22b510
try.c: 0x56497a22f980: v4i64 = X86ISD::VBROADCAST 0x56497a1de130
try.c: 0x56497a1de130: i64,ch = load<LD8[%lsr.iv6971]> 0x56497a140940, 0x56497a21d530, undef:i64
try.c: 0x56497a21d530: i64,ch = CopyFromReg 0x56497a140940, Register:i64 %vreg50
try.c: 0x56497a22b770: i64 = Register %vreg50
try.c: 0x56497a1d3090: i64 = undef
try.c: 0x56497a22b510: v4i64,ch = CopyFromReg 0x56497a140940, Register:v4i64 %vreg13
try.c: 0x56497a2301d0: v4i64 = Register %vreg13
try.c: 0x56497a1d4a20: v16i32 = X86ISD::VBROADCAST 0x56497a22fbe0
try.c: 0x56497a22fbe0: i32,ch = load<LD4[ConstantPool]> 0x56497a140940, 0x56497a1dd710, undef:i64
try.c: 0x56497a1dd710: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56497a215570: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56497a1d3090: i64 = undef
try.c: 0x56497a252790: 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: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: i32 = Constant<0>
try.c: 0x56497a252660: 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