Implementation notes: amd64, cel02, crypto_stream/ocelot2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_stream
Primitive: ocelot2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
542107008 4 2120328 868 904T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
584368908 4 2125833 876 968T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
634867294 4 2121008 868 904T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
665645292 4 2117460 852 872T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
715206421 4 3318948 868 824T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x562b3672c2b0: v4i64 = X86ISD::VTRUNC 0x562b3672c180
try.cpp: 0x562b3672c180: v16i32 = vselect 0x562b3671b550, 0x562b366b4980, 0x562b3672c050
try.cpp: 0x562b3671b550: v4i1 = X86ISD::PCMPGTM 0x562b36714960, 0x562b367104f0
try.cpp: 0x562b36714960: v4i64 = X86ISD::VBROADCAST 0x562b366b1b20
try.cpp: 0x562b366b1b20: i64,ch = load<LD8[%lsr.iv6971]> 0x562b366239b0, 0x562b367060b0, undef:i64
try.cpp: 0x562b367060b0: i64,ch = CopyFromReg 0x562b366239b0, Register:i64 %vreg50
try.cpp: 0x562b36710750: i64 = Register %vreg50
try.cpp: 0x562b366b2ff0: i64 = undef
try.cpp: 0x562b367104f0: v4i64,ch = CopyFromReg 0x562b366239b0, Register:v4i64 %vreg13
try.cpp: 0x562b367151b0: v4i64 = Register %vreg13
try.cpp: 0x562b366b4980: v16i32 = X86ISD::VBROADCAST 0x562b36714bc0
try.cpp: 0x562b36714bc0: i32,ch = load<LD4[ConstantPool]> 0x562b366239b0, 0x562b366b8180, undef:i64
try.cpp: 0x562b366b8180: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x562b366cce90: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x562b366b2ff0: i64 = undef
try.cpp: 0x562b3672c050: 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.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: 0x562b3672bf20: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x555e9f045110: v4i64 = X86ISD::VTRUNC 0x555e9f044fe0
try.cpp: 0x555e9f044fe0: v16i32 = vselect 0x555e9f03fae0, 0x555e9efe4d60, 0x555e9f044eb0
try.cpp: 0x555e9f03fae0: v4i1 = X86ISD::PCMPGTM 0x555e9f03ead0, 0x555e9f039ea0
try.cpp: 0x555e9f03ead0: v4i64 = X86ISD::VBROADCAST 0x555e9efe5220
try.cpp: 0x555e9efe5220: i64,ch = load<LD8[%lsr.iv6971]> 0x555e9ef37a90, 0x555e9efeaa60, undef:i64
try.cpp: 0x555e9efeaa60: i64,ch = CopyFromReg 0x555e9ef37a90, Register:i64 %vreg50
try.cpp: 0x555e9f03a100: i64 = Register %vreg50
try.cpp: 0x555e9efe7e90: i64 = undef
try.cpp: 0x555e9f039ea0: v4i64,ch = CopyFromReg 0x555e9ef37a90, Register:v4i64 %vreg13
try.cpp: 0x555e9f03f320: v4i64 = Register %vreg13
try.cpp: 0x555e9efe4d60: v16i32 = X86ISD::VBROADCAST 0x555e9f03ed30
try.cpp: 0x555e9f03ed30: i32,ch = load<LD4[ConstantPool]> 0x555e9ef37a90, 0x555e9efd31d0, undef:i64
try.cpp: 0x555e9efd31d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x555e9efe8810: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x555e9efe7e90: i64 = undef
try.cpp: 0x555e9f044eb0: 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.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: 0x555e9f044d80: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x56081fbf0d60: v4i64 = X86ISD::VTRUNC 0x56081fbf0c30
try.cpp: 0x56081fbf0c30: v16i32 = vselect 0x56081fbc8b90, 0x56081fb75720, 0x56081fbf0b00
try.cpp: 0x56081fbc8b90: v4i1 = X86ISD::PCMPGTM 0x56081fbd7f70, 0x56081fbd3340
try.cpp: 0x56081fbd7f70: v4i64 = X86ISD::VBROADCAST 0x56081fb78930
try.cpp: 0x56081fb78930: i64,ch = load<LD8[%lsr.iv6971]> 0x56081fae69c0, 0x56081fbc2600, undef:i64
try.cpp: 0x56081fbc2600: i64,ch = CopyFromReg 0x56081fae69c0, Register:i64 %vreg50
try.cpp: 0x56081fbd35a0: i64 = Register %vreg50
try.cpp: 0x56081fb79e00: i64 = undef
try.cpp: 0x56081fbd3340: v4i64,ch = CopyFromReg 0x56081fae69c0, Register:v4i64 %vreg13
try.cpp: 0x56081fbd87c0: v4i64 = Register %vreg13
try.cpp: 0x56081fb75720: v16i32 = X86ISD::VBROADCAST 0x56081fbd81d0
try.cpp: 0x56081fbd81d0: i32,ch = load<LD4[ConstantPool]> 0x56081fae69c0, 0x56081fb865d0, undef:i64
try.cpp: 0x56081fb865d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x56081fbcf2f0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x56081fb79e00: i64 = undef
try.cpp: 0x56081fbf0b00: 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.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: 0x56081fbf09d0: i32 = Constant<0>
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref