Implementation notes: amd64, cel02, crypto_decode/653xint16

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_decode
Primitive: 653xint16
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8064 0 09428 792 728littleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
94318 0 013989 824 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
120105 0 010492 816 768littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
126105 0 013781 824 800littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
164106 0 010244 816 768littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17261 0 09304 800 768littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
19864 0 011274 800 728littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
81278 0 010460 816 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
90671 0 09288 800 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
151893 0 011290 800 728refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
266480 0 09428 792 728refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
267485 0 010212 816 768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-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: 0x560c04198ec0: v4i64 = X86ISD::VTRUNC 0x560c04198d90
try.c: 0x560c04198d90: v16i32 = vselect 0x560c04189cb0, 0x560c04135e50, 0x560c04198c60
try.c: 0x560c04189cb0: v4i1 = X86ISD::PCMPGTM 0x560c04191880, 0x560c0418d410
try.c: 0x560c04191880: v4i64 = X86ISD::VBROADCAST 0x560c04139680
try.c: 0x560c04139680: i64,ch = load<LD8[%lsr.iv6971]> 0x560c040a2920, 0x560c0417b330, undef:i64
try.c: 0x560c0417b330: i64,ch = CopyFromReg 0x560c040a2920, Register:i64 %vreg50
try.c: 0x560c0418d670: i64 = Register %vreg50
try.c: 0x560c041344c0: i64 = undef
try.c: 0x560c0418d410: v4i64,ch = CopyFromReg 0x560c040a2920, Register:v4i64 %vreg13
try.c: 0x560c041920d0: v4i64 = Register %vreg13
try.c: 0x560c04135e50: v16i32 = X86ISD::VBROADCAST 0x560c04191ae0
try.c: 0x560c04191ae0: i32,ch = load<LD4[ConstantPool]> 0x560c040a2920, 0x560c04138c60, undef:i64
try.c: 0x560c04138c60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560c0417c530: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560c041344c0: i64 = undef
try.c: 0x560c04198c60: 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: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: i32 = Constant<0>
try.c: 0x560c04198b30: 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: 0x556fc2f70880: v4i64 = X86ISD::VTRUNC 0x556fc2f70750
try.c: 0x556fc2f70750: v16i32 = vselect 0x556fc2f62470, 0x556fc2ef9010, 0x556fc2f70620
try.c: 0x556fc2f62470: v4i1 = X86ISD::PCMPGTM 0x556fc2f4a900, 0x556fc2f46490
try.c: 0x556fc2f4a900: v4i64 = X86ISD::VBROADCAST 0x556fc2ef94d0
try.c: 0x556fc2ef94d0: i64,ch = load<LD8[%lsr.iv6971]> 0x556fc2e44a30, 0x556fc2ee2290, undef:i64
try.c: 0x556fc2ee2290: i64,ch = CopyFromReg 0x556fc2e44a30, Register:i64 %vreg50
try.c: 0x556fc2f466f0: i64 = Register %vreg50
try.c: 0x556fc2ed8bc0: i64 = undef
try.c: 0x556fc2f46490: v4i64,ch = CopyFromReg 0x556fc2e44a30, Register:v4i64 %vreg13
try.c: 0x556fc2f4b150: v4i64 = Register %vreg13
try.c: 0x556fc2ef9010: v16i32 = X86ISD::VBROADCAST 0x556fc2f4ab60
try.c: 0x556fc2f4ab60: i32,ch = load<LD4[ConstantPool]> 0x556fc2e44a30, 0x556fc2ee6e30, undef:i64
try.c: 0x556fc2ee6e30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556fc2ed9540: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556fc2ed8bc0: i64 = undef
try.c: 0x556fc2f70620: 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: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: i32 = Constant<0>
try.c: 0x556fc2f704f0: 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: 0x55e2a86d8600: v4i64 = X86ISD::VTRUNC 0x55e2a86d84d0
try.c: 0x55e2a86d84d0: v16i32 = vselect 0x55e2a86d0470, 0x55e2a865daf0, 0x55e2a86d83a0
try.c: 0x55e2a86d0470: v4i1 = X86ISD::PCMPGTM 0x55e2a86b6a90, 0x55e2a86b2620
try.c: 0x55e2a86b6a90: v4i64 = X86ISD::VBROADCAST 0x55e2a8655f10
try.c: 0x55e2a8655f10: i64,ch = load<LD8[%lsr.iv6971]> 0x55e2a85c7940, 0x55e2a86ad480, undef:i64
try.c: 0x55e2a86ad480: i64,ch = CopyFromReg 0x55e2a85c7940, Register:i64 %vreg50
try.c: 0x55e2a86b2880: i64 = Register %vreg50
try.c: 0x55e2a86573e0: i64 = undef
try.c: 0x55e2a86b2620: v4i64,ch = CopyFromReg 0x55e2a85c7940, Register:v4i64 %vreg13
try.c: 0x55e2a86b72e0: v4i64 = Register %vreg13
try.c: 0x55e2a865daf0: v16i32 = X86ISD::VBROADCAST 0x55e2a86b6cf0
try.c: 0x55e2a86b6cf0: i32,ch = load<LD4[ConstantPool]> 0x55e2a85c7940, 0x55e2a86554f0, undef:i64
try.c: 0x55e2a86554f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e2a8645ae0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e2a86573e0: i64 = undef
try.c: 0x55e2a86d83a0: 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: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: i32 = Constant<0>
try.c: 0x55e2a86d8270: 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: 0x5638e4b9d220: v4i64 = X86ISD::VTRUNC 0x5638e4b9d0f0
try.c: 0x5638e4b9d0f0: v16i32 = vselect 0x5638e4b99c00, 0x5638e4b239b0, 0x5638e4b9cfc0
try.c: 0x5638e4b99c00: v4i1 = X86ISD::PCMPGTM 0x5638e4b82890, 0x5638e4b7e420
try.c: 0x5638e4b82890: v4i64 = X86ISD::VBROADCAST 0x5638e4b48ef0
try.c: 0x5638e4b48ef0: i64,ch = load<LD8[%lsr.iv6971]> 0x5638e4a939a0, 0x5638e4b6bfc0, undef:i64
try.c: 0x5638e4b6bfc0: i64,ch = CopyFromReg 0x5638e4a939a0, Register:i64 %vreg50
try.c: 0x5638e4b7e680: i64 = Register %vreg50
try.c: 0x5638e4b22020: i64 = undef
try.c: 0x5638e4b7e420: v4i64,ch = CopyFromReg 0x5638e4a939a0, Register:v4i64 %vreg13
try.c: 0x5638e4b830e0: v4i64 = Register %vreg13
try.c: 0x5638e4b239b0: v16i32 = X86ISD::VBROADCAST 0x5638e4b82af0
try.c: 0x5638e4b82af0: i32,ch = load<LD4[ConstantPool]> 0x5638e4a939a0, 0x5638e4b484d0, undef:i64
try.c: 0x5638e4b484d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5638e4b6d1c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5638e4b22020: i64 = undef
try.c: 0x5638e4b9cfc0: 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: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: i32 = Constant<0>
try.c: 0x5638e4b9ce90: 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: 0x5580e08848e0: v4i64 = X86ISD::VTRUNC 0x5580e08847b0
try.c: 0x5580e08847b0: v16i32 = vselect 0x5580e0873830, 0x5580e0807130, 0x5580e0884680
try.c: 0x5580e0873830: v4i1 = X86ISD::PCMPGTM 0x5580e086cf50, 0x5580e0868ae0
try.c: 0x5580e086cf50: v4i64 = X86ISD::VBROADCAST 0x5580e08075f0
try.c: 0x5580e08075f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5580e0766a30, 0x5580e080d090, undef:i64
try.c: 0x5580e080d090: i64,ch = CopyFromReg 0x5580e0766a30, Register:i64 %vreg50
try.c: 0x5580e0868d40: i64 = Register %vreg50
try.c: 0x5580e081b660: i64 = undef
try.c: 0x5580e0868ae0: v4i64,ch = CopyFromReg 0x5580e0766a30, Register:v4i64 %vreg13
try.c: 0x5580e086d7a0: v4i64 = Register %vreg13
try.c: 0x5580e0807130: v16i32 = X86ISD::VBROADCAST 0x5580e086d1b0
try.c: 0x5580e086d1b0: i32,ch = load<LD4[ConstantPool]> 0x5580e0766a30, 0x5580e0809ad0, undef:i64
try.c: 0x5580e0809ad0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5580e081bfe0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5580e081b660: i64 = undef
try.c: 0x5580e0884680: 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: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: i32 = Constant<0>
try.c: 0x5580e0884550: 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: 0x55864550f9e0: v4i64 = X86ISD::VTRUNC 0x55864550f8b0
try.c: 0x55864550f8b0: v16i32 = vselect 0x55864550c3c0, 0x5586454981c0, 0x55864550f780
try.c: 0x55864550c3c0: v4i1 = X86ISD::PCMPGTM 0x5586454f5050, 0x5586454f0be0
try.c: 0x5586454f5050: v4i64 = X86ISD::VBROADCAST 0x558645493330
try.c: 0x558645493330: i64,ch = load<LD8[%lsr.iv6971]> 0x558645405950, 0x5586454da010, undef:i64
try.c: 0x5586454da010: i64,ch = CopyFromReg 0x558645405950, Register:i64 %vreg50
try.c: 0x5586454f0e40: i64 = Register %vreg50
try.c: 0x558645494800: i64 = undef
try.c: 0x5586454f0be0: v4i64,ch = CopyFromReg 0x558645405950, Register:v4i64 %vreg13
try.c: 0x5586454f58a0: v4i64 = Register %vreg13
try.c: 0x5586454981c0: v16i32 = X86ISD::VBROADCAST 0x5586454f52b0
try.c: 0x5586454f52b0: i32,ch = load<LD4[ConstantPool]> 0x558645405950, 0x55864549bbb0, undef:i64
try.c: 0x55864549bbb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558645490130: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558645494800: i64 = undef
try.c: 0x55864550f780: 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: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: i32 = Constant<0>
try.c: 0x55864550f650: 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