Implementation notes: amd64, cel02, crypto_sign/rainbow

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: rainbow

Test failure

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
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
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -Os -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
usehash.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
Compose.cpp: In file included from Compose.cpp:2:
Compose.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Compose.cpp: using namespace std ;
Compose.cpp: ^
Compose.cpp: 1 warning generated.
GFpow.cpp: In file included from GFpow.cpp:1:
GFpow.cpp: ./GFpow.h:4:17: warning: using directive refers to implicitly-defined namespace 'std'
GFpow.cpp: using namespace std ;
GFpow.cpp: ^
GFpow.cpp: 1 warning generated.
Gauss.cpp: In file included from Gauss.cpp:1:
Gauss.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Gauss.cpp: using namespace std ;
Gauss.cpp: ^
Gauss.cpp: 1 warning generated.
try.cpp: fatal error: error in backend: Cannot select: 0x563d40c69ec0: v4i64 = X86ISD::VTRUNC 0x563d40c69d90
try.cpp: 0x563d40c69d90: v16i32 = vselect 0x563d40c56db0, 0x563d40c176e0, 0x563d40c69c60
try.cpp: 0x563d40c56db0: v4i1 = X86ISD::PCMPGTM 0x563d40c53580, 0x563d40c4f110
try.cpp: 0x563d40c53580: v4i64 = X86ISD::VBROADCAST 0x563d40c14880
try.cpp: 0x563d40c14880: i64,ch = load<LD8[%lsr.iv6971]> 0x563d40b629c0, 0x563d40bfe5c0, undef:i64
try.cpp: 0x563d40bfe5c0: i64,ch = CopyFromReg 0x563d40b629c0, Register:i64 %vreg50
try.cpp: 0x563d40c4f370: i64 = Register %vreg50
try.cpp: 0x563d40c15d50: i64 = undef
try.cpp: 0x563d40c4f110: v4i64,ch = CopyFromReg 0x563d40b629c0, Register:v4i64 %vreg13
try.cpp: 0x563d40c53dd0: v4i64 = Register %vreg13
try.cpp: 0x563d40c176e0: v16i32 = X86ISD::VBROADCAST 0x563d40c537e0
try.cpp: 0x563d40c537e0: i32,ch = load<LD4[ConstantPool]> 0x563d40b629c0, 0x563d40c13e60, undef:i64
try.cpp: 0x563d40c13e60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x563d40bf2d30: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x563d40c15d50: i64 = undef
try.cpp: 0x563d40c69c60: 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: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: i32 = Constant<0>
try.cpp: 0x563d40c69b30: 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
usehash.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
Compose.cpp: In file included from Compose.cpp:2:
Compose.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Compose.cpp: using namespace std ;
Compose.cpp: ^
Compose.cpp: 1 warning generated.
GFpow.cpp: In file included from GFpow.cpp:1:
GFpow.cpp: ./GFpow.h:4:17: warning: using directive refers to implicitly-defined namespace 'std'
GFpow.cpp: using namespace std ;
GFpow.cpp: ^
GFpow.cpp: 1 warning generated.
Gauss.cpp: In file included from Gauss.cpp:1:
Gauss.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Gauss.cpp: using namespace std ;
Gauss.cpp: ^
Gauss.cpp: 1 warning generated.
try.cpp: fatal error: error in backend: Cannot select: 0x55d18e9feeb0: v4i64 = X86ISD::VTRUNC 0x55d18e9fed80
try.cpp: 0x55d18e9fed80: v16i32 = vselect 0x55d18e9f9880, 0x55d18e98b960, 0x55d18e9fec50
try.cpp: 0x55d18e9f9880: v4i1 = X86ISD::PCMPGTM 0x55d18e9f3c90, 0x55d18e9efe20
try.cpp: 0x55d18e9f3c90: v4i64 = X86ISD::VBROADCAST 0x55d18e98be20
try.cpp: 0x55d18e98be20: i64,ch = load<LD8[%lsr.iv6971]> 0x55d18e8ecaa0, 0x55d18e987090, undef:i64
try.cpp: 0x55d18e987090: i64,ch = CopyFromReg 0x55d18e8ecaa0, Register:i64 %vreg50
try.cpp: 0x55d18e9f0080: i64 = Register %vreg50
try.cpp: 0x55d18e99c6c0: i64 = undef
try.cpp: 0x55d18e9efe20: v4i64,ch = CopyFromReg 0x55d18e8ecaa0, Register:v4i64 %vreg13
try.cpp: 0x55d18e9f44e0: v4i64 = Register %vreg13
try.cpp: 0x55d18e98b960: v16i32 = X86ISD::VBROADCAST 0x55d18e9f3ef0
try.cpp: 0x55d18e9f3ef0: i32,ch = load<LD4[ConstantPool]> 0x55d18e8ecaa0, 0x55d18e999980, undef:i64
try.cpp: 0x55d18e999980: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55d18e99d040: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55d18e99c6c0: i64 = undef
try.cpp: 0x55d18e9fec50: 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: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: i32 = Constant<0>
try.cpp: 0x55d18e9feb20: 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
usehash.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
Compose.cpp: In file included from Compose.cpp:2:
Compose.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Compose.cpp: using namespace std ;
Compose.cpp: ^
Compose.cpp: 1 warning generated.
GFpow.cpp: In file included from GFpow.cpp:1:
GFpow.cpp: ./GFpow.h:4:17: warning: using directive refers to implicitly-defined namespace 'std'
GFpow.cpp: using namespace std ;
GFpow.cpp: ^
GFpow.cpp: 1 warning generated.
Gauss.cpp: In file included from Gauss.cpp:1:
Gauss.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Gauss.cpp: using namespace std ;
Gauss.cpp: ^
Gauss.cpp: 1 warning generated.
try.cpp: fatal error: error in backend: Cannot select: 0x562651a54c90: v4i64 = X86ISD::VTRUNC 0x562651a54b60
try.cpp: 0x562651a54b60: v16i32 = vselect 0x562651a43f10, 0x5626519e3020, 0x562651a54a30
try.cpp: 0x562651a43f10: v4i1 = X86ISD::PCMPGTM 0x562651a3d340, 0x562651a38ed0
try.cpp: 0x562651a3d340: v4i64 = X86ISD::VBROADCAST 0x5626519df060
try.cpp: 0x5626519df060: i64,ch = load<LD8[%lsr.iv6971]> 0x56265194c9c0, 0x562651a262f0, undef:i64
try.cpp: 0x562651a262f0: i64,ch = CopyFromReg 0x56265194c9c0, Register:i64 %vreg50
try.cpp: 0x562651a39130: i64 = Register %vreg50
try.cpp: 0x5626519e0530: i64 = undef
try.cpp: 0x562651a38ed0: v4i64,ch = CopyFromReg 0x56265194c9c0, Register:v4i64 %vreg13
try.cpp: 0x562651a3db90: v4i64 = Register %vreg13
try.cpp: 0x5626519e3020: v16i32 = X86ISD::VBROADCAST 0x562651a3d5a0
try.cpp: 0x562651a3d5a0: i32,ch = load<LD4[ConstantPool]> 0x56265194c9c0, 0x5626519dde50, undef:i64
try.cpp: 0x5626519dde50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5626519a8570: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5626519e0530: i64 = undef
try.cpp: 0x562651a54a30: 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: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: i32 = Constant<0>
try.cpp: 0x562651a54900: 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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
usehash.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
Compose.cpp: In file included from Compose.cpp:2:
Compose.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Compose.cpp: using namespace std ;
Compose.cpp: ^
Compose.cpp: 1 warning generated.
GFpow.cpp: In file included from GFpow.cpp:1:
GFpow.cpp: ./GFpow.h:4:17: warning: using directive refers to implicitly-defined namespace 'std'
GFpow.cpp: using namespace std ;
GFpow.cpp: ^
GFpow.cpp: 1 warning generated.
Gauss.cpp: In file included from Gauss.cpp:1:
Gauss.cpp: ./rainbow.h:1:17: warning: using directive refers to implicitly-defined namespace 'std'
Gauss.cpp: using namespace std ;
Gauss.cpp: ^
Gauss.cpp: 1 warning generated.

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