Implementation notes: amd64, cel02, crypto_encode/857xint16

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_encode
Primitive: 857xint16
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7864 0 09428 792 728littleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11664 0 011274 800 728littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
122105 0 010492 816 768littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15061 0 09304 800 768littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
168106 0 010244 816 768littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
184105 0 013781 824 800littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4062709 0 016421 824 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
176073 0 09428 792 728refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
189078 0 09288 800 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
202683 0 010212 816 768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
203493 0 010476 816 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
298886 0 011290 800 728refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: little
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: 0x55574a344ae0: v4i64 = X86ISD::VTRUNC 0x55574a3449b0
try.c: 0x55574a3449b0: v16i32 = vselect 0x55574a354d80, 0x55574a2e59e0, 0x55574a344880
try.c: 0x55574a354d80: v4i1 = X86ISD::PCMPGTM 0x55574a33da10, 0x55574a3395a0
try.c: 0x55574a33da10: v4i64 = X86ISD::VBROADCAST 0x55574a30a120
try.c: 0x55574a30a120: i64,ch = load<LD8[%lsr.iv6971]> 0x55574a24e9a0, 0x55574a324d40, undef:i64
try.c: 0x55574a324d40: i64,ch = CopyFromReg 0x55574a24e9a0, Register:i64 %vreg50
try.c: 0x55574a339800: i64 = Register %vreg50
try.c: 0x55574a2e4050: i64 = undef
try.c: 0x55574a3395a0: v4i64,ch = CopyFromReg 0x55574a24e9a0, Register:v4i64 %vreg13
try.c: 0x55574a33e260: v4i64 = Register %vreg13
try.c: 0x55574a2e59e0: v16i32 = X86ISD::VBROADCAST 0x55574a33dc70
try.c: 0x55574a33dc70: i32,ch = load<LD4[ConstantPool]> 0x55574a24e9a0, 0x55574a309700, undef:i64
try.c: 0x55574a309700: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55574a32c620: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55574a2e4050: i64 = undef
try.c: 0x55574a344880: 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: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: i32 = Constant<0>
try.c: 0x55574a344750: 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 little

Compiler output

Implementation: little
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: 0x55ee496aa200: v4i64 = X86ISD::VTRUNC 0x55ee496aa0d0
try.c: 0x55ee496aa0d0: v16i32 = vselect 0x55ee4968ac90, 0x55ee49621ef0, 0x55ee496a9fa0
try.c: 0x55ee4968ac90: v4i1 = X86ISD::PCMPGTM 0x55ee49686190, 0x55ee49681710
try.c: 0x55ee49686190: v4i64 = X86ISD::VBROADCAST 0x55ee496223b0
try.c: 0x55ee496223b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ee4957fa20, 0x55ee49632320, undef:i64
try.c: 0x55ee49632320: i64,ch = CopyFromReg 0x55ee4957fa20, Register:i64 %vreg50
try.c: 0x55ee49681970: i64 = Register %vreg50
try.c: 0x55ee4961d040: i64 = undef
try.c: 0x55ee49681710: v4i64,ch = CopyFromReg 0x55ee4957fa20, Register:v4i64 %vreg13
try.c: 0x55ee496869e0: v4i64 = Register %vreg13
try.c: 0x55ee49621ef0: v16i32 = X86ISD::VBROADCAST 0x55ee496863f0
try.c: 0x55ee496863f0: i32,ch = load<LD4[ConstantPool]> 0x55ee4957fa20, 0x55ee496300e0, undef:i64
try.c: 0x55ee496300e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ee4961d9c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ee4961d040: i64 = undef
try.c: 0x55ee496a9fa0: 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: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: i32 = Constant<0>
try.c: 0x55ee496a9e70: 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 little

Compiler output

Implementation: little
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: 0x5620746969e0: v4i64 = X86ISD::VTRUNC 0x5620746968b0
try.c: 0x5620746968b0: v16i32 = vselect 0x5620746844e0, 0x56207461d610, 0x562074696780
try.c: 0x5620746844e0: v4i1 = X86ISD::PCMPGTM 0x56207467d070, 0x562074678c00
try.c: 0x56207467d070: v4i64 = X86ISD::VBROADCAST 0x562074624940
try.c: 0x562074624940: i64,ch = load<LD8[%lsr.iv6971]> 0x56207458d920, 0x562074670150, undef:i64
try.c: 0x562074670150: i64,ch = CopyFromReg 0x56207458d920, Register:i64 %vreg50
try.c: 0x562074678e60: i64 = Register %vreg50
try.c: 0x56207461bc80: i64 = undef
try.c: 0x562074678c00: v4i64,ch = CopyFromReg 0x56207458d920, Register:v4i64 %vreg13
try.c: 0x56207467d8c0: v4i64 = Register %vreg13
try.c: 0x56207461d610: v16i32 = X86ISD::VBROADCAST 0x56207467d2d0
try.c: 0x56207467d2d0: i32,ch = load<LD4[ConstantPool]> 0x56207458d920, 0x562074623f20, undef:i64
try.c: 0x562074623f20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5620745ddd60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56207461bc80: i64 = undef
try.c: 0x562074696780: 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: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: i32 = Constant<0>
try.c: 0x562074696650: 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 little

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: 0x5610973b6600: v4i64 = X86ISD::VTRUNC 0x5610973b64d0
try.c: 0x5610973b64d0: v16i32 = vselect 0x5610973b2fe0, 0x561097365640, 0x5610973b63a0
try.c: 0x5610973b2fe0: v4i1 = X86ISD::PCMPGTM 0x5610973ae920, 0x5610973aa4b0
try.c: 0x5610973ae920: v4i64 = X86ISD::VBROADCAST 0x561097352850
try.c: 0x561097352850: i64,ch = load<LD8[%lsr.iv6971]> 0x5610972bf900, 0x56109739a090, undef:i64
try.c: 0x56109739a090: i64,ch = CopyFromReg 0x5610972bf900, Register:i64 %vreg50
try.c: 0x5610973aa710: i64 = Register %vreg50
try.c: 0x561097363cb0: i64 = undef
try.c: 0x5610973aa4b0: v4i64,ch = CopyFromReg 0x5610972bf900, Register:v4i64 %vreg13
try.c: 0x5610973af170: v4i64 = Register %vreg13
try.c: 0x561097365640: v16i32 = X86ISD::VBROADCAST 0x5610973aeb80
try.c: 0x5610973aeb80: i32,ch = load<LD4[ConstantPool]> 0x5610972bf900, 0x561097351e30, undef:i64
try.c: 0x561097351e30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5610973934c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561097363cb0: i64 = undef
try.c: 0x5610973b63a0: 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: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: i32 = Constant<0>
try.c: 0x5610973b6270: 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: 0x555ddb4b26d0: v4i64 = X86ISD::VTRUNC 0x555ddb4b25a0
try.c: 0x555ddb4b25a0: v16i32 = vselect 0x555ddb490640, 0x555ddb427420, 0x555ddb4b2470
try.c: 0x555ddb490640: v4i1 = X86ISD::PCMPGTM 0x555ddb48d620, 0x555ddb4889f0
try.c: 0x555ddb48d620: v4i64 = X86ISD::VBROADCAST 0x555ddb4278e0
try.c: 0x555ddb4278e0: i64,ch = load<LD8[%lsr.iv6971]> 0x555ddb386a30, 0x555ddb42dc20, undef:i64
try.c: 0x555ddb42dc20: i64,ch = CopyFromReg 0x555ddb386a30, Register:i64 %vreg50
try.c: 0x555ddb488c50: i64 = Register %vreg50
try.c: 0x555ddb425570: i64 = undef
try.c: 0x555ddb4889f0: v4i64,ch = CopyFromReg 0x555ddb386a30, Register:v4i64 %vreg13
try.c: 0x555ddb48de70: v4i64 = Register %vreg13
try.c: 0x555ddb427420: v16i32 = X86ISD::VBROADCAST 0x555ddb48d880
try.c: 0x555ddb48d880: i32,ch = load<LD4[ConstantPool]> 0x555ddb386a30, 0x555ddb429dc0, undef:i64
try.c: 0x555ddb429dc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555ddb425ef0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555ddb425570: i64 = undef
try.c: 0x555ddb4b2470: 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: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: i32 = Constant<0>
try.c: 0x555ddb4b2340: 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: 0x555ddeeebdd0: v4i64 = X86ISD::VTRUNC 0x555ddeeebca0
try.c: 0x555ddeeebca0: v16i32 = vselect 0x555ddef02340, 0x555ddeeb0f80, 0x555ddeeebb70
try.c: 0x555ddef02340: v4i1 = X86ISD::PCMPGTM 0x555ddeee77b0, 0x555ddeee3340
try.c: 0x555ddeee77b0: v4i64 = X86ISD::VBROADCAST 0x555ddee8ee20
try.c: 0x555ddee8ee20: i64,ch = load<LD8[%lsr.iv6971]> 0x555ddedf89d0, 0x555ddeed59b0, undef:i64
try.c: 0x555ddeed59b0: i64,ch = CopyFromReg 0x555ddedf89d0, Register:i64 %vreg50
try.c: 0x555ddeee35a0: i64 = Register %vreg50
try.c: 0x555ddeeaf5f0: i64 = undef
try.c: 0x555ddeee3340: v4i64,ch = CopyFromReg 0x555ddedf89d0, Register:v4i64 %vreg13
try.c: 0x555ddeee8000: v4i64 = Register %vreg13
try.c: 0x555ddeeb0f80: v16i32 = X86ISD::VBROADCAST 0x555ddeee7a10
try.c: 0x555ddeee7a10: i32,ch = load<LD4[ConstantPool]> 0x555ddedf89d0, 0x555ddee8e400, undef:i64
try.c: 0x555ddee8e400: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555ddeecf950: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555ddeeaf5f0: i64 = undef
try.c: 0x555ddeeebb70: 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: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: i32 = Constant<0>
try.c: 0x555ddeeeba40: 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