Implementation notes: amd64, cel02, crypto_sign/rainbowbinary16242020

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: rainbowbinary16242020
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
15189832536 112 823263817 1016 9992T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17124631541 112 823259729 1016 9928T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18400033649 112 823261433 1016 9928T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
21242231815 176 823258182 1048 9832T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
30366426200 112 823253256 1016 9896T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: 1 warning generated.
try.cpp: fatal error: error in backend: Cannot select: 0x559cbab20e40: v4i64 = X86ISD::VTRUNC 0x559cbab20d10
try.cpp: 0x559cbab20d10: v16i32 = vselect 0x559cbab10150, 0x559cbaaabac0, 0x559cbab20be0
try.cpp: 0x559cbab10150: v4i1 = X86ISD::PCMPGTM 0x559cbab094f0, 0x559cbab05080
try.cpp: 0x559cbab094f0: v4i64 = X86ISD::VBROADCAST 0x559cbaaa8850
try.cpp: 0x559cbaaa8850: i64,ch = load<LD8[%lsr.iv6971]> 0x559cbaa189d0, 0x559cbaaef630, undef:i64
try.cpp: 0x559cbaaef630: i64,ch = CopyFromReg 0x559cbaa189d0, Register:i64 %vreg50
try.cpp: 0x559cbab052e0: i64 = Register %vreg50
try.cpp: 0x559cbaaa9d20: i64 = undef
try.cpp: 0x559cbab05080: v4i64,ch = CopyFromReg 0x559cbaa189d0, Register:v4i64 %vreg13
try.cpp: 0x559cbab09d40: v4i64 = Register %vreg13
try.cpp: 0x559cbaaabac0: v16i32 = X86ISD::VBROADCAST 0x559cbab09750
try.cpp: 0x559cbab09750: i32,ch = load<LD4[ConstantPool]> 0x559cbaa189d0, 0x559cbaaa7e30, undef:i64
try.cpp: 0x559cbaaa7e30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x559cbaab45e0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x559cbaaa9d20: i64 = undef
try.cpp: 0x559cbab20be0: 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: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: i32 = Constant<0>
try.cpp: 0x559cbab20ab0: 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
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: 1 warning generated.
try.cpp: fatal error: error in backend: Cannot select: 0x56146fd900a0: v4i64 = X86ISD::VTRUNC 0x56146fd8ff70
try.cpp: 0x56146fd8ff70: v16i32 = vselect 0x56146fd7c7c0, 0x56146fd270a0, 0x56146fd8fe40
try.cpp: 0x56146fd7c7c0: v4i1 = X86ISD::PCMPGTM 0x56146fd78f90, 0x56146fd76ab0
try.cpp: 0x56146fd78f90: v4i64 = X86ISD::VBROADCAST 0x56146fd27560
try.cpp: 0x56146fd27560: i64,ch = load<LD8[%lsr.iv6971]> 0x56146fc72aa0, 0x56146fd15ea0, undef:i64
try.cpp: 0x56146fd15ea0: i64,ch = CopyFromReg 0x56146fc72aa0, Register:i64 %vreg50
try.cpp: 0x56146fd76d10: i64 = Register %vreg50
try.cpp: 0x56146fd10bd0: i64 = undef
try.cpp: 0x56146fd76ab0: v4i64,ch = CopyFromReg 0x56146fc72aa0, Register:v4i64 %vreg13
try.cpp: 0x56146fd797e0: v4i64 = Register %vreg13
try.cpp: 0x56146fd270a0: v16i32 = X86ISD::VBROADCAST 0x56146fd791f0
try.cpp: 0x56146fd791f0: i32,ch = load<LD4[ConstantPool]> 0x56146fc72aa0, 0x56146fd14470, undef:i64
try.cpp: 0x56146fd14470: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x56146fd11550: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x56146fd10bd0: i64 = undef
try.cpp: 0x56146fd8fe40: 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: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: i32 = Constant<0>
try.cpp: 0x56146fd8fd10: 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
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: 1 warning generated.
try.cpp: fatal error: error in backend: Cannot select: 0x56553a6b4ed0: v4i64 = X86ISD::VTRUNC 0x56553a6b4da0
try.cpp: 0x56553a6b4da0: v16i32 = vselect 0x56553a6a41e0, 0x56553a656bc0, 0x56553a6b4c70
try.cpp: 0x56553a6a41e0: v4i1 = X86ISD::PCMPGTM 0x56553a69c570, 0x56553a698100
try.cpp: 0x56553a69c570: v4i64 = X86ISD::VBROADCAST 0x56553a653d60
try.cpp: 0x56553a653d60: i64,ch = load<LD8[%lsr.iv6971]> 0x56553a5aba20, 0x56553a692f60, undef:i64
try.cpp: 0x56553a692f60: i64,ch = CopyFromReg 0x56553a5aba20, Register:i64 %vreg50
try.cpp: 0x56553a698360: i64 = Register %vreg50
try.cpp: 0x56553a655230: i64 = undef
try.cpp: 0x56553a698100: v4i64,ch = CopyFromReg 0x56553a5aba20, Register:v4i64 %vreg13
try.cpp: 0x56553a69cdc0: v4i64 = Register %vreg13
try.cpp: 0x56553a656bc0: v16i32 = X86ISD::VBROADCAST 0x56553a69c7d0
try.cpp: 0x56553a69c7d0: i32,ch = load<LD4[ConstantPool]> 0x56553a5aba20, 0x56553a64c590, undef:i64
try.cpp: 0x56553a64c590: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x56553a63c3e0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x56553a655230: i64 = undef
try.cpp: 0x56553a6b4c70: 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: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: i32 = Constant<0>
try.cpp: 0x56553a6b4b40: 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
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.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