Implementation notes: amd64, cel02, crypto_hash/edonr256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: edonr256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
597812625 0 026821 824 808T:swpbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
635617093 0 026728 800 776T:optcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
650421873 0 036053 824 808T:optcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1057610926 0 021965 824 776T:swpbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
115088887 0 018552 800 776T:swpbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1235021094 0 032117 824 776T:optcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1261020332 0 031994 800 736T:optcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1279010680 0 021389 824 776T:swpbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1286610748 0 022426 800 736T:swpbeclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1305421136 0 030948 792 736T:optcclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1334222123 0 032805 824 776T:optcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1379010787 0 020612 792 736T:swpbeclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-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: 0x5606eeeea150: v4i64 = X86ISD::VTRUNC 0x5606eeeea020
try.c: 0x5606eeeea020: v16i32 = vselect 0x5606eeed6430, 0x5606eee6fbd0, 0x5606eeee9ef0
try.c: 0x5606eeed6430: v4i1 = X86ISD::PCMPGTM 0x5606eeecf7d0, 0x5606eeecb360
try.c: 0x5606eeecf7d0: v4i64 = X86ISD::VBROADCAST 0x5606eee96360
try.c: 0x5606eee96360: i64,ch = load<LD8[%lsr.iv6971]> 0x5606eede0940, 0x5606eeeb7400, undef:i64
try.c: 0x5606eeeb7400: i64,ch = CopyFromReg 0x5606eede0940, Register:i64 %vreg50
try.c: 0x5606eeecb5c0: i64 = Register %vreg50
try.c: 0x5606eee97830: i64 = undef
try.c: 0x5606eeecb360: v4i64,ch = CopyFromReg 0x5606eede0940, Register:v4i64 %vreg13
try.c: 0x5606eeed0020: v4i64 = Register %vreg13
try.c: 0x5606eee6fbd0: v16i32 = X86ISD::VBROADCAST 0x5606eeecfa30
try.c: 0x5606eeecfa30: i32,ch = load<LD4[ConstantPool]> 0x5606eede0940, 0x5606eee95940, undef:i64
try.c: 0x5606eee95940: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5606eee90300: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5606eee97830: i64 = undef
try.c: 0x5606eeee9ef0: 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: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: i32 = Constant<0>
try.c: 0x5606eeee9dc0: 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: 0x5628999453a0: v4i64 = X86ISD::VTRUNC 0x562899945270
try.c: 0x562899945270: v16i32 = vselect 0x5628999517c0, 0x5628998d4c80, 0x562899945140
try.c: 0x5628999517c0: v4i1 = X86ISD::PCMPGTM 0x562899939040, 0x56289992c630
try.c: 0x562899939040: v4i64 = X86ISD::VBROADCAST 0x5628998d5140
try.c: 0x5628998d5140: i64,ch = load<LD8[%lsr.iv6971]> 0x562899832a30, 0x5628998e7a50, undef:i64
try.c: 0x5628998e7a50: i64,ch = CopyFromReg 0x562899832a30, Register:i64 %vreg50
try.c: 0x56289992c890: i64 = Register %vreg50
try.c: 0x5628998cd6b0: i64 = undef
try.c: 0x56289992c630: v4i64,ch = CopyFromReg 0x562899832a30, Register:v4i64 %vreg13
try.c: 0x562899939890: v4i64 = Register %vreg13
try.c: 0x5628998d4c80: v16i32 = X86ISD::VBROADCAST 0x5628999392a0
try.c: 0x5628999392a0: i32,ch = load<LD4[ConstantPool]> 0x562899832a30, 0x5628998e5400, undef:i64
try.c: 0x5628998e5400: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5628998ce030: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5628998cd6b0: i64 = undef
try.c: 0x562899945140: 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: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: i32 = Constant<0>
try.c: 0x562899945010: 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: 0x560ea4c923d0: v4i64 = X86ISD::VTRUNC 0x560ea4c922a0
try.c: 0x560ea4c922a0: v16i32 = vselect 0x560ea4c8edb0, 0x560ea4c37260, 0x560ea4c92170
try.c: 0x560ea4c8edb0: v4i1 = X86ISD::PCMPGTM 0x560ea4c77a40, 0x560ea4c735d0
try.c: 0x560ea4c77a40: v4i64 = X86ISD::VBROADCAST 0x560ea4c1bb40
try.c: 0x560ea4c1bb40: i64,ch = load<LD8[%lsr.iv6971]> 0x560ea4b88950, 0x560ea4c616b0, undef:i64
try.c: 0x560ea4c616b0: i64,ch = CopyFromReg 0x560ea4b88950, Register:i64 %vreg50
try.c: 0x560ea4c73830: i64 = Register %vreg50
try.c: 0x560ea4c358d0: i64 = undef
try.c: 0x560ea4c735d0: v4i64,ch = CopyFromReg 0x560ea4b88950, Register:v4i64 %vreg13
try.c: 0x560ea4c78290: v4i64 = Register %vreg13
try.c: 0x560ea4c37260: v16i32 = X86ISD::VBROADCAST 0x560ea4c77ca0
try.c: 0x560ea4c77ca0: i32,ch = load<LD4[ConstantPool]> 0x560ea4b88950, 0x560ea4c1b120, undef:i64
try.c: 0x560ea4c1b120: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560ea4c62ca0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560ea4c358d0: i64 = undef
try.c: 0x560ea4c92170: 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: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: i32 = Constant<0>
try.c: 0x560ea4c92040: 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: 0x5646fb81c440: v4i64 = X86ISD::VTRUNC 0x5646fb81c310
try.c: 0x5646fb81c310: v16i32 = vselect 0x5646fb828200, 0x5646fb7ae820, 0x5646fb81c1e0
try.c: 0x5646fb828200: v4i1 = X86ISD::PCMPGTM 0x5646fb804ae0, 0x5646fb800670
try.c: 0x5646fb804ae0: v4i64 = X86ISD::VBROADCAST 0x5646fb7ab9c0
try.c: 0x5646fb7ab9c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5646fb715920, 0x5646fb7ee620, undef:i64
try.c: 0x5646fb7ee620: i64,ch = CopyFromReg 0x5646fb715920, Register:i64 %vreg50
try.c: 0x5646fb8008d0: i64 = Register %vreg50
try.c: 0x5646fb7ace90: i64 = undef
try.c: 0x5646fb800670: v4i64,ch = CopyFromReg 0x5646fb715920, Register:v4i64 %vreg13
try.c: 0x5646fb805330: v4i64 = Register %vreg13
try.c: 0x5646fb7ae820: v16i32 = X86ISD::VBROADCAST 0x5646fb804d40
try.c: 0x5646fb804d40: i32,ch = load<LD4[ConstantPool]> 0x5646fb715920, 0x5646fb7aafa0, undef:i64
try.c: 0x5646fb7aafa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5646fb7b06c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5646fb7ace90: i64 = undef
try.c: 0x5646fb81c1e0: 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: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: i32 = Constant<0>
try.c: 0x5646fb81c0b0: 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: 0x560d9e376150: v4i64 = X86ISD::VTRUNC 0x560d9e376020
try.c: 0x560d9e376020: v16i32 = vselect 0x560d9e372b30, 0x560d9e2ef110, 0x560d9e375ef0
try.c: 0x560d9e372b30: v4i1 = X86ISD::PCMPGTM 0x560d9e35c350, 0x560d9e357720
try.c: 0x560d9e35c350: v4i64 = X86ISD::VBROADCAST 0x560d9e2ef5d0
try.c: 0x560d9e2ef5d0: i64,ch = load<LD8[%lsr.iv6971]> 0x560d9e255a30, 0x560d9e305a20, undef:i64
try.c: 0x560d9e305a20: i64,ch = CopyFromReg 0x560d9e255a30, Register:i64 %vreg50
try.c: 0x560d9e357980: i64 = Register %vreg50
try.c: 0x560d9e2fec40: i64 = undef
try.c: 0x560d9e357720: v4i64,ch = CopyFromReg 0x560d9e255a30, Register:v4i64 %vreg13
try.c: 0x560d9e35cba0: v4i64 = Register %vreg13
try.c: 0x560d9e2ef110: v16i32 = X86ISD::VBROADCAST 0x560d9e35c5b0
try.c: 0x560d9e35c5b0: i32,ch = load<LD4[ConstantPool]> 0x560d9e255a30, 0x560d9e2f1ab0, undef:i64
try.c: 0x560d9e2f1ab0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560d9e2ff5c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560d9e2fec40: i64 = undef
try.c: 0x560d9e375ef0: 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: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: i32 = Constant<0>
try.c: 0x560d9e375dc0: 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: 0x559d062d7dd0: v4i64 = X86ISD::VTRUNC 0x559d062d7ca0
try.c: 0x559d062d7ca0: v16i32 = vselect 0x559d062d47b0, 0x559d06278c90, 0x559d062d7b70
try.c: 0x559d062d47b0: v4i1 = X86ISD::PCMPGTM 0x559d062cfb60, 0x559d062cb6f0
try.c: 0x559d062cfb60: v4i64 = X86ISD::VBROADCAST 0x559d06275e30
try.c: 0x559d06275e30: i64,ch = load<LD8[%lsr.iv6971]> 0x559d061e0950, 0x559d062c2c10, undef:i64
try.c: 0x559d062c2c10: i64,ch = CopyFromReg 0x559d061e0950, Register:i64 %vreg50
try.c: 0x559d062cb950: i64 = Register %vreg50
try.c: 0x559d06277300: i64 = undef
try.c: 0x559d062cb6f0: v4i64,ch = CopyFromReg 0x559d061e0950, Register:v4i64 %vreg13
try.c: 0x559d062d03b0: v4i64 = Register %vreg13
try.c: 0x559d06278c90: v16i32 = X86ISD::VBROADCAST 0x559d062cfdc0
try.c: 0x559d062cfdc0: i32,ch = load<LD4[ConstantPool]> 0x559d061e0950, 0x559d062711b0, undef:i64
try.c: 0x559d062711b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559d06295e50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559d06277300: i64 = undef
try.c: 0x559d062d7b70: 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: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: i32 = Constant<0>
try.c: 0x559d062d7a40: 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