Implementation notes: amd64, cel02, crypto_sign/rainbow5640

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: rainbow5640
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
15990620700 0 046652 864 1576T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
17690020425 0 047693 896 1672T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18556618196 0 044557 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 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
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: 0x55afe2c275c0: v4i64 = X86ISD::VTRUNC 0x55afe2c27490
try.cpp: 0x55afe2c27490: v16i32 = vselect 0x55afe2c31ed0, 0x55afe2bb1360, 0x55afe2c27360
try.cpp: 0x55afe2c31ed0: v4i1 = X86ISD::PCMPGTM 0x55afe2c10c80, 0x55afe2c0c810
try.cpp: 0x55afe2c10c80: v4i64 = X86ISD::VBROADCAST 0x55afe2bc2230
try.cpp: 0x55afe2bc2230: i64,ch = load<LD8[%lsr.iv6971]> 0x55afe2b1f9d0, 0x55afe2bfb0d0, undef:i64
try.cpp: 0x55afe2bfb0d0: i64,ch = CopyFromReg 0x55afe2b1f9d0, Register:i64 %vreg50
try.cpp: 0x55afe2c0ca70: i64 = Register %vreg50
try.cpp: 0x55afe2baf9d0: i64 = undef
try.cpp: 0x55afe2c0c810: v4i64,ch = CopyFromReg 0x55afe2b1f9d0, Register:v4i64 %vreg13
try.cpp: 0x55afe2c114d0: v4i64 = Register %vreg13
try.cpp: 0x55afe2bb1360: v16i32 = X86ISD::VBROADCAST 0x55afe2c10ee0
try.cpp: 0x55afe2c10ee0: i32,ch = load<LD4[ConstantPool]> 0x55afe2b1f9d0, 0x55afe2bc1810, undef:i64
try.cpp: 0x55afe2bc1810: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55afe2bd2b10: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55afe2baf9d0: i64 = undef
try.cpp: 0x55afe2c27360: 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: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: i32 = Constant<0>
try.cpp: 0x55afe2c27230: 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: 0x5576f2daded0: v4i64 = X86ISD::VTRUNC 0x5576f2dadda0
try.cpp: 0x5576f2dadda0: v16i32 = vselect 0x5576f2da89a0, 0x5576f2d2cca0, 0x5576f2dadc70
try.cpp: 0x5576f2da89a0: v4i1 = X86ISD::PCMPGTM 0x5576f2d89550, 0x5576f2d850e0
try.cpp: 0x5576f2d89550: v4i64 = X86ISD::VBROADCAST 0x5576f2d2d160
try.cpp: 0x5576f2d2d160: i64,ch = load<LD8[%lsr.iv6971]> 0x5576f2c82a90, 0x5576f2d3c640, undef:i64
try.cpp: 0x5576f2d3c640: i64,ch = CopyFromReg 0x5576f2c82a90, Register:i64 %vreg50
try.cpp: 0x5576f2d85340: i64 = Register %vreg50
try.cpp: 0x5576f2d1dc20: i64 = undef
try.cpp: 0x5576f2d850e0: v4i64,ch = CopyFromReg 0x5576f2c82a90, Register:v4i64 %vreg13
try.cpp: 0x5576f2d89da0: v4i64 = Register %vreg13
try.cpp: 0x5576f2d2cca0: v16i32 = X86ISD::VBROADCAST 0x5576f2d897b0
try.cpp: 0x5576f2d897b0: i32,ch = load<LD4[ConstantPool]> 0x5576f2c82a90, 0x5576f2d2f640, undef:i64
try.cpp: 0x5576f2d2f640: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5576f2d1e5a0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5576f2d1dc20: i64 = undef
try.cpp: 0x5576f2dadc70: 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: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: i32 = Constant<0>
try.cpp: 0x5576f2dadb40: 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: 0x5611b5d19ba0: v4i64 = X86ISD::VTRUNC 0x5611b5d19a70
try.cpp: 0x5611b5d19a70: v16i32 = vselect 0x5611b5d2c0d0, 0x5611b5ccd620, 0x5611b5d19940
try.cpp: 0x5611b5d2c0d0: v4i1 = X86ISD::PCMPGTM 0x5611b5d14570, 0x5611b5d10100
try.cpp: 0x5611b5d14570: v4i64 = X86ISD::VBROADCAST 0x5611b5cb75c0
try.cpp: 0x5611b5cb75c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5611b5c239a0, 0x5611b5cfd380, undef:i64
try.cpp: 0x5611b5cfd380: i64,ch = CopyFromReg 0x5611b5c239a0, Register:i64 %vreg50
try.cpp: 0x5611b5d10360: i64 = Register %vreg50
try.cpp: 0x5611b5ccbc90: i64 = undef
try.cpp: 0x5611b5d10100: v4i64,ch = CopyFromReg 0x5611b5c239a0, Register:v4i64 %vreg13
try.cpp: 0x5611b5d14dc0: v4i64 = Register %vreg13
try.cpp: 0x5611b5ccd620: v16i32 = X86ISD::VBROADCAST 0x5611b5d147d0
try.cpp: 0x5611b5d147d0: i32,ch = load<LD4[ConstantPool]> 0x5611b5c239a0, 0x5611b5cb6ba0, undef:i64
try.cpp: 0x5611b5cb6ba0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5611b5cd0cb0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5611b5ccbc90: i64 = undef
try.cpp: 0x5611b5d19940: 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: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: i32 = Constant<0>
try.cpp: 0x5611b5d19810: 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