Implementation notes: amd64, cel02, crypto_sign/rainbow6440

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: rainbow6440
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13668617648 0 045269 896 1672T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16867618071 0 045269 896 1672T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
21151018221 0 044156 864 1576T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
26096215503 0 041765 888 1640T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

Implementation: T:ref
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x56220775c1a0: v4i64 = X86ISD::VTRUNC 0x56220775c070
try.cpp: 0x56220775c070: v16i32 = vselect 0x5622077777b0, 0x562207704560, 0x56220775bf40
try.cpp: 0x5622077777b0: v4i1 = X86ISD::PCMPGTM 0x562207754360, 0x56220774fef0
try.cpp: 0x562207754360: v4i64 = X86ISD::VBROADCAST 0x56220770efb0
try.cpp: 0x56220770efb0: i64,ch = load<LD8[%lsr.iv6971]> 0x562207663a40, 0x5622076f7fc0, undef:i64
try.cpp: 0x5622076f7fc0: i64,ch = CopyFromReg 0x562207663a40, Register:i64 %vreg50
try.cpp: 0x562207750150: i64 = Register %vreg50
try.cpp: 0x562207702bd0: i64 = undef
try.cpp: 0x56220774fef0: v4i64,ch = CopyFromReg 0x562207663a40, Register:v4i64 %vreg13
try.cpp: 0x562207754bb0: v4i64 = Register %vreg13
try.cpp: 0x562207704560: v16i32 = X86ISD::VBROADCAST 0x5622077545c0
try.cpp: 0x5622077545c0: i32,ch = load<LD4[ConstantPool]> 0x562207663a40, 0x56220770e590, undef:i64
try.cpp: 0x56220770e590: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5622077419b0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x562207702bd0: i64 = undef
try.cpp: 0x56220775bf40: 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.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: 0x56220775be10: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x55cd82434a10: v4i64 = X86ISD::VTRUNC 0x55cd824348e0
try.cpp: 0x55cd824348e0: v16i32 = vselect 0x55cd82430480, 0x55cd823a5b20, 0x55cd824347b0
try.cpp: 0x55cd82430480: v4i1 = X86ISD::PCMPGTM 0x55cd82410ef0, 0x55cd8240c2c0
try.cpp: 0x55cd82410ef0: v4i64 = X86ISD::VBROADCAST 0x55cd823a5fe0
try.cpp: 0x55cd823a5fe0: i64,ch = load<LD8[%lsr.iv6971]> 0x55cd82309a80, 0x55cd823adb00, undef:i64
try.cpp: 0x55cd823adb00: i64,ch = CopyFromReg 0x55cd82309a80, Register:i64 %vreg50
try.cpp: 0x55cd8240c520: i64 = Register %vreg50
try.cpp: 0x55cd82388220: i64 = undef
try.cpp: 0x55cd8240c2c0: v4i64,ch = CopyFromReg 0x55cd82309a80, Register:v4i64 %vreg13
try.cpp: 0x55cd82411740: v4i64 = Register %vreg13
try.cpp: 0x55cd823a5b20: v16i32 = X86ISD::VBROADCAST 0x55cd82411150
try.cpp: 0x55cd82411150: i32,ch = load<LD4[ConstantPool]> 0x55cd82309a80, 0x55cd823ac0d0, undef:i64
try.cpp: 0x55cd823ac0d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55cd82388ba0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55cd82388220: i64 = undef
try.cpp: 0x55cd824347b0: 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.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: 0x55cd82434680: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x563b8210f090: v4i64 = X86ISD::VTRUNC 0x563b8210ef60
try.cpp: 0x563b8210ef60: v16i32 = vselect 0x563b820fa770, 0x563b8209f520, 0x563b8210ee30
try.cpp: 0x563b820fa770: v4i1 = X86ISD::PCMPGTM 0x563b820f7740, 0x563b820f32d0
try.cpp: 0x563b820f7740: v4i64 = X86ISD::VBROADCAST 0x563b8209c6c0
try.cpp: 0x563b8209c6c0: i64,ch = load<LD8[%lsr.iv6971]> 0x563b820069c0, 0x563b820e0cf0, undef:i64
try.cpp: 0x563b820e0cf0: i64,ch = CopyFromReg 0x563b820069c0, Register:i64 %vreg50
try.cpp: 0x563b820f3530: i64 = Register %vreg50
try.cpp: 0x563b8209db90: i64 = undef
try.cpp: 0x563b820f32d0: v4i64,ch = CopyFromReg 0x563b820069c0, Register:v4i64 %vreg13
try.cpp: 0x563b820f7f90: v4i64 = Register %vreg13
try.cpp: 0x563b8209f520: v16i32 = X86ISD::VBROADCAST 0x563b820f79a0
try.cpp: 0x563b820f79a0: i32,ch = load<LD4[ConstantPool]> 0x563b820069c0, 0x563b82097ac0, undef:i64
try.cpp: 0x563b82097ac0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x563b820db680: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x563b8209db90: i64 = undef
try.cpp: 0x563b8210ee30: 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.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: 0x563b8210ed00: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref