Implementation notes: amd64, cel02, crypto_core/salsa2012

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_core
Primitive: salsa2012
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3101494 0 013588 816 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3321657 0 014450 800 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
4741494 0 016877 824 864refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6921277 0 012040 800 800refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7441361 0 013140 816 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8082065 0 013012 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: 0x55f4e565b790: v4i64 = X86ISD::VTRUNC 0x55f4e565b660
try.c: 0x55f4e565b660: v16i32 = vselect 0x55f4e5658170, 0x55f4e55e5610, 0x55f4e565b530
try.c: 0x55f4e5658170: v4i1 = X86ISD::PCMPGTM 0x55f4e5640e00, 0x55f4e563c990
try.c: 0x55f4e5640e00: v4i64 = X86ISD::VBROADCAST 0x55f4e55e7a30
try.c: 0x55f4e55e7a30: i64,ch = load<LD8[%lsr.iv6971]> 0x55f4e5551900, 0x55f4e5632e00, undef:i64
try.c: 0x55f4e5632e00: i64,ch = CopyFromReg 0x55f4e5551900, Register:i64 %vreg50
try.c: 0x55f4e563cbf0: i64 = Register %vreg50
try.c: 0x55f4e55e3c80: i64 = undef
try.c: 0x55f4e563c990: v4i64,ch = CopyFromReg 0x55f4e5551900, Register:v4i64 %vreg13
try.c: 0x55f4e5641650: v4i64 = Register %vreg13
try.c: 0x55f4e55e5610: v16i32 = X86ISD::VBROADCAST 0x55f4e5641060
try.c: 0x55f4e5641060: i32,ch = load<LD4[ConstantPool]> 0x55f4e5551900, 0x55f4e55e7010, undef:i64
try.c: 0x55f4e55e7010: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f4e5607440: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f4e55e3c80: i64 = undef
try.c: 0x55f4e565b530: 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: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: i32 = Constant<0>
try.c: 0x55f4e565b400: 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: 0x55ab87a675b0: v4i64 = X86ISD::VTRUNC 0x55ab87a67480
try.c: 0x55ab87a67480: v16i32 = vselect 0x55ab87a6d7c0, 0x55ab879f6ce0, 0x55ab87a67350
try.c: 0x55ab87a6d7c0: v4i1 = X86ISD::PCMPGTM 0x55ab87a4d430, 0x55ab87a49fd0
try.c: 0x55ab87a4d430: v4i64 = X86ISD::VBROADCAST 0x55ab879f71a0
try.c: 0x55ab879f71a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ab87947a30, 0x55ab879fbcd0, undef:i64
try.c: 0x55ab879fbcd0: i64,ch = CopyFromReg 0x55ab87947a30, Register:i64 %vreg50
try.c: 0x55ab87a4a230: i64 = Register %vreg50
try.c: 0x55ab879e8440: i64 = undef
try.c: 0x55ab87a49fd0: v4i64,ch = CopyFromReg 0x55ab87947a30, Register:v4i64 %vreg13
try.c: 0x55ab87a4dc80: v4i64 = Register %vreg13
try.c: 0x55ab879f6ce0: v16i32 = X86ISD::VBROADCAST 0x55ab87a4d690
try.c: 0x55ab87a4d690: i32,ch = load<LD4[ConstantPool]> 0x55ab87947a30, 0x55ab879f9680, undef:i64
try.c: 0x55ab879f9680: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ab879e8dc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ab879e8440: i64 = undef
try.c: 0x55ab87a67350: 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: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: i32 = Constant<0>
try.c: 0x55ab87a67220: 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: 0x55d9ca832510: v4i64 = X86ISD::VTRUNC 0x55d9ca8323e0
try.c: 0x55d9ca8323e0: v16i32 = vselect 0x55d9ca848800, 0x55d9ca7e50e0, 0x55d9ca8322b0
try.c: 0x55d9ca848800: v4i1 = X86ISD::PCMPGTM 0x55d9ca82a840, 0x55d9ca8263d0
try.c: 0x55d9ca82a840: v4i64 = X86ISD::VBROADCAST 0x55d9ca7d2c70
try.c: 0x55d9ca7d2c70: i64,ch = load<LD8[%lsr.iv6971]> 0x55d9ca73b940, 0x55d9ca821230, undef:i64
try.c: 0x55d9ca821230: i64,ch = CopyFromReg 0x55d9ca73b940, Register:i64 %vreg50
try.c: 0x55d9ca826630: i64 = Register %vreg50
try.c: 0x55d9ca7e3750: i64 = undef
try.c: 0x55d9ca8263d0: v4i64,ch = CopyFromReg 0x55d9ca73b940, Register:v4i64 %vreg13
try.c: 0x55d9ca82b090: v4i64 = Register %vreg13
try.c: 0x55d9ca7e50e0: v16i32 = X86ISD::VBROADCAST 0x55d9ca82aaa0
try.c: 0x55d9ca82aaa0: i32,ch = load<LD4[ConstantPool]> 0x55d9ca73b940, 0x55d9ca7d2250, undef:i64
try.c: 0x55d9ca7d2250: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d9ca80e800: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d9ca7e3750: i64 = undef
try.c: 0x55d9ca8322b0: 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: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: i32 = Constant<0>
try.c: 0x55d9ca832180: 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