Implementation notes: amd64, cel02, crypto_hash/triadhashv1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: triadhashv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1155102259 8 11313507 880 952T:add_sseg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2015362338 8 11313275 880 952T:add_sseg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2022222131 8 11316620 888 1016T:add_sseg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2124282403 8 12812535 856 864T:add_sseclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2329301489 8 11311471 864 920T:add_sseg++_-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 does not handle m=h overlap

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:add_sse
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: 0x557804db9fc0: v4i64 = X86ISD::VTRUNC 0x557804db9e90
try.cpp: 0x557804db9e90: v16i32 = vselect 0x557804db4990, 0x557804d5d4b0, 0x557804db9d60
try.cpp: 0x557804db4990: v4i1 = X86ISD::PCMPGTM 0x557804da0650, 0x557804d9c1e0
try.cpp: 0x557804da0650: v4i64 = X86ISD::VBROADCAST 0x557804d3f5c0
try.cpp: 0x557804d3f5c0: i64,ch = load<LD8[%lsr.iv6971]> 0x557804cafa40, 0x557804d8aec0, undef:i64
try.cpp: 0x557804d8aec0: i64,ch = CopyFromReg 0x557804cafa40, Register:i64 %vreg50
try.cpp: 0x557804d9c440: i64 = Register %vreg50
try.cpp: 0x557804d40a90: i64 = undef
try.cpp: 0x557804d9c1e0: v4i64,ch = CopyFromReg 0x557804cafa40, Register:v4i64 %vreg13
try.cpp: 0x557804da0ea0: v4i64 = Register %vreg13
try.cpp: 0x557804d5d4b0: v16i32 = X86ISD::VBROADCAST 0x557804da08b0
try.cpp: 0x557804da08b0: i32,ch = load<LD4[ConstantPool]> 0x557804cafa40, 0x557804d51ea0, undef:i64
try.cpp: 0x557804d51ea0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x557804d46f40: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x557804d40a90: i64 = undef
try.cpp: 0x557804db9d60: 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: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: i32 = Constant<0>
try.cpp: 0x557804db9c30: 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:add_sse

Compiler output

Implementation: T:add_sse
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: 0x562c6592db40: v4i64 = X86ISD::VTRUNC 0x562c6592da10
try.cpp: 0x562c6592da10: v16i32 = vselect 0x562c6592a520, 0x562c658bda70, 0x562c6592d8e0
try.cpp: 0x562c6592a520: v4i1 = X86ISD::PCMPGTM 0x562c65925cf0, 0x562c65921cd0
try.cpp: 0x562c65925cf0: v4i64 = X86ISD::VBROADCAST 0x562c658bdf30
try.cpp: 0x562c658bdf30: i64,ch = load<LD8[%lsr.iv6971]> 0x562c6581ea80, 0x562c658c2190, undef:i64
try.cpp: 0x562c658c2190: i64,ch = CopyFromReg 0x562c6581ea80, Register:i64 %vreg50
try.cpp: 0x562c65921f30: i64 = Register %vreg50
try.cpp: 0x562c658c52c0: i64 = undef
try.cpp: 0x562c65921cd0: v4i64,ch = CopyFromReg 0x562c6581ea80, Register:v4i64 %vreg13
try.cpp: 0x562c65926540: v4i64 = Register %vreg13
try.cpp: 0x562c658bda70: v16i32 = X86ISD::VBROADCAST 0x562c65925f50
try.cpp: 0x562c65925f50: i32,ch = load<LD4[ConstantPool]> 0x562c6581ea80, 0x562c658d0210, undef:i64
try.cpp: 0x562c658d0210: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x562c658c5c40: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x562c658c52c0: i64 = undef
try.cpp: 0x562c6592d8e0: 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: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: i32 = Constant<0>
try.cpp: 0x562c6592d7b0: 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:add_sse

Compiler output

Implementation: T:add_sse
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: 0x55b0127b5420: v4i64 = X86ISD::VTRUNC 0x55b0127b52f0
try.cpp: 0x55b0127b52f0: v16i32 = vselect 0x55b0127a8580, 0x55b01273d330, 0x55b0127b51c0
try.cpp: 0x55b0127a8580: v4i1 = X86ISD::PCMPGTM 0x55b01279cac0, 0x55b012798650
try.cpp: 0x55b01279cac0: v4i64 = X86ISD::VBROADCAST 0x55b01273a4d0
try.cpp: 0x55b01273a4d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55b0126ab9c0, 0x55b01278e500, undef:i64
try.cpp: 0x55b01278e500: i64,ch = CopyFromReg 0x55b0126ab9c0, Register:i64 %vreg50
try.cpp: 0x55b0127988b0: i64 = Register %vreg50
try.cpp: 0x55b01273b9a0: i64 = undef
try.cpp: 0x55b012798650: v4i64,ch = CopyFromReg 0x55b0126ab9c0, Register:v4i64 %vreg13
try.cpp: 0x55b01279d310: v4i64 = Register %vreg13
try.cpp: 0x55b01273d330: v16i32 = X86ISD::VBROADCAST 0x55b01279cd20
try.cpp: 0x55b01279cd20: i32,ch = load<LD4[ConstantPool]> 0x55b0126ab9c0, 0x55b01273f6e0, undef:i64
try.cpp: 0x55b01273f6e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55b012761870: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55b01273b9a0: i64 = undef
try.cpp: 0x55b0127b51c0: 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: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: i32 = Constant<0>
try.cpp: 0x55b0127b5090: 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:add_sse

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x562176149260: v4i64 = X86ISD::VTRUNC 0x562176149130
try.c: 0x562176149130: v16i32 = vselect 0x56217615c3a0, 0x5621760fcdb0, 0x562176149000
try.c: 0x56217615c3a0: v4i1 = X86ISD::PCMPGTM 0x562176142810, 0x56217613e3a0
try.c: 0x562176142810: v4i64 = X86ISD::VBROADCAST 0x5621760e5620
try.c: 0x5621760e5620: i64,ch = load<LD8[%lsr.iv6971]> 0x562176053950, 0x56217612c510, undef:i64
try.c: 0x56217612c510: i64,ch = CopyFromReg 0x562176053950, Register:i64 %vreg50
try.c: 0x56217613e600: i64 = Register %vreg50
try.c: 0x5621760e6af0: i64 = undef
try.c: 0x56217613e3a0: v4i64,ch = CopyFromReg 0x562176053950, Register:v4i64 %vreg13
try.c: 0x562176143060: v4i64 = Register %vreg13
try.c: 0x5621760fcdb0: v16i32 = X86ISD::VBROADCAST 0x562176142a70
try.c: 0x562176142a70: i32,ch = load<LD4[ConstantPool]> 0x562176053950, 0x56217610c3c0, undef:i64
try.c: 0x56217610c3c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562176135160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5621760e6af0: i64 = undef
try.c: 0x562176149000: 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.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: 0x562176148ed0: i32 = Constant<0>
try.c: ...

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.c: fatal error: error in backend: Cannot select: 0x564df16e8430: v4i64 = X86ISD::VTRUNC 0x564df16e8300
try.c: 0x564df16e8300: v16i32 = vselect 0x564df16dbda0, 0x564df166e910, 0x564df16e81d0
try.c: 0x564df16dbda0: v4i1 = X86ISD::PCMPGTM 0x564df16d18d0, 0x564df16cd460
try.c: 0x564df16d18d0: v4i64 = X86ISD::VBROADCAST 0x564df166edd0
try.c: 0x564df166edd0: i64,ch = load<LD8[%lsr.iv6971]> 0x564df15cba30, 0x564df16738a0, undef:i64
try.c: 0x564df16738a0: i64,ch = CopyFromReg 0x564df15cba30, Register:i64 %vreg50
try.c: 0x564df16cd6c0: i64 = Register %vreg50
try.c: 0x564df1665d40: i64 = undef
try.c: 0x564df16cd460: v4i64,ch = CopyFromReg 0x564df15cba30, Register:v4i64 %vreg13
try.c: 0x564df16d2120: v4i64 = Register %vreg13
try.c: 0x564df166e910: v16i32 = X86ISD::VBROADCAST 0x564df16d1b30
try.c: 0x564df16d1b30: i32,ch = load<LD4[ConstantPool]> 0x564df15cba30, 0x564df1671e70, undef:i64
try.c: 0x564df1671e70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564df16666c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564df1665d40: i64 = undef
try.c: 0x564df16e81d0: 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.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: 0x564df16e80a0: i32 = Constant<0>
try.c: ...

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.c: fatal error: error in backend: Cannot select: 0x561f31e40110: v4i64 = X86ISD::VTRUNC 0x561f31e3ffe0
try.c: 0x561f31e3ffe0: v16i32 = vselect 0x561f31e29710, 0x561f31dde7c0, 0x561f31e3feb0
try.c: 0x561f31e29710: v4i1 = X86ISD::PCMPGTM 0x561f31e3af10, 0x561f31e36aa0
try.c: 0x561f31e3af10: v4i64 = X86ISD::VBROADCAST 0x561f31dda940
try.c: 0x561f31dda940: i64,ch = load<LD8[%lsr.iv6971]> 0x561f31d4b9d0, 0x561f31e2dcc0, undef:i64
try.c: 0x561f31e2dcc0: i64,ch = CopyFromReg 0x561f31d4b9d0, Register:i64 %vreg50
try.c: 0x561f31e36d00: i64 = Register %vreg50
try.c: 0x561f31ddbe10: i64 = undef
try.c: 0x561f31e36aa0: v4i64,ch = CopyFromReg 0x561f31d4b9d0, Register:v4i64 %vreg13
try.c: 0x561f31e3b760: v4i64 = Register %vreg13
try.c: 0x561f31dde7c0: v16i32 = X86ISD::VBROADCAST 0x561f31e3b170
try.c: 0x561f31e3b170: i32,ch = load<LD4[ConstantPool]> 0x561f31d4b9d0, 0x561f31de9ce0, undef:i64
try.c: 0x561f31de9ce0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561f31e206a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561f31ddbe10: i64 = undef
try.c: 0x561f31e3feb0: 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.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: 0x561f31e3fd80: i32 = Constant<0>
try.c: ...

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