Implementation notes: amd64, cel02, crypto_kem/ledakem3364

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ledakem3364
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2335867679907 852488 0119349 853320 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2377436048996 852488 083700 853288 1624T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2491918048092 68 084514 880 1624T:portableoptclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3089807051315 852488 087581 853320 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3132695251350 852488 087157 853320 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3694017231709 852488 066453 853312 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: 0x55e942e29f00: v4i64 = X86ISD::VTRUNC 0x55e942e29dd0
try.c: 0x55e942e29dd0: v16i32 = vselect 0x55e942e268e0, 0x55e942dc6230, 0x55e942e29ca0
try.c: 0x55e942e268e0: v4i1 = X86ISD::PCMPGTM 0x55e942e21cb0, 0x55e942e1d840
try.c: 0x55e942e21cb0: v4i64 = X86ISD::VBROADCAST 0x55e942dc8a10
try.c: 0x55e942dc8a10: i64,ch = load<LD8[%lsr.iv6971]> 0x55e942d329d0, 0x55e942e186a0, undef:i64
try.c: 0x55e942e186a0: i64,ch = CopyFromReg 0x55e942d329d0, Register:i64 %vreg50
try.c: 0x55e942e1daa0: i64 = Register %vreg50
try.c: 0x55e942dc48a0: i64 = undef
try.c: 0x55e942e1d840: v4i64,ch = CopyFromReg 0x55e942d329d0, Register:v4i64 %vreg13
try.c: 0x55e942e22500: v4i64 = Register %vreg13
try.c: 0x55e942dc6230: v16i32 = X86ISD::VBROADCAST 0x55e942e21f10
try.c: 0x55e942e21f10: i32,ch = load<LD4[ConstantPool]> 0x55e942d329d0, 0x55e942dc7ff0, undef:i64
try.c: 0x55e942dc7ff0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e942d92c30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e942dc48a0: i64 = undef
try.c: 0x55e942e29ca0: 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: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: i32 = Constant<0>
try.c: 0x55e942e29b70: 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: 0x562b18687130: v4i64 = X86ISD::VTRUNC 0x562b18687000
try.c: 0x562b18687000: v16i32 = vselect 0x562b18666a20, 0x562b185fce20, 0x562b18686ed0
try.c: 0x562b18666a20: v4i1 = X86ISD::PCMPGTM 0x562b186629f0, 0x562b1865f590
try.c: 0x562b186629f0: v4i64 = X86ISD::VBROADCAST 0x562b185fd2e0
try.c: 0x562b185fd2e0: i64,ch = load<LD8[%lsr.iv6971]> 0x562b1855ca30, 0x562b186207e0, undef:i64
try.c: 0x562b186207e0: i64,ch = CopyFromReg 0x562b1855ca30, Register:i64 %vreg50
try.c: 0x562b1865f7f0: i64 = Register %vreg50
try.c: 0x562b185fae60: i64 = undef
try.c: 0x562b1865f590: v4i64,ch = CopyFromReg 0x562b1855ca30, Register:v4i64 %vreg13
try.c: 0x562b18663240: v4i64 = Register %vreg13
try.c: 0x562b185fce20: v16i32 = X86ISD::VBROADCAST 0x562b18662c50
try.c: 0x562b18662c50: i32,ch = load<LD4[ConstantPool]> 0x562b1855ca30, 0x562b185ff7c0, undef:i64
try.c: 0x562b185ff7c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562b185fb7e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562b185fae60: i64 = undef
try.c: 0x562b18686ed0: 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: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: i32 = Constant<0>
try.c: 0x562b18686da0: 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: 0x562cd27411a0: v4i64 = X86ISD::VTRUNC 0x562cd2741070
try.c: 0x562cd2741070: v16i32 = vselect 0x562cd2748c50, 0x562cd26e2350, 0x562cd2740f40
try.c: 0x562cd2748c50: v4i1 = X86ISD::PCMPGTM 0x562cd2726820, 0x562cd27223b0
try.c: 0x562cd2726820: v4i64 = X86ISD::VBROADCAST 0x562cd26c6aa0
try.c: 0x562cd26c6aa0: i64,ch = load<LD8[%lsr.iv6971]> 0x562cd2637950, 0x562cd2712150, undef:i64
try.c: 0x562cd2712150: i64,ch = CopyFromReg 0x562cd2637950, Register:i64 %vreg50
try.c: 0x562cd2722610: i64 = Register %vreg50
try.c: 0x562cd26e09c0: i64 = undef
try.c: 0x562cd27223b0: v4i64,ch = CopyFromReg 0x562cd2637950, Register:v4i64 %vreg13
try.c: 0x562cd2727070: v4i64 = Register %vreg13
try.c: 0x562cd26e2350: v16i32 = X86ISD::VBROADCAST 0x562cd2726a80
try.c: 0x562cd2726a80: i32,ch = load<LD4[ConstantPool]> 0x562cd2637950, 0x562cd26c6080, undef:i64
try.c: 0x562cd26c6080: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562cd26a9780: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562cd26e09c0: i64 = undef
try.c: 0x562cd2740f40: 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: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: i32 = Constant<0>
try.c: 0x562cd2740e10: 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