Implementation notes: amd64, cel02, crypto_hash/beamsplitter

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: beamsplitter
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1030211246 24 3220949 856 832T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1045413353 24 3224025 872 864T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1275611899 24 3226114 880 928T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1562011885 24 3222873 872 864T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1724012510 24 3222321 848 768T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

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: 0x557fcf264360: v4i64 = X86ISD::VTRUNC 0x557fcf264230
try.cpp: 0x557fcf264230: v16i32 = vselect 0x557fcf25c450, 0x557fcf1ef2d0, 0x557fcf264100
try.cpp: 0x557fcf25c450: v4i1 = X86ISD::PCMPGTM 0x557fcf240bd0, 0x557fcf23c760
try.cpp: 0x557fcf240bd0: v4i64 = X86ISD::VBROADCAST 0x557fcf1de530
try.cpp: 0x557fcf1de530: i64,ch = load<LD8[%lsr.iv6971]> 0x557fcf14f9c0, 0x557fcf231cd0, undef:i64
try.cpp: 0x557fcf231cd0: i64,ch = CopyFromReg 0x557fcf14f9c0, Register:i64 %vreg50
try.cpp: 0x557fcf23c9c0: i64 = Register %vreg50
try.cpp: 0x557fcf1dfa00: i64 = undef
try.cpp: 0x557fcf23c760: v4i64,ch = CopyFromReg 0x557fcf14f9c0, Register:v4i64 %vreg13
try.cpp: 0x557fcf241420: v4i64 = Register %vreg13
try.cpp: 0x557fcf1ef2d0: v16i32 = X86ISD::VBROADCAST 0x557fcf240e30
try.cpp: 0x557fcf240e30: i32,ch = load<LD4[ConstantPool]> 0x557fcf14f9c0, 0x557fcf1e8050, undef:i64
try.cpp: 0x557fcf1e8050: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x557fcf1ea740: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x557fcf1dfa00: i64 = undef
try.cpp: 0x557fcf264100: 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: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: i32 = Constant<0>
try.cpp: 0x557fcf263fd0: 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: 0x560d0360ff90: v4i64 = X86ISD::VTRUNC 0x560d0360fe60
try.cpp: 0x560d0360fe60: v16i32 = vselect 0x560d035ed760, 0x560d0358db00, 0x560d0360fd30
try.cpp: 0x560d035ed760: v4i1 = X86ISD::PCMPGTM 0x560d035ea740, 0x560d035e62d0
try.cpp: 0x560d035ea740: v4i64 = X86ISD::VBROADCAST 0x560d0358dfc0
try.cpp: 0x560d0358dfc0: i64,ch = load<LD8[%lsr.iv6971]> 0x560d034e3aa0, 0x560d0357f6e0, undef:i64
try.cpp: 0x560d0357f6e0: i64,ch = CopyFromReg 0x560d034e3aa0, Register:i64 %vreg50
try.cpp: 0x560d035e6530: i64 = Register %vreg50
try.cpp: 0x560d03582ae0: i64 = undef
try.cpp: 0x560d035e62d0: v4i64,ch = CopyFromReg 0x560d034e3aa0, Register:v4i64 %vreg13
try.cpp: 0x560d035eaf90: v4i64 = Register %vreg13
try.cpp: 0x560d0358db00: v16i32 = X86ISD::VBROADCAST 0x560d035ea9a0
try.cpp: 0x560d035ea9a0: i32,ch = load<LD4[ConstantPool]> 0x560d034e3aa0, 0x560d035904a0, undef:i64
try.cpp: 0x560d035904a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x560d03583460: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x560d03582ae0: i64 = undef
try.cpp: 0x560d0360fd30: 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: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: i32 = Constant<0>
try.cpp: 0x560d0360fc00: 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: 0x55e8f349fdb0: v4i64 = X86ISD::VTRUNC 0x55e8f349fc80
try.cpp: 0x55e8f349fc80: v16i32 = vselect 0x55e8f348e580, 0x55e8f34119a0, 0x55e8f349fb50
try.cpp: 0x55e8f348e580: v4i1 = X86ISD::PCMPGTM 0x55e8f3487450, 0x55e8f3482fe0
try.cpp: 0x55e8f3487450: v4i64 = X86ISD::VBROADCAST 0x55e8f3421f60
try.cpp: 0x55e8f3421f60: i64,ch = load<LD8[%lsr.iv6971]> 0x55e8f33969d0, 0x55e8f3472e00, undef:i64
try.cpp: 0x55e8f3472e00: i64,ch = CopyFromReg 0x55e8f33969d0, Register:i64 %vreg50
try.cpp: 0x55e8f3483240: i64 = Register %vreg50
try.cpp: 0x55e8f3410010: i64 = undef
try.cpp: 0x55e8f3482fe0: v4i64,ch = CopyFromReg 0x55e8f33969d0, Register:v4i64 %vreg13
try.cpp: 0x55e8f3487ca0: v4i64 = Register %vreg13
try.cpp: 0x55e8f34119a0: v16i32 = X86ISD::VBROADCAST 0x55e8f34876b0
try.cpp: 0x55e8f34876b0: i32,ch = load<LD4[ConstantPool]> 0x55e8f33969d0, 0x55e8f3430400, undef:i64
try.cpp: 0x55e8f3430400: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55e8f3448510: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55e8f3410010: i64 = undef
try.cpp: 0x55e8f349fb50: 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: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: i32 = Constant<0>
try.cpp: 0x55e8f349fa20: 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