Implementation notes: amd64, cel02, crypto_core/salsa20

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_core
Primitive: salsa20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4461356 0 013444 816 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6841356 0 016733 824 864refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8161657 0 014450 800 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8502065 0 013012 792 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9301375 0 013156 816 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9321277 0 012040 800 800refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-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: 0x562b2eb930a0: v4i64 = X86ISD::VTRUNC 0x562b2eb92f70
try.c: 0x562b2eb92f70: v16i32 = vselect 0x562b2eb9b3a0, 0x562b2eb308c0, 0x562b2eb92e40
try.c: 0x562b2eb9b3a0: v4i1 = X86ISD::PCMPGTM 0x562b2eb8fa90, 0x562b2eb8b620
try.c: 0x562b2eb8fa90: v4i64 = X86ISD::VBROADCAST 0x562b2eb35f70
try.c: 0x562b2eb35f70: i64,ch = load<LD8[%lsr.iv6971]> 0x562b2eaa0950, 0x562b2eb86480, undef:i64
try.c: 0x562b2eb86480: i64,ch = CopyFromReg 0x562b2eaa0950, Register:i64 %vreg50
try.c: 0x562b2eb8b880: i64 = Register %vreg50
try.c: 0x562b2eb2ef30: i64 = undef
try.c: 0x562b2eb8b620: v4i64,ch = CopyFromReg 0x562b2eaa0950, Register:v4i64 %vreg13
try.c: 0x562b2eb902e0: v4i64 = Register %vreg13
try.c: 0x562b2eb308c0: v16i32 = X86ISD::VBROADCAST 0x562b2eb8fcf0
try.c: 0x562b2eb8fcf0: i32,ch = load<LD4[ConstantPool]> 0x562b2eaa0950, 0x562b2eb35550, undef:i64
try.c: 0x562b2eb35550: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562b2eb55a50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562b2eb2ef30: i64 = undef
try.c: 0x562b2eb92e40: 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: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: i32 = Constant<0>
try.c: 0x562b2eb92d10: 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: 0x5597a867cf50: v4i64 = X86ISD::VTRUNC 0x5597a867ce20
try.c: 0x5597a867ce20: v16i32 = vselect 0x5597a8680c70, 0x5597a85ff760, 0x5597a867ccf0
try.c: 0x5597a8680c70: v4i1 = X86ISD::PCMPGTM 0x5597a8664f80, 0x5597a8660500
try.c: 0x5597a8664f80: v4i64 = X86ISD::VBROADCAST 0x5597a85ffc20
try.c: 0x5597a85ffc20: i64,ch = load<LD8[%lsr.iv6971]> 0x5597a855ea30, 0x5597a85fe5b0, undef:i64
try.c: 0x5597a85fe5b0: i64,ch = CopyFromReg 0x5597a855ea30, Register:i64 %vreg50
try.c: 0x5597a8660760: i64 = Register %vreg50
try.c: 0x5597a85ef5d0: i64 = undef
try.c: 0x5597a8660500: v4i64,ch = CopyFromReg 0x5597a855ea30, Register:v4i64 %vreg13
try.c: 0x5597a86657d0: v4i64 = Register %vreg13
try.c: 0x5597a85ff760: v16i32 = X86ISD::VBROADCAST 0x5597a86651e0
try.c: 0x5597a86651e0: i32,ch = load<LD4[ConstantPool]> 0x5597a855ea30, 0x5597a85fcb80, undef:i64
try.c: 0x5597a85fcb80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5597a85eff50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5597a85ef5d0: i64 = undef
try.c: 0x5597a867ccf0: 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: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: i32 = Constant<0>
try.c: 0x5597a867cbc0: 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: 0x5649fb3e5750: v4i64 = X86ISD::VTRUNC 0x5649fb3e5620
try.c: 0x5649fb3e5620: v16i32 = vselect 0x5649fb3fca50, 0x5649fb37dc80, 0x5649fb3e54f0
try.c: 0x5649fb3fca50: v4i1 = X86ISD::PCMPGTM 0x5649fb3dda80, 0x5649fb3d9610
try.c: 0x5649fb3dda80: v4i64 = X86ISD::VBROADCAST 0x5649fb381aa0
try.c: 0x5649fb381aa0: i64,ch = load<LD8[%lsr.iv6971]> 0x5649fb2ee950, 0x5649fb3d4470, undef:i64
try.c: 0x5649fb3d4470: i64,ch = CopyFromReg 0x5649fb2ee950, Register:i64 %vreg50
try.c: 0x5649fb3d9870: i64 = Register %vreg50
try.c: 0x5649fb37c2f0: i64 = undef
try.c: 0x5649fb3d9610: v4i64,ch = CopyFromReg 0x5649fb2ee950, Register:v4i64 %vreg13
try.c: 0x5649fb3de2d0: v4i64 = Register %vreg13
try.c: 0x5649fb37dc80: v16i32 = X86ISD::VBROADCAST 0x5649fb3ddce0
try.c: 0x5649fb3ddce0: i32,ch = load<LD4[ConstantPool]> 0x5649fb2ee950, 0x5649fb381080, undef:i64
try.c: 0x5649fb381080: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5649fb39f400: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5649fb37c2f0: i64 = undef
try.c: 0x5649fb3e54f0: 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: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: i32 = Constant<0>
try.c: 0x5649fb3e53c0: 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