Implementation notes: amd64, cel02, crypto_kem/ledakem12sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem12sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
721427678283 848648 0117645 849480 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1068387249225 848648 083900 849448 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1388440251449 848648 087653 849480 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1467180251255 848648 086941 849480 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1472689231908 848648 066645 849472 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2066917051606 68 088090 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: 0x55af0dba9010: v4i64 = X86ISD::VTRUNC 0x55af0dba8ee0
try.c: 0x55af0dba8ee0: v16i32 = vselect 0x55af0db7ebb0, 0x55af0db36c70, 0x55af0dba8db0
try.c: 0x55af0db7ebb0: v4i1 = X86ISD::PCMPGTM 0x55af0db8e840, 0x55af0db8a3d0
try.c: 0x55af0db8e840: v4i64 = X86ISD::VBROADCAST 0x55af0db4abc0
try.c: 0x55af0db4abc0: i64,ch = load<LD8[%lsr.iv6971]> 0x55af0da9f960, 0x55af0db76c50, undef:i64
try.c: 0x55af0db76c50: i64,ch = CopyFromReg 0x55af0da9f960, Register:i64 %vreg50
try.c: 0x55af0db8a630: i64 = Register %vreg50
try.c: 0x55af0db352e0: i64 = undef
try.c: 0x55af0db8a3d0: v4i64,ch = CopyFromReg 0x55af0da9f960, Register:v4i64 %vreg13
try.c: 0x55af0db8f090: v4i64 = Register %vreg13
try.c: 0x55af0db36c70: v16i32 = X86ISD::VBROADCAST 0x55af0db8eaa0
try.c: 0x55af0db8eaa0: i32,ch = load<LD4[ConstantPool]> 0x55af0da9f960, 0x55af0db4a1a0, undef:i64
try.c: 0x55af0db4a1a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55af0db73d80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55af0db352e0: i64 = undef
try.c: 0x55af0dba8db0: 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: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: i32 = Constant<0>
try.c: 0x55af0dba8c80: 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: 0x55eb1a78c990: v4i64 = X86ISD::VTRUNC 0x55eb1a78c860
try.c: 0x55eb1a78c860: v16i32 = vselect 0x55eb1a77df30, 0x55eb1a7041b0, 0x55eb1a78c730
try.c: 0x55eb1a77df30: v4i1 = X86ISD::PCMPGTM 0x55eb1a769760, 0x55eb1a764b30
try.c: 0x55eb1a769760: v4i64 = X86ISD::VBROADCAST 0x55eb1a704670
try.c: 0x55eb1a704670: i64,ch = load<LD8[%lsr.iv6971]> 0x55eb1a662a30, 0x55eb1a70b8f0, undef:i64
try.c: 0x55eb1a70b8f0: i64,ch = CopyFromReg 0x55eb1a662a30, Register:i64 %vreg50
try.c: 0x55eb1a764d90: i64 = Register %vreg50
try.c: 0x55eb1a6e07f0: i64 = undef
try.c: 0x55eb1a764b30: v4i64,ch = CopyFromReg 0x55eb1a662a30, Register:v4i64 %vreg13
try.c: 0x55eb1a769fb0: v4i64 = Register %vreg13
try.c: 0x55eb1a7041b0: v16i32 = X86ISD::VBROADCAST 0x55eb1a7699c0
try.c: 0x55eb1a7699c0: i32,ch = load<LD4[ConstantPool]> 0x55eb1a662a30, 0x55eb1a7096b0, undef:i64
try.c: 0x55eb1a7096b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55eb1a6e1170: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55eb1a6e07f0: i64 = undef
try.c: 0x55eb1a78c730: 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: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: i32 = Constant<0>
try.c: 0x55eb1a78c600: 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: 0x55c735d8d390: v4i64 = X86ISD::VTRUNC 0x55c735d8d260
try.c: 0x55c735d8d260: v16i32 = vselect 0x55c735d79590, 0x55c735d1a350, 0x55c735d8d130
try.c: 0x55c735d79590: v4i1 = X86ISD::PCMPGTM 0x55c735d72a10, 0x55c735d6e5a0
try.c: 0x55c735d72a10: v4i64 = X86ISD::VBROADCAST 0x55c735d1cbd0
try.c: 0x55c735d1cbd0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c735c83940, 0x55c735d57e40, undef:i64
try.c: 0x55c735d57e40: i64,ch = CopyFromReg 0x55c735c83940, Register:i64 %vreg50
try.c: 0x55c735d6e800: i64 = Register %vreg50
try.c: 0x55c735d189c0: i64 = undef
try.c: 0x55c735d6e5a0: v4i64,ch = CopyFromReg 0x55c735c83940, Register:v4i64 %vreg13
try.c: 0x55c735d73260: v4i64 = Register %vreg13
try.c: 0x55c735d1a350: v16i32 = X86ISD::VBROADCAST 0x55c735d72c70
try.c: 0x55c735d72c70: i32,ch = load<LD4[ConstantPool]> 0x55c735c83940, 0x55c735d1c1b0, undef:i64
try.c: 0x55c735d1c1b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c735d5c990: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c735d189c0: i64 = undef
try.c: 0x55c735d8d130: 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: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: i32 = Constant<0>
try.c: 0x55c735d8d000: 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