Implementation notes: amd64, cel02, crypto_kem/ledakem54sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem54sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6815463451750 1548296 087549 1549128 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7129743881349 1548296 0120813 1549128 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7275573849300 1548296 084020 1549096 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8442652052420 72 088938 880 1624T:portableoptclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9596899651787 1548296 088077 1549128 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10516598431789 1548296 066589 1549120 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: 0x55e5570b2270: v4i64 = X86ISD::VTRUNC 0x55e5570b2140
try.c: 0x55e5570b2140: v16i32 = vselect 0x55e55709e650, 0x55e55703f2a0, 0x55e5570b2010
try.c: 0x55e55709e650: v4i1 = X86ISD::PCMPGTM 0x55e557096a90, 0x55e557092620
try.c: 0x55e557096a90: v4i64 = X86ISD::VBROADCAST 0x55e55703c440
try.c: 0x55e55703c440: i64,ch = load<LD8[%lsr.iv6971]> 0x55e556fa7950, 0x55e557081410, undef:i64
try.c: 0x55e557081410: i64,ch = CopyFromReg 0x55e556fa7950, Register:i64 %vreg50
try.c: 0x55e557092880: i64 = Register %vreg50
try.c: 0x55e55703d910: i64 = undef
try.c: 0x55e557092620: v4i64,ch = CopyFromReg 0x55e556fa7950, Register:v4i64 %vreg13
try.c: 0x55e5570972e0: v4i64 = Register %vreg13
try.c: 0x55e55703f2a0: v16i32 = X86ISD::VBROADCAST 0x55e557096cf0
try.c: 0x55e557096cf0: i32,ch = load<LD4[ConstantPool]> 0x55e556fa7950, 0x55e55703a780, undef:i64
try.c: 0x55e55703a780: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e55707c1e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e55703d910: i64 = undef
try.c: 0x55e5570b2010: 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: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: i32 = Constant<0>
try.c: 0x55e5570b1ee0: 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: 0x5579190db1e0: v4i64 = X86ISD::VTRUNC 0x5579190db0b0
try.c: 0x5579190db0b0: v16i32 = vselect 0x5579190f2020, 0x5579190653d0, 0x5579190daf80
try.c: 0x5579190f2020: v4i1 = X86ISD::PCMPGTM 0x5579190d3520, 0x5579190ceaa0
try.c: 0x5579190d3520: v4i64 = X86ISD::VBROADCAST 0x557919065890
try.c: 0x557919065890: i64,ch = load<LD8[%lsr.iv6971]> 0x557918fcca30, 0x557919072190, undef:i64
try.c: 0x557919072190: i64,ch = CopyFromReg 0x557918fcca30, Register:i64 %vreg50
try.c: 0x5579190ced00: i64 = Register %vreg50
try.c: 0x55791905f7e0: i64 = undef
try.c: 0x5579190ceaa0: v4i64,ch = CopyFromReg 0x557918fcca30, Register:v4i64 %vreg13
try.c: 0x5579190d3d70: v4i64 = Register %vreg13
try.c: 0x5579190653d0: v16i32 = X86ISD::VBROADCAST 0x5579190d3780
try.c: 0x5579190d3780: i32,ch = load<LD4[ConstantPool]> 0x557918fcca30, 0x557919067d70, undef:i64
try.c: 0x557919067d70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557919060160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55791905f7e0: i64 = undef
try.c: 0x5579190daf80: 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: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: i32 = Constant<0>
try.c: 0x5579190dae50: 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: 0x55a9ef771b20: v4i64 = X86ISD::VTRUNC 0x55a9ef7719f0
try.c: 0x55a9ef7719f0: v16i32 = vselect 0x55a9ef7609a0, 0x55a9ef707410, 0x55a9ef7718c0
try.c: 0x55a9ef7609a0: v4i1 = X86ISD::PCMPGTM 0x55a9ef759d30, 0x55a9ef7558c0
try.c: 0x55a9ef759d30: v4i64 = X86ISD::VBROADCAST 0x55a9ef7045b0
try.c: 0x55a9ef7045b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55a9ef66a960, 0x55a9ef749080, undef:i64
try.c: 0x55a9ef749080: i64,ch = CopyFromReg 0x55a9ef66a960, Register:i64 %vreg50
try.c: 0x55a9ef755b20: i64 = Register %vreg50
try.c: 0x55a9ef705a80: i64 = undef
try.c: 0x55a9ef7558c0: v4i64,ch = CopyFromReg 0x55a9ef66a960, Register:v4i64 %vreg13
try.c: 0x55a9ef75a580: v4i64 = Register %vreg13
try.c: 0x55a9ef707410: v16i32 = X86ISD::VBROADCAST 0x55a9ef759f90
try.c: 0x55a9ef759f90: i32,ch = load<LD4[ConstantPool]> 0x55a9ef66a960, 0x55a9ef6fddb0, undef:i64
try.c: 0x55a9ef6fddb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a9ef751870: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a9ef705a80: i64 = undef
try.c: 0x55a9ef7718c0: 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: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: i32 = Constant<0>
try.c: 0x55a9ef771790: 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