Implementation notes: amd64, cel02, crypto_kem/ledakem14sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem14sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
655719249395 455176 084092 455976 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1268722475950 455176 0115349 456008 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1647671851519 455176 087285 456008 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1698680451541 455176 087733 456008 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1953708032042 455176 066837 456000 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2181662849921 64 086370 872 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: 0x5612ddff0390: v4i64 = X86ISD::VTRUNC 0x5612ddff0260
try.c: 0x5612ddff0260: v16i32 = vselect 0x5612ddfecd70, 0x5612ddf77e10, 0x5612ddff0130
try.c: 0x5612ddfecd70: v4i1 = X86ISD::PCMPGTM 0x5612ddfd5a00, 0x5612ddfd1590
try.c: 0x5612ddfd5a00: v4i64 = X86ISD::VBROADCAST 0x5612ddf74fb0
try.c: 0x5612ddf74fb0: i64,ch = load<LD8[%lsr.iv6971]> 0x5612ddee6950, 0x5612ddfc0d00, undef:i64
try.c: 0x5612ddfc0d00: i64,ch = CopyFromReg 0x5612ddee6950, Register:i64 %vreg50
try.c: 0x5612ddfd17f0: i64 = Register %vreg50
try.c: 0x5612ddf76480: i64 = undef
try.c: 0x5612ddfd1590: v4i64,ch = CopyFromReg 0x5612ddee6950, Register:v4i64 %vreg13
try.c: 0x5612ddfd6250: v4i64 = Register %vreg13
try.c: 0x5612ddf77e10: v16i32 = X86ISD::VBROADCAST 0x5612ddfd5c60
try.c: 0x5612ddfd5c60: i32,ch = load<LD4[ConstantPool]> 0x5612ddee6950, 0x5612ddfa2bb0, undef:i64
try.c: 0x5612ddfa2bb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5612ddfbf400: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5612ddf76480: i64 = undef
try.c: 0x5612ddff0130: 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: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: i32 = Constant<0>
try.c: 0x5612ddff0000: 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: 0x55e9e6bb15a0: v4i64 = X86ISD::VTRUNC 0x55e9e6bb1470
try.c: 0x55e9e6bb1470: v16i32 = vselect 0x55e9e6ba38a0, 0x55e9e6b28420, 0x55e9e6bb1340
try.c: 0x55e9e6ba38a0: v4i1 = X86ISD::PCMPGTM 0x55e9e6b8b530, 0x55e9e6b88840
try.c: 0x55e9e6b8b530: v4i64 = X86ISD::VBROADCAST 0x55e9e6b288e0
try.c: 0x55e9e6b288e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e9e6a85a40, 0x55e9e6b382d0, undef:i64
try.c: 0x55e9e6b382d0: i64,ch = CopyFromReg 0x55e9e6a85a40, Register:i64 %vreg50
try.c: 0x55e9e6b88aa0: i64 = Register %vreg50
try.c: 0x55e9e6b3aa30: i64 = undef
try.c: 0x55e9e6b88840: v4i64,ch = CopyFromReg 0x55e9e6a85a40, Register:v4i64 %vreg13
try.c: 0x55e9e6b8bd80: v4i64 = Register %vreg13
try.c: 0x55e9e6b28420: v16i32 = X86ISD::VBROADCAST 0x55e9e6b8b790
try.c: 0x55e9e6b8b790: i32,ch = load<LD4[ConstantPool]> 0x55e9e6a85a40, 0x55e9e6b368a0, undef:i64
try.c: 0x55e9e6b368a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e9e6b3b3b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e9e6b3aa30: i64 = undef
try.c: 0x55e9e6bb1340: 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: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: i32 = Constant<0>
try.c: 0x55e9e6bb1210: 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: 0x55dc93144c10: v4i64 = X86ISD::VTRUNC 0x55dc93144ae0
try.c: 0x55dc93144ae0: v16i32 = vselect 0x55dc93158cd0, 0x55dc930f6e20, 0x55dc931449b0
try.c: 0x55dc93158cd0: v4i1 = X86ISD::PCMPGTM 0x55dc9313b9f0, 0x55dc93137580
try.c: 0x55dc9313b9f0: v4i64 = X86ISD::VBROADCAST 0x55dc930db8d0
try.c: 0x55dc930db8d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55dc9304c960, 0x55dc930f98c0, undef:i64
try.c: 0x55dc930f98c0: i64,ch = CopyFromReg 0x55dc9304c960, Register:i64 %vreg50
try.c: 0x55dc931377e0: i64 = Register %vreg50
try.c: 0x55dc930dcda0: i64 = undef
try.c: 0x55dc93137580: v4i64,ch = CopyFromReg 0x55dc9304c960, Register:v4i64 %vreg13
try.c: 0x55dc9313c240: v4i64 = Register %vreg13
try.c: 0x55dc930f6e20: v16i32 = X86ISD::VBROADCAST 0x55dc9313bc50
try.c: 0x55dc9313bc50: i32,ch = load<LD4[ConstantPool]> 0x55dc9304c960, 0x55dc930e08a0, undef:i64
try.c: 0x55dc930e08a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dc931268f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dc930dcda0: i64 = undef
try.c: 0x55dc931449b0: 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: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: i32 = Constant<0>
try.c: 0x55dc93144880: 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