Implementation notes: amd64, cel02, crypto_hash/floppsy

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: floppsy
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
34272406 0 011321 848 816T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
34310439 0 011033 848 816T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
34378541 0 014714 856 880T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
42842385 0 010021 832 784T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

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

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -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: 0x55ec2cb5bf50: v4i64 = X86ISD::VTRUNC 0x55ec2cb5be20
try.cpp: 0x55ec2cb5be20: v16i32 = vselect 0x55ec2cb4b960, 0x55ec2cae1e90, 0x55ec2cb5bcf0
try.cpp: 0x55ec2cb4b960: v4i1 = X86ISD::PCMPGTM 0x55ec2cb435f0, 0x55ec2cb3f180
try.cpp: 0x55ec2cb435f0: v4i64 = X86ISD::VBROADCAST 0x55ec2cae4cd0
try.cpp: 0x55ec2cae4cd0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ec2ca529a0, 0x55ec2cb2c1e0, undef:i64
try.cpp: 0x55ec2cb2c1e0: i64,ch = CopyFromReg 0x55ec2ca529a0, Register:i64 %vreg50
try.cpp: 0x55ec2cb3f3e0: i64 = Register %vreg50
try.cpp: 0x55ec2cae61a0: i64 = undef
try.cpp: 0x55ec2cb3f180: v4i64,ch = CopyFromReg 0x55ec2ca529a0, Register:v4i64 %vreg13
try.cpp: 0x55ec2cb43e40: v4i64 = Register %vreg13
try.cpp: 0x55ec2cae1e90: v16i32 = X86ISD::VBROADCAST 0x55ec2cb43850
try.cpp: 0x55ec2cb43850: i32,ch = load<LD4[ConstantPool]> 0x55ec2ca529a0, 0x55ec2cae93d0, undef:i64
try.cpp: 0x55ec2cae93d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55ec2cb25490: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55ec2cae61a0: i64 = undef
try.cpp: 0x55ec2cb5bcf0: 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: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: i32 = Constant<0>
try.cpp: 0x55ec2cb5bbc0: 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: 0x56082b9edc60: v4i64 = X86ISD::VTRUNC 0x56082b9edb30
try.cpp: 0x56082b9edb30: v16i32 = vselect 0x56082ba05b30, 0x56082b97da50, 0x56082b9eda00
try.cpp: 0x56082ba05b30: v4i1 = X86ISD::PCMPGTM 0x56082b9e6620, 0x56082b9e31c0
try.cpp: 0x56082b9e6620: v4i64 = X86ISD::VBROADCAST 0x56082b97df10
try.cpp: 0x56082b97df10: i64,ch = load<LD8[%lsr.iv6971]> 0x56082b8dfa90, 0x56082b98b080, undef:i64
try.cpp: 0x56082b98b080: i64,ch = CopyFromReg 0x56082b8dfa90, Register:i64 %vreg50
try.cpp: 0x56082b9e3420: i64 = Register %vreg50
try.cpp: 0x56082b9a0510: i64 = undef
try.cpp: 0x56082b9e31c0: v4i64,ch = CopyFromReg 0x56082b8dfa90, Register:v4i64 %vreg13
try.cpp: 0x56082b9e6e70: v4i64 = Register %vreg13
try.cpp: 0x56082b97da50: v16i32 = X86ISD::VBROADCAST 0x56082b9e6880
try.cpp: 0x56082b9e6880: i32,ch = load<LD4[ConstantPool]> 0x56082b8dfa90, 0x56082b9803f0, undef:i64
try.cpp: 0x56082b9803f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x56082b9a0e90: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x56082b9a0510: i64 = undef
try.cpp: 0x56082b9eda00: 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: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: i32 = Constant<0>
try.cpp: 0x56082b9ed8d0: 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: 0x55cb43292df0: v4i64 = X86ISD::VTRUNC 0x55cb43292cc0
try.cpp: 0x55cb43292cc0: v16i32 = vselect 0x55cb432718c0, 0x55cb43218f90, 0x55cb43292b90
try.cpp: 0x55cb432718c0: v4i1 = X86ISD::PCMPGTM 0x55cb43279490, 0x55cb43275020
try.cpp: 0x55cb43279490: v4i64 = X86ISD::VBROADCAST 0x55cb4323d700
try.cpp: 0x55cb4323d700: i64,ch = load<LD8[%lsr.iv6971]> 0x55cb431889c0, 0x55cb4325ee60, undef:i64
try.cpp: 0x55cb4325ee60: i64,ch = CopyFromReg 0x55cb431889c0, Register:i64 %vreg50
try.cpp: 0x55cb43275280: i64 = Register %vreg50
try.cpp: 0x55cb4323ebd0: i64 = undef
try.cpp: 0x55cb43275020: v4i64,ch = CopyFromReg 0x55cb431889c0, Register:v4i64 %vreg13
try.cpp: 0x55cb43279ce0: v4i64 = Register %vreg13
try.cpp: 0x55cb43218f90: v16i32 = X86ISD::VBROADCAST 0x55cb432796f0
try.cpp: 0x55cb432796f0: i32,ch = load<LD4[ConstantPool]> 0x55cb431889c0, 0x55cb4321cbd0, undef:i64
try.cpp: 0x55cb4321cbd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55cb4325d540: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55cb4323ebd0: i64 = undef
try.cpp: 0x55cb43292b90: 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: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: i32 = Constant<0>
try.cpp: 0x55cb43292a60: 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