Implementation notes: amd64, cel02, crypto_core/hsalsa20

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_core
Primitive: hsalsa20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
466898 0 016285 824 864ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
628972 0 011736 800 800ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6321051 0 012820 816 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6361051 0 012820 816 800ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
640898 0 012996 816 800ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
644898 0 012996 816 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
644898 0 016285 824 864refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7402049 0 014850 800 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7921675 0 012612 792 760ref2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
854972 0 011736 800 800refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10061688 0 014474 800 760ref2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11642264 0 013212 792 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55602d74c380: v4i64 = X86ISD::VTRUNC 0x55602d74c250
try.c: 0x55602d74c250: v16i32 = vselect 0x55602d738e60, 0x55602d6ead40, 0x55602d74c120
try.c: 0x55602d738e60: v4i1 = X86ISD::PCMPGTM 0x55602d7309f0, 0x55602d72c580
try.c: 0x55602d7309f0: v4i64 = X86ISD::VBROADCAST 0x55602d6d7ae0
try.c: 0x55602d6d7ae0: i64,ch = load<LD8[%lsr.iv6971]> 0x55602d641950, 0x55602d6ee490, undef:i64
try.c: 0x55602d6ee490: i64,ch = CopyFromReg 0x55602d641950, Register:i64 %vreg50
try.c: 0x55602d72c7e0: i64 = Register %vreg50
try.c: 0x55602d6d8fb0: i64 = undef
try.c: 0x55602d72c580: v4i64,ch = CopyFromReg 0x55602d641950, Register:v4i64 %vreg13
try.c: 0x55602d731240: v4i64 = Register %vreg13
try.c: 0x55602d6ead40: v16i32 = X86ISD::VBROADCAST 0x55602d730c50
try.c: 0x55602d730c50: i32,ch = load<LD4[ConstantPool]> 0x55602d641950, 0x55602d6d70c0, undef:i64
try.c: 0x55602d6d70c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55602d71bcb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55602d6d8fb0: i64 = undef
try.c: 0x55602d74c120: 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: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: i32 = Constant<0>
try.c: 0x55602d74bff0: 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 ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55c559168390: v4i64 = X86ISD::VTRUNC 0x55c559168260
try.c: 0x55c559168260: v16i32 = vselect 0x55c55916d820, 0x55c5590fd920, 0x55c559168130
try.c: 0x55c55916d820: v4i1 = X86ISD::PCMPGTM 0x55c55914f060, 0x55c55914cb80
try.c: 0x55c55914f060: v4i64 = X86ISD::VBROADCAST 0x55c5590fdde0
try.c: 0x55c5590fdde0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c559049a30, 0x55c5590efd50, undef:i64
try.c: 0x55c5590efd50: i64,ch = CopyFromReg 0x55c559049a30, Register:i64 %vreg50
try.c: 0x55c55914cde0: i64 = Register %vreg50
try.c: 0x55c5590eaf10: i64 = undef
try.c: 0x55c55914cb80: v4i64,ch = CopyFromReg 0x55c559049a30, Register:v4i64 %vreg13
try.c: 0x55c55914f8b0: v4i64 = Register %vreg13
try.c: 0x55c5590fd920: v16i32 = X86ISD::VBROADCAST 0x55c55914f2c0
try.c: 0x55c55914f2c0: i32,ch = load<LD4[ConstantPool]> 0x55c559049a30, 0x55c5591002c0, undef:i64
try.c: 0x55c5591002c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c5590eb890: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c5590eaf10: i64 = undef
try.c: 0x55c559168130: 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: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: i32 = Constant<0>
try.c: 0x55c559168000: 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 ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x563b98c5a340: v4i64 = X86ISD::VTRUNC 0x563b98c5a210
try.c: 0x563b98c5a210: v16i32 = vselect 0x563b98c65370, 0x563b98be9b10, 0x563b98c5a0e0
try.c: 0x563b98c65370: v4i1 = X86ISD::PCMPGTM 0x563b98c409d0, 0x563b98c3c560
try.c: 0x563b98c409d0: v4i64 = X86ISD::VBROADCAST 0x563b98be6cb0
try.c: 0x563b98be6cb0: i64,ch = load<LD8[%lsr.iv6971]> 0x563b98b51950, 0x563b98c33950, undef:i64
try.c: 0x563b98c33950: i64,ch = CopyFromReg 0x563b98b51950, Register:i64 %vreg50
try.c: 0x563b98c3c7c0: i64 = Register %vreg50
try.c: 0x563b98be8180: i64 = undef
try.c: 0x563b98c3c560: v4i64,ch = CopyFromReg 0x563b98b51950, Register:v4i64 %vreg13
try.c: 0x563b98c41220: v4i64 = Register %vreg13
try.c: 0x563b98be9b10: v16i32 = X86ISD::VBROADCAST 0x563b98c40c30
try.c: 0x563b98c40c30: i32,ch = load<LD4[ConstantPool]> 0x563b98b51950, 0x563b98be5130, undef:i64
try.c: 0x563b98be5130: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563b98c29660: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563b98be8180: i64 = undef
try.c: 0x563b98c5a0e0: 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: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: i32 = Constant<0>
try.c: 0x563b98c59fb0: 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 ref

Compiler output

Implementation: ref2
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x556275f7b0d0: v4i64 = X86ISD::VTRUNC 0x556275f7afa0
try.c: 0x556275f7afa0: v16i32 = vselect 0x556275f8bcc0, 0x556275f1dc00, 0x556275f7ae70
try.c: 0x556275f8bcc0: v4i1 = X86ISD::PCMPGTM 0x556275f74950, 0x556275f704e0
try.c: 0x556275f74950: v4i64 = X86ISD::VBROADCAST 0x556275f1ada0
try.c: 0x556275f1ada0: i64,ch = load<LD8[%lsr.iv6971]> 0x556275e85950, 0x556275f5e1d0, undef:i64
try.c: 0x556275f5e1d0: i64,ch = CopyFromReg 0x556275e85950, Register:i64 %vreg50
try.c: 0x556275f70740: i64 = Register %vreg50
try.c: 0x556275f1c270: i64 = undef
try.c: 0x556275f704e0: v4i64,ch = CopyFromReg 0x556275e85950, Register:v4i64 %vreg13
try.c: 0x556275f751a0: v4i64 = Register %vreg13
try.c: 0x556275f1dc00: v16i32 = X86ISD::VBROADCAST 0x556275f74bb0
try.c: 0x556275f74bb0: i32,ch = load<LD4[ConstantPool]> 0x556275e85950, 0x556275f30630, undef:i64
try.c: 0x556275f30630: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556275f2d300: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556275f1c270: i64 = undef
try.c: 0x556275f7ae70: 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: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: i32 = Constant<0>
try.c: 0x556275f7ad40: 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 ref2

Compiler output

Implementation: ref2
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x559483ad1d80: v4i64 = X86ISD::VTRUNC 0x559483ad1c50
try.c: 0x559483ad1c50: v16i32 = vselect 0x559483aafdd0, 0x559483a5ad50, 0x559483ad1b20
try.c: 0x559483aafdd0: v4i1 = X86ISD::PCMPGTM 0x559483abae00, 0x559483ab6f90
try.c: 0x559483abae00: v4i64 = X86ISD::VBROADCAST 0x559483a5b210
try.c: 0x559483a5b210: i64,ch = load<LD8[%lsr.iv6971]> 0x5594839b4a30, 0x559483a4f640, undef:i64
try.c: 0x559483a4f640: i64,ch = CopyFromReg 0x5594839b4a30, Register:i64 %vreg50
try.c: 0x559483ab71f0: i64 = Register %vreg50
try.c: 0x559483a57820: i64 = undef
try.c: 0x559483ab6f90: v4i64,ch = CopyFromReg 0x5594839b4a30, Register:v4i64 %vreg13
try.c: 0x559483abb650: v4i64 = Register %vreg13
try.c: 0x559483a5ad50: v16i32 = X86ISD::VBROADCAST 0x559483abb060
try.c: 0x559483abb060: i32,ch = load<LD4[ConstantPool]> 0x5594839b4a30, 0x559483a4dc10, undef:i64
try.c: 0x559483a4dc10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559483a581a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559483a57820: i64 = undef
try.c: 0x559483ad1b20: 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: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: i32 = Constant<0>
try.c: 0x559483ad19f0: 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 ref2

Compiler output

Implementation: ref2
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55e592fb3e60: v4i64 = X86ISD::VTRUNC 0x55e592fb3d30
try.c: 0x55e592fb3d30: v16i32 = vselect 0x55e592fcf450, 0x55e592f4c130, 0x55e592fb3c00
try.c: 0x55e592fcf450: v4i1 = X86ISD::PCMPGTM 0x55e592fac670, 0x55e592fa8200
try.c: 0x55e592fac670: v4i64 = X86ISD::VBROADCAST 0x55e592f50080
try.c: 0x55e592f50080: i64,ch = load<LD8[%lsr.iv6971]> 0x55e592ebd950, 0x55e592fa3060, undef:i64
try.c: 0x55e592fa3060: i64,ch = CopyFromReg 0x55e592ebd950, Register:i64 %vreg50
try.c: 0x55e592fa8460: i64 = Register %vreg50
try.c: 0x55e592f51550: i64 = undef
try.c: 0x55e592fa8200: v4i64,ch = CopyFromReg 0x55e592ebd950, Register:v4i64 %vreg13
try.c: 0x55e592facec0: v4i64 = Register %vreg13
try.c: 0x55e592f4c130: v16i32 = X86ISD::VBROADCAST 0x55e592fac8d0
try.c: 0x55e592fac8d0: i32,ch = load<LD4[ConstantPool]> 0x55e592ebd950, 0x55e592f4f660, undef:i64
try.c: 0x55e592f4f660: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e592f5bbc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e592f51550: i64 = undef
try.c: 0x55e592fb3c00: 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: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: i32 = Constant<0>
try.c: 0x55e592fb3ad0: 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 ref2