Implementation notes: amd64, cel02, crypto_hash/subterraneanv1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: subterraneanv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
197837213727 0 024900 816 776T:add_mem_compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
222036013961 0 025826 800 736T:add_mem_compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
269007411617 0 021464 800 776T:add_mem_compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
290805231490 0 045973 824 808T:add_mem_compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
324688211251 0 021284 792 736T:add_mem_compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
450318413250 0 024100 816 776T:add_mem_compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
60862489897 0 021839 808 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
636302812180 0 026597 824 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
68247485509 0 015384 800 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
74438866148 0 016996 816 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
95390586467 0 016516 792 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
95583467795 0 018964 816 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:add_mem_compact
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: 0x562a7b880410: v4i64 = X86ISD::VTRUNC 0x562a7b8802e0
try.c: 0x562a7b8802e0: v16i32 = vselect 0x562a7b86ff00, 0x562a7b80c280, 0x562a7b8801b0
try.c: 0x562a7b86ff00: v4i1 = X86ISD::PCMPGTM 0x562a7b864a80, 0x562a7b860610
try.c: 0x562a7b864a80: v4i64 = X86ISD::VBROADCAST 0x562a7b804dc0
try.c: 0x562a7b804dc0: i64,ch = load<LD8[%lsr.iv6971]> 0x562a7b775970, 0x562a7b84efa0, undef:i64
try.c: 0x562a7b84efa0: i64,ch = CopyFromReg 0x562a7b775970, Register:i64 %vreg50
try.c: 0x562a7b860870: i64 = Register %vreg50
try.c: 0x562a7b806290: i64 = undef
try.c: 0x562a7b860610: v4i64,ch = CopyFromReg 0x562a7b775970, Register:v4i64 %vreg13
try.c: 0x562a7b8652d0: v4i64 = Register %vreg13
try.c: 0x562a7b80c280: v16i32 = X86ISD::VBROADCAST 0x562a7b864ce0
try.c: 0x562a7b864ce0: i32,ch = load<LD4[ConstantPool]> 0x562a7b775970, 0x562a7b8043a0, undef:i64
try.c: 0x562a7b8043a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562a7b8501a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562a7b806290: i64 = undef
try.c: 0x562a7b8801b0: 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: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: i32 = Constant<0>
try.c: 0x562a7b880080: 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:add_mem_compact

Compiler output

Implementation: T:add_mem_compact
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: 0x555731ef16c0: v4i64 = X86ISD::VTRUNC 0x555731ef1590
try.c: 0x555731ef1590: v16i32 = vselect 0x555731eec090, 0x555731e85120, 0x555731ef1460
try.c: 0x555731eec090: v4i1 = X86ISD::PCMPGTM 0x555731eea070, 0x555731ee5440
try.c: 0x555731eea070: v4i64 = X86ISD::VBROADCAST 0x555731e855e0
try.c: 0x555731e855e0: i64,ch = load<LD8[%lsr.iv6971]> 0x555731de3a40, 0x555731e8b0b0, undef:i64
try.c: 0x555731e8b0b0: i64,ch = CopyFromReg 0x555731de3a40, Register:i64 %vreg50
try.c: 0x555731ee56a0: i64 = Register %vreg50
try.c: 0x555731e62290: i64 = undef
try.c: 0x555731ee5440: v4i64,ch = CopyFromReg 0x555731de3a40, Register:v4i64 %vreg13
try.c: 0x555731eea8c0: v4i64 = Register %vreg13
try.c: 0x555731e85120: v16i32 = X86ISD::VBROADCAST 0x555731eea2d0
try.c: 0x555731eea2d0: i32,ch = load<LD4[ConstantPool]> 0x555731de3a40, 0x555731e89680, undef:i64
try.c: 0x555731e89680: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555731e62c10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555731e62290: i64 = undef
try.c: 0x555731ef1460: 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: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: i32 = Constant<0>
try.c: 0x555731ef1330: 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:add_mem_compact

Compiler output

Implementation: T:add_mem_compact
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: 0x562feaa21330: v4i64 = X86ISD::VTRUNC 0x562feaa21200
try.c: 0x562feaa21200: v16i32 = vselect 0x562feaa0de10, 0x562fea9b2b00, 0x562feaa210d0
try.c: 0x562feaa0de10: v4i1 = X86ISD::PCMPGTM 0x562feaa059a0, 0x562feaa01530
try.c: 0x562feaa059a0: v4i64 = X86ISD::VBROADCAST 0x562fea9c1d90
try.c: 0x562fea9c1d90: i64,ch = load<LD8[%lsr.iv6971]> 0x562fea916920, 0x562fea967560, undef:i64
try.c: 0x562fea967560: i64,ch = CopyFromReg 0x562fea916920, Register:i64 %vreg50
try.c: 0x562feaa01790: i64 = Register %vreg50
try.c: 0x562fea9b1170: i64 = undef
try.c: 0x562feaa01530: v4i64,ch = CopyFromReg 0x562fea916920, Register:v4i64 %vreg13
try.c: 0x562feaa061f0: v4i64 = Register %vreg13
try.c: 0x562fea9b2b00: v16i32 = X86ISD::VBROADCAST 0x562feaa05c00
try.c: 0x562feaa05c00: i32,ch = load<LD4[ConstantPool]> 0x562fea916920, 0x562fea9c1370, undef:i64
try.c: 0x562fea9c1370: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562fea9f07e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562fea9b1170: i64 = undef
try.c: 0x562feaa210d0: 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: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: i32 = Constant<0>
try.c: 0x562feaa20fa0: 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:add_mem_compact

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: 0x556fd2d22630: v4i64 = X86ISD::VTRUNC 0x556fd2d22500
try.c: 0x556fd2d22500: v16i32 = vselect 0x556fd2d3ece0, 0x556fd2cc42f0, 0x556fd2d223d0
try.c: 0x556fd2d3ece0: v4i1 = X86ISD::PCMPGTM 0x556fd2d1d980, 0x556fd2d19510
try.c: 0x556fd2d1d980: v4i64 = X86ISD::VBROADCAST 0x556fd2cd3e70
try.c: 0x556fd2cd3e70: i64,ch = load<LD8[%lsr.iv6971]> 0x556fd2c2e950, 0x556fd2d074e0, undef:i64
try.c: 0x556fd2d074e0: i64,ch = CopyFromReg 0x556fd2c2e950, Register:i64 %vreg50
try.c: 0x556fd2d19770: i64 = Register %vreg50
try.c: 0x556fd2cd5340: i64 = undef
try.c: 0x556fd2d19510: v4i64,ch = CopyFromReg 0x556fd2c2e950, Register:v4i64 %vreg13
try.c: 0x556fd2d1e1d0: v4i64 = Register %vreg13
try.c: 0x556fd2cc42f0: v16i32 = X86ISD::VBROADCAST 0x556fd2d1dbe0
try.c: 0x556fd2d1dbe0: i32,ch = load<LD4[ConstantPool]> 0x556fd2c2e950, 0x556fd2cc1470, undef:i64
try.c: 0x556fd2cc1470: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556fd2d086e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556fd2cd5340: i64 = undef
try.c: 0x556fd2d223d0: 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: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: i32 = Constant<0>
try.c: 0x556fd2d222a0: 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: 0x55e31c3a7de0: v4i64 = X86ISD::VTRUNC 0x55e31c3a7cb0
try.c: 0x55e31c3a7cb0: v16i32 = vselect 0x55e31c3bee60, 0x55e31c336f10, 0x55e31c3a7b80
try.c: 0x55e31c3bee60: v4i1 = X86ISD::PCMPGTM 0x55e31c39ff90, 0x55e31c39bb20
try.c: 0x55e31c39ff90: v4i64 = X86ISD::VBROADCAST 0x55e31c3373d0
try.c: 0x55e31c3373d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e31c299a30, 0x55e31c33a3c0, undef:i64
try.c: 0x55e31c33a3c0: i64,ch = CopyFromReg 0x55e31c299a30, Register:i64 %vreg50
try.c: 0x55e31c39bd80: i64 = Register %vreg50
try.c: 0x55e31c33ef00: i64 = undef
try.c: 0x55e31c39bb20: v4i64,ch = CopyFromReg 0x55e31c299a30, Register:v4i64 %vreg13
try.c: 0x55e31c3a07e0: v4i64 = Register %vreg13
try.c: 0x55e31c336f10: v16i32 = X86ISD::VBROADCAST 0x55e31c3a01f0
try.c: 0x55e31c3a01f0: i32,ch = load<LD4[ConstantPool]> 0x55e31c299a30, 0x55e31c349510, undef:i64
try.c: 0x55e31c349510: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e31c33f880: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e31c33ef00: i64 = undef
try.c: 0x55e31c3a7b80: 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: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: i32 = Constant<0>
try.c: 0x55e31c3a7a50: 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: 0x55ead8593440: v4i64 = X86ISD::VTRUNC 0x55ead8593310
try.c: 0x55ead8593310: v16i32 = vselect 0x55ead858fe20, 0x55ead8517cb0, 0x55ead85931e0
try.c: 0x55ead858fe20: v4i1 = X86ISD::PCMPGTM 0x55ead856f650, 0x55ead856d170
try.c: 0x55ead856f650: v4i64 = X86ISD::VBROADCAST 0x55ead8514840
try.c: 0x55ead8514840: i64,ch = load<LD8[%lsr.iv6971]> 0x55ead84819d0, 0x55ead855c200, undef:i64
try.c: 0x55ead855c200: i64,ch = CopyFromReg 0x55ead84819d0, Register:i64 %vreg50
try.c: 0x55ead856d3d0: i64 = Register %vreg50
try.c: 0x55ead8515d10: i64 = undef
try.c: 0x55ead856d170: v4i64,ch = CopyFromReg 0x55ead84819d0, Register:v4i64 %vreg13
try.c: 0x55ead856fea0: v4i64 = Register %vreg13
try.c: 0x55ead8517cb0: v16i32 = X86ISD::VBROADCAST 0x55ead856f8b0
try.c: 0x55ead856f8b0: i32,ch = load<LD4[ConstantPool]> 0x55ead84819d0, 0x55ead8513e20, undef:i64
try.c: 0x55ead8513e20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ead855a930: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ead8515d10: i64 = undef
try.c: 0x55ead85931e0: 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: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: i32 = Constant<0>
try.c: 0x55ead85930b0: 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