Implementation notes: amd64, cel02, crypto_hash/edonr512

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: edonr512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
30928887 0 018552 800 776T:swpbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
635617093 0 026728 800 776T:optcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
641010787 0 020612 792 736T:swpbeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
652010680 0 021389 824 776T:swpbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
655012625 0 026821 824 808T:swpbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
671820332 0 031994 800 736T:optcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
688610926 0 021965 824 776T:swpbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
691410748 0 022426 800 736T:swpbeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
699821136 0 030948 792 736T:optcclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
715821873 0 036053 824 808T:optcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
749622123 0 032805 824 776T:optcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
767021094 0 032117 824 776T:optcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:optc
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: 0x5585f54faa70: v4i64 = X86ISD::VTRUNC 0x5585f54fa940
try.c: 0x5585f54fa940: v16i32 = vselect 0x5585f54efca0, 0x5585f54902e0, 0x5585f54fa810
try.c: 0x5585f54efca0: v4i1 = X86ISD::PCMPGTM 0x5585f54d6920, 0x5585f54d24b0
try.c: 0x5585f54d6920: v4i64 = X86ISD::VBROADCAST 0x5585f547def0
try.c: 0x5585f547def0: i64,ch = load<LD8[%lsr.iv6971]> 0x5585f53e7950, 0x5585f54bd0c0, undef:i64
try.c: 0x5585f54bd0c0: i64,ch = CopyFromReg 0x5585f53e7950, Register:i64 %vreg50
try.c: 0x5585f54d2710: i64 = Register %vreg50
try.c: 0x5585f547f3c0: i64 = undef
try.c: 0x5585f54d24b0: v4i64,ch = CopyFromReg 0x5585f53e7950, Register:v4i64 %vreg13
try.c: 0x5585f54d7170: v4i64 = Register %vreg13
try.c: 0x5585f54902e0: v16i32 = X86ISD::VBROADCAST 0x5585f54d6b80
try.c: 0x5585f54d6b80: i32,ch = load<LD4[ConstantPool]> 0x5585f53e7950, 0x5585f547d4d0, undef:i64
try.c: 0x5585f547d4d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5585f54c5b50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5585f547f3c0: i64 = undef
try.c: 0x5585f54fa810: 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: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: i32 = Constant<0>
try.c: 0x5585f54fa6e0: 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:optc

Compiler output

Implementation: T:optc
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: 0x555845620a30: v4i64 = X86ISD::VTRUNC 0x555845620900
try.c: 0x555845620900: v16i32 = vselect 0x55584562e590, 0x5558455b3330, 0x5558456207d0
try.c: 0x55584562e590: v4i1 = X86ISD::PCMPGTM 0x555845617be0, 0x555845613770
try.c: 0x555845617be0: v4i64 = X86ISD::VBROADCAST 0x5558455b37f0
try.c: 0x5558455b37f0: i64,ch = load<LD8[%lsr.iv6971]> 0x555845511a30, 0x5558455b9210, undef:i64
try.c: 0x5558455b9210: i64,ch = CopyFromReg 0x555845511a30, Register:i64 %vreg50
try.c: 0x5558456139d0: i64 = Register %vreg50
try.c: 0x5558455ad440: i64 = undef
try.c: 0x555845613770: v4i64,ch = CopyFromReg 0x555845511a30, Register:v4i64 %vreg13
try.c: 0x555845618430: v4i64 = Register %vreg13
try.c: 0x5558455b3330: v16i32 = X86ISD::VBROADCAST 0x555845617e40
try.c: 0x555845617e40: i32,ch = load<LD4[ConstantPool]> 0x555845511a30, 0x5558455c24d0, undef:i64
try.c: 0x5558455c24d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5558455addc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5558455ad440: i64 = undef
try.c: 0x5558456207d0: 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: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: i32 = Constant<0>
try.c: 0x5558456206a0: 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:optc

Compiler output

Implementation: T:optc
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: 0x557428b7f0c0: v4i64 = X86ISD::VTRUNC 0x557428b7ef90
try.c: 0x557428b7ef90: v16i32 = vselect 0x557428b66910, 0x557428b1e4c0, 0x557428b7ee60
try.c: 0x557428b66910: v4i1 = X86ISD::PCMPGTM 0x557428b638e0, 0x557428b5f470
try.c: 0x557428b638e0: v4i64 = X86ISD::VBROADCAST 0x557428b07670
try.c: 0x557428b07670: i64,ch = load<LD8[%lsr.iv6971]> 0x557428a74950, 0x557428b03ee0, undef:i64
try.c: 0x557428b03ee0: i64,ch = CopyFromReg 0x557428a74950, Register:i64 %vreg50
try.c: 0x557428b5f6d0: i64 = Register %vreg50
try.c: 0x557428b08b40: i64 = undef
try.c: 0x557428b5f470: v4i64,ch = CopyFromReg 0x557428a74950, Register:v4i64 %vreg13
try.c: 0x557428b64130: v4i64 = Register %vreg13
try.c: 0x557428b1e4c0: v16i32 = X86ISD::VBROADCAST 0x557428b63b40
try.c: 0x557428b63b40: i32,ch = load<LD4[ConstantPool]> 0x557428a74950, 0x557428b06c50, undef:i64
try.c: 0x557428b06c50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557428b48960: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557428b08b40: i64 = undef
try.c: 0x557428b7ee60: 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: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: i32 = Constant<0>
try.c: 0x557428b7ed30: 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:optc

Compiler output

Implementation: T:swpbe
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: 0x555d5395e9d0: v4i64 = X86ISD::VTRUNC 0x555d5395e8a0
try.c: 0x555d5395e8a0: v16i32 = vselect 0x555d5397fc90, 0x555d538fac00, 0x555d5395e770
try.c: 0x555d5397fc90: v4i1 = X86ISD::PCMPGTM 0x555d53956770, 0x555d53952300
try.c: 0x555d53956770: v4i64 = X86ISD::VBROADCAST 0x555d53923c60
try.c: 0x555d53923c60: i64,ch = load<LD8[%lsr.iv6971]> 0x555d53867950, 0x555d539405c0, undef:i64
try.c: 0x555d539405c0: i64,ch = CopyFromReg 0x555d53867950, Register:i64 %vreg50
try.c: 0x555d53952560: i64 = Register %vreg50
try.c: 0x555d538f9270: i64 = undef
try.c: 0x555d53952300: v4i64,ch = CopyFromReg 0x555d53867950, Register:v4i64 %vreg13
try.c: 0x555d53956fc0: v4i64 = Register %vreg13
try.c: 0x555d538fac00: v16i32 = X86ISD::VBROADCAST 0x555d539569d0
try.c: 0x555d539569d0: i32,ch = load<LD4[ConstantPool]> 0x555d53867950, 0x555d53923240, undef:i64
try.c: 0x555d53923240: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555d539417c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555d538f9270: i64 = undef
try.c: 0x555d5395e770: 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: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: i32 = Constant<0>
try.c: 0x555d5395e640: 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:swpbe

Compiler output

Implementation: T:swpbe
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: 0x563e2fc7d7a0: v4i64 = X86ISD::VTRUNC 0x563e2fc7d670
try.c: 0x563e2fc7d670: v16i32 = vselect 0x563e2fc6f850, 0x563e2fbf2560, 0x563e2fc7d540
try.c: 0x563e2fc6f850: v4i1 = X86ISD::PCMPGTM 0x563e2fc582f0, 0x563e2fc53870
try.c: 0x563e2fc582f0: v4i64 = X86ISD::VBROADCAST 0x563e2fbf2a20
try.c: 0x563e2fbf2a20: i64,ch = load<LD8[%lsr.iv6971]> 0x563e2fb51a30, 0x563e2fbf8490, undef:i64
try.c: 0x563e2fbf8490: i64,ch = CopyFromReg 0x563e2fb51a30, Register:i64 %vreg50
try.c: 0x563e2fc53ad0: i64 = Register %vreg50
try.c: 0x563e2fbf1030: i64 = undef
try.c: 0x563e2fc53870: v4i64,ch = CopyFromReg 0x563e2fb51a30, Register:v4i64 %vreg13
try.c: 0x563e2fc58b40: v4i64 = Register %vreg13
try.c: 0x563e2fbf2560: v16i32 = X86ISD::VBROADCAST 0x563e2fc58550
try.c: 0x563e2fc58550: i32,ch = load<LD4[ConstantPool]> 0x563e2fb51a30, 0x563e2fbf4f00, undef:i64
try.c: 0x563e2fbf4f00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563e2fbf19b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563e2fbf1030: i64 = undef
try.c: 0x563e2fc7d540: 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: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: i32 = Constant<0>
try.c: 0x563e2fc7d410: 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:swpbe

Compiler output

Implementation: T:swpbe
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: 0x5576f11650f0: v4i64 = X86ISD::VTRUNC 0x5576f1164fc0
try.c: 0x5576f1164fc0: v16i32 = vselect 0x5576f1161ad0, 0x5576f10f2080, 0x5576f1164e90
try.c: 0x5576f1161ad0: v4i1 = X86ISD::PCMPGTM 0x5576f114a760, 0x5576f11462f0
try.c: 0x5576f114a760: v4i64 = X86ISD::VBROADCAST 0x5576f10f4670
try.c: 0x5576f10f4670: i64,ch = load<LD8[%lsr.iv6971]> 0x5576f105b950, 0x5576f11344d0, undef:i64
try.c: 0x5576f11344d0: i64,ch = CopyFromReg 0x5576f105b950, Register:i64 %vreg50
try.c: 0x5576f1146550: i64 = Register %vreg50
try.c: 0x5576f10f06f0: i64 = undef
try.c: 0x5576f11462f0: v4i64,ch = CopyFromReg 0x5576f105b950, Register:v4i64 %vreg13
try.c: 0x5576f114afb0: v4i64 = Register %vreg13
try.c: 0x5576f10f2080: v16i32 = X86ISD::VBROADCAST 0x5576f114a9c0
try.c: 0x5576f114a9c0: i32,ch = load<LD4[ConstantPool]> 0x5576f105b950, 0x5576f10f3c50, undef:i64
try.c: 0x5576f10f3c50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5576f10f8380: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5576f10f06f0: i64 = undef
try.c: 0x5576f1164e90: 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: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: i32 = Constant<0>
try.c: 0x5576f1164d60: 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:swpbe