Implementation notes: amd64, cel02, crypto_hash/saturninhashv2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: saturninhashv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
798144111 0 015746 800 736T:bs32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
809763782 0 013564 792 736T:bs32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
996125228 0 019365 824 808T:bs32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1032484899 0 015812 816 776T:bs32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1364389599 0 021234 800 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1422184126 0 013744 800 776T:bs32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1536984731 0 015405 824 776T:bs32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2063382892 0 012764 792 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
4089669619 0 023789 824 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4565723405 0 013120 800 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4693743562 0 014325 824 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5100483888 0 014884 816 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:bs32
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: 0x55a3b47702b0: v4i64 = X86ISD::VTRUNC 0x55a3b4770180
try.c: 0x55a3b4770180: v16i32 = vselect 0x55a3b4759160, 0x55a3b4700910, 0x55a3b4770050
try.c: 0x55a3b4759160: v4i1 = X86ISD::PCMPGTM 0x55a3b4756940, 0x55a3b47524d0
try.c: 0x55a3b4756940: v4i64 = X86ISD::VBROADCAST 0x55a3b46fdab0
try.c: 0x55a3b46fdab0: i64,ch = load<LD8[%lsr.iv6971]> 0x55a3b4667920, 0x55a3b474d330, undef:i64
try.c: 0x55a3b474d330: i64,ch = CopyFromReg 0x55a3b4667920, Register:i64 %vreg50
try.c: 0x55a3b4752730: i64 = Register %vreg50
try.c: 0x55a3b46fef80: i64 = undef
try.c: 0x55a3b47524d0: v4i64,ch = CopyFromReg 0x55a3b4667920, Register:v4i64 %vreg13
try.c: 0x55a3b4757190: v4i64 = Register %vreg13
try.c: 0x55a3b4700910: v16i32 = X86ISD::VBROADCAST 0x55a3b4756ba0
try.c: 0x55a3b4756ba0: i32,ch = load<LD4[ConstantPool]> 0x55a3b4667920, 0x55a3b46fd090, undef:i64
try.c: 0x55a3b46fd090: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a3b46c3ce0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a3b46fef80: i64 = undef
try.c: 0x55a3b4770050: 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: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: i32 = Constant<0>
try.c: 0x55a3b476ff20: 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:bs32

Compiler output

Implementation: T:bs32
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: 0x558f46da7850: v4i64 = X86ISD::VTRUNC 0x558f46da7720
try.c: 0x558f46da7720: v16i32 = vselect 0x558f46d8a400, 0x558f46d1e290, 0x558f46da75f0
try.c: 0x558f46d8a400: v4i1 = X86ISD::PCMPGTM 0x558f46d83890, 0x558f46d7f420
try.c: 0x558f46d83890: v4i64 = X86ISD::VBROADCAST 0x558f46d1e750
try.c: 0x558f46d1e750: i64,ch = load<LD8[%lsr.iv6971]> 0x558f46c7da40, 0x558f46d2cda0, undef:i64
try.c: 0x558f46d2cda0: i64,ch = CopyFromReg 0x558f46c7da40, Register:i64 %vreg50
try.c: 0x558f46d7f680: i64 = Register %vreg50
try.c: 0x558f46d18df0: i64 = undef
try.c: 0x558f46d7f420: v4i64,ch = CopyFromReg 0x558f46c7da40, Register:v4i64 %vreg13
try.c: 0x558f46d840e0: v4i64 = Register %vreg13
try.c: 0x558f46d1e290: v16i32 = X86ISD::VBROADCAST 0x558f46d83af0
try.c: 0x558f46d83af0: i32,ch = load<LD4[ConstantPool]> 0x558f46c7da40, 0x558f46d20c30, undef:i64
try.c: 0x558f46d20c30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558f46d19770: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558f46d18df0: i64 = undef
try.c: 0x558f46da75f0: 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: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: i32 = Constant<0>
try.c: 0x558f46da74c0: 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:bs32

Compiler output

Implementation: T:bs32
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: 0x556b827768f0: v4i64 = X86ISD::VTRUNC 0x556b827767c0
try.c: 0x556b827767c0: v16i32 = vselect 0x556b8279a570, 0x556b8272cd10, 0x556b82776690
try.c: 0x556b8279a570: v4i1 = X86ISD::PCMPGTM 0x556b82771830, 0x556b8276d3c0
try.c: 0x556b82771830: v4i64 = X86ISD::VBROADCAST 0x556b82728980
try.c: 0x556b82728980: i64,ch = load<LD8[%lsr.iv6971]> 0x556b82682950, 0x556b82760520, undef:i64
try.c: 0x556b82760520: i64,ch = CopyFromReg 0x556b82682950, Register:i64 %vreg50
try.c: 0x556b8276d620: i64 = Register %vreg50
try.c: 0x556b8272b380: i64 = undef
try.c: 0x556b8276d3c0: v4i64,ch = CopyFromReg 0x556b82682950, Register:v4i64 %vreg13
try.c: 0x556b82772080: v4i64 = Register %vreg13
try.c: 0x556b8272cd10: v16i32 = X86ISD::VBROADCAST 0x556b82771a90
try.c: 0x556b82771a90: i32,ch = load<LD4[ConstantPool]> 0x556b82682950, 0x556b82727f60, undef:i64
try.c: 0x556b82727f60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556b826e2bb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556b8272b380: i64 = undef
try.c: 0x556b82776690: 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: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: i32 = Constant<0>
try.c: 0x556b82776560: 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:bs32

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: 0x560594ba3200: v4i64 = X86ISD::VTRUNC 0x560594ba30d0
try.c: 0x560594ba30d0: v16i32 = vselect 0x560594b81cc0, 0x560594b28dc0, 0x560594ba2fa0
try.c: 0x560594b81cc0: v4i1 = X86ISD::PCMPGTM 0x560594b89890, 0x560594b85420
try.c: 0x560594b89890: v4i64 = X86ISD::VBROADCAST 0x560594b2fdd0
try.c: 0x560594b2fdd0: i64,ch = load<LD8[%lsr.iv6971]> 0x560594a9a950, 0x560594b74690, undef:i64
try.c: 0x560594b74690: i64,ch = CopyFromReg 0x560594a9a950, Register:i64 %vreg50
try.c: 0x560594b85680: i64 = Register %vreg50
try.c: 0x560594b312a0: i64 = undef
try.c: 0x560594b85420: v4i64,ch = CopyFromReg 0x560594a9a950, Register:v4i64 %vreg13
try.c: 0x560594b8a0e0: v4i64 = Register %vreg13
try.c: 0x560594b28dc0: v16i32 = X86ISD::VBROADCAST 0x560594b89af0
try.c: 0x560594b89af0: i32,ch = load<LD4[ConstantPool]> 0x560594a9a950, 0x560594b35fc0, undef:i64
try.c: 0x560594b35fc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560594b72d70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560594b312a0: i64 = undef
try.c: 0x560594ba2fa0: 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: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: i32 = Constant<0>
try.c: 0x560594ba2e70: 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: 0x55bf868370c0: v4i64 = X86ISD::VTRUNC 0x55bf86836f90
try.c: 0x55bf86836f90: v16i32 = vselect 0x55bf86822570, 0x55bf867b8c70, 0x55bf86836e60
try.c: 0x55bf86822570: v4i1 = X86ISD::PCMPGTM 0x55bf8681f2d0, 0x55bf8681a6a0
try.c: 0x55bf8681f2d0: v4i64 = X86ISD::VBROADCAST 0x55bf867b9130
try.c: 0x55bf867b9130: i64,ch = load<LD8[%lsr.iv6971]> 0x55bf86719a30, 0x55bf867c0270, undef:i64
try.c: 0x55bf867c0270: i64,ch = CopyFromReg 0x55bf86719a30, Register:i64 %vreg50
try.c: 0x55bf8681a900: i64 = Register %vreg50
try.c: 0x55bf86798260: i64 = undef
try.c: 0x55bf8681a6a0: v4i64,ch = CopyFromReg 0x55bf86719a30, Register:v4i64 %vreg13
try.c: 0x55bf8681fb20: v4i64 = Register %vreg13
try.c: 0x55bf867b8c70: v16i32 = X86ISD::VBROADCAST 0x55bf8681f530
try.c: 0x55bf8681f530: i32,ch = load<LD4[ConstantPool]> 0x55bf86719a30, 0x55bf867bce80, undef:i64
try.c: 0x55bf867bce80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bf86798be0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bf86798260: i64 = undef
try.c: 0x55bf86836e60: 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: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: i32 = Constant<0>
try.c: 0x55bf86836d30: 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: 0x55bfab5b6040: v4i64 = X86ISD::VTRUNC 0x55bfab5b5f10
try.c: 0x55bfab5b5f10: v16i32 = vselect 0x55bfab5a98f0, 0x55bfab5571d0, 0x55bfab5b5de0
try.c: 0x55bfab5a98f0: v4i1 = X86ISD::PCMPGTM 0x55bfab5acea0, 0x55bfab5a8420
try.c: 0x55bfab5acea0: v4i64 = X86ISD::VBROADCAST 0x55bfab554370
try.c: 0x55bfab554370: i64,ch = load<LD8[%lsr.iv6971]> 0x55bfab4bd950, 0x55bfab596a80, undef:i64
try.c: 0x55bfab596a80: i64,ch = CopyFromReg 0x55bfab4bd950, Register:i64 %vreg50
try.c: 0x55bfab5a8680: i64 = Register %vreg50
try.c: 0x55bfab555840: i64 = undef
try.c: 0x55bfab5a8420: v4i64,ch = CopyFromReg 0x55bfab4bd950, Register:v4i64 %vreg13
try.c: 0x55bfab5ad6f0: v4i64 = Register %vreg13
try.c: 0x55bfab5571d0: v16i32 = X86ISD::VBROADCAST 0x55bfab5ad100
try.c: 0x55bfab5ad100: i32,ch = load<LD4[ConstantPool]> 0x55bfab4bd950, 0x55bfab553950, undef:i64
try.c: 0x55bfab553950: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bfab50ddf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bfab555840: i64 = undef
try.c: 0x55bfab5b5de0: 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: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: i32 = Constant<0>
try.c: 0x55bfab5b5cb0: 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