Implementation notes: amd64, cel02, crypto_decode/653xint32

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_decode
Primitive: 653xint32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
114300 0 013973 824 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
124105 0 013781 824 800littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13461 0 09304 800 768littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
184105 0 010492 816 768littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
186106 0 010244 816 768littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
20664 0 09428 792 728littleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
42464 0 011274 800 728littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
80069 0 09288 800 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
81476 0 010460 816 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2330102 0 010228 816 768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4468104 0 09444 792 728refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5624117 0 011322 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: 0x5584948f0790: v4i64 = X86ISD::VTRUNC 0x5584948f0660
try.c: 0x5584948f0660: v16i32 = vselect 0x5584948d6220, 0x558494877ba0, 0x5584948f0530
try.c: 0x5584948d6220: v4i1 = X86ISD::PCMPGTM 0x5584948cedb0, 0x5584948ca940
try.c: 0x5584948cedb0: v4i64 = X86ISD::VBROADCAST 0x558494872a40
try.c: 0x558494872a40: i64,ch = load<LD8[%lsr.iv6971]> 0x5584947df900, 0x5584948c1160, undef:i64
try.c: 0x5584948c1160: i64,ch = CopyFromReg 0x5584947df900, Register:i64 %vreg50
try.c: 0x5584948caba0: i64 = Register %vreg50
try.c: 0x558494876210: i64 = undef
try.c: 0x5584948ca940: v4i64,ch = CopyFromReg 0x5584947df900, Register:v4i64 %vreg13
try.c: 0x5584948cf600: v4i64 = Register %vreg13
try.c: 0x558494877ba0: v16i32 = X86ISD::VBROADCAST 0x5584948cf010
try.c: 0x5584948cf010: i32,ch = load<LD4[ConstantPool]> 0x5584947df900, 0x558494872020, undef:i64
try.c: 0x558494872020: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5584948b40d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558494876210: i64 = undef
try.c: 0x5584948f0530: 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: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: i32 = Constant<0>
try.c: 0x5584948f0400: 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: 0x55d658420ef0: v4i64 = X86ISD::VTRUNC 0x55d658420dc0
try.c: 0x55d658420dc0: v16i32 = vselect 0x55d65841d8d0, 0x55d6583993b0, 0x55d658420c90
try.c: 0x55d65841d8d0: v4i1 = X86ISD::PCMPGTM 0x55d658405120, 0x55d658401cc0
try.c: 0x55d658405120: v4i64 = X86ISD::VBROADCAST 0x55d658399870
try.c: 0x55d658399870: i64,ch = load<LD8[%lsr.iv6971]> 0x55d6582ffa40, 0x55d6583b09d0, undef:i64
try.c: 0x55d6583b09d0: i64,ch = CopyFromReg 0x55d6582ffa40, Register:i64 %vreg50
try.c: 0x55d658401f20: i64 = Register %vreg50
try.c: 0x55d6583a1750: i64 = undef
try.c: 0x55d658401cc0: v4i64,ch = CopyFromReg 0x55d6582ffa40, Register:v4i64 %vreg13
try.c: 0x55d658405970: v4i64 = Register %vreg13
try.c: 0x55d6583993b0: v16i32 = X86ISD::VBROADCAST 0x55d658405380
try.c: 0x55d658405380: i32,ch = load<LD4[ConstantPool]> 0x55d6582ffa40, 0x55d65839bd50, undef:i64
try.c: 0x55d65839bd50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d6583a20d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d6583a1750: i64 = undef
try.c: 0x55d658420c90: 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: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: i32 = Constant<0>
try.c: 0x55d658420b60: 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: 0x564ff36ec560: v4i64 = X86ISD::VTRUNC 0x564ff36ec430
try.c: 0x564ff36ec430: v16i32 = vselect 0x564ff36fcc10, 0x564ff3685840, 0x564ff36ec300
try.c: 0x564ff36fcc10: v4i1 = X86ISD::PCMPGTM 0x564ff36e58a0, 0x564ff36e1430
try.c: 0x564ff36e58a0: v4i64 = X86ISD::VBROADCAST 0x564ff368c7e0
try.c: 0x564ff368c7e0: i64,ch = load<LD8[%lsr.iv6971]> 0x564ff35f6950, 0x564ff36cf860, undef:i64
try.c: 0x564ff36cf860: i64,ch = CopyFromReg 0x564ff35f6950, Register:i64 %vreg50
try.c: 0x564ff36e1690: i64 = Register %vreg50
try.c: 0x564ff368dcb0: i64 = undef
try.c: 0x564ff36e1430: v4i64,ch = CopyFromReg 0x564ff35f6950, Register:v4i64 %vreg13
try.c: 0x564ff36e60f0: v4i64 = Register %vreg13
try.c: 0x564ff3685840: v16i32 = X86ISD::VBROADCAST 0x564ff36e5b00
try.c: 0x564ff36e5b00: i32,ch = load<LD4[ConstantPool]> 0x564ff35f6950, 0x564ff368bdc0, undef:i64
try.c: 0x564ff368bdc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564ff36d0a60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564ff368dcb0: i64 = undef
try.c: 0x564ff36ec300: 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: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: i32 = Constant<0>
try.c: 0x564ff36ec1d0: 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: 0x5638f64ba2b0: v4i64 = X86ISD::VTRUNC 0x5638f64ba180
try.c: 0x5638f64ba180: v16i32 = vselect 0x5638f64a6180, 0x5638f645af90, 0x5638f64ba050
try.c: 0x5638f64a6180: v4i1 = X86ISD::PCMPGTM 0x5638f649e920, 0x5638f649a4b0
try.c: 0x5638f649e920: v4i64 = X86ISD::VBROADCAST 0x5638f643fc40
try.c: 0x5638f643fc40: i64,ch = load<LD8[%lsr.iv6971]> 0x5638f63af950, 0x5638f6488750, undef:i64
try.c: 0x5638f6488750: i64,ch = CopyFromReg 0x5638f63af950, Register:i64 %vreg50
try.c: 0x5638f649a710: i64 = Register %vreg50
try.c: 0x5638f6459600: i64 = undef
try.c: 0x5638f649a4b0: v4i64,ch = CopyFromReg 0x5638f63af950, Register:v4i64 %vreg13
try.c: 0x5638f649f170: v4i64 = Register %vreg13
try.c: 0x5638f645af90: v16i32 = X86ISD::VBROADCAST 0x5638f649eb80
try.c: 0x5638f649eb80: i32,ch = load<LD4[ConstantPool]> 0x5638f63af950, 0x5638f643f220, undef:i64
try.c: 0x5638f643f220: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5638f6446180: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5638f6459600: i64 = undef
try.c: 0x5638f64ba050: 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: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: i32 = Constant<0>
try.c: 0x5638f64b9f20: 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: 0x55563e9807b0: v4i64 = X86ISD::VTRUNC 0x55563e980680
try.c: 0x55563e980680: v16i32 = vselect 0x55563e95d950, 0x55563e8effe0, 0x55563e980550
try.c: 0x55563e95d950: v4i1 = X86ISD::PCMPGTM 0x55563e95b930, 0x55563e9574c0
try.c: 0x55563e95b930: v4i64 = X86ISD::VBROADCAST 0x55563e8f04a0
try.c: 0x55563e8f04a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55563e854a40, 0x55563e9053a0, undef:i64
try.c: 0x55563e9053a0: i64,ch = CopyFromReg 0x55563e854a40, Register:i64 %vreg50
try.c: 0x55563e957720: i64 = Register %vreg50
try.c: 0x55563e8f8a60: i64 = undef
try.c: 0x55563e9574c0: v4i64,ch = CopyFromReg 0x55563e854a40, Register:v4i64 %vreg13
try.c: 0x55563e95c180: v4i64 = Register %vreg13
try.c: 0x55563e8effe0: v16i32 = X86ISD::VBROADCAST 0x55563e95bb90
try.c: 0x55563e95bb90: i32,ch = load<LD4[ConstantPool]> 0x55563e854a40, 0x55563e8fea30, undef:i64
try.c: 0x55563e8fea30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55563e8f93e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55563e8f8a60: i64 = undef
try.c: 0x55563e980550: 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: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: i32 = Constant<0>
try.c: 0x55563e980420: 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: 0x56170ba822d0: v4i64 = X86ISD::VTRUNC 0x56170ba821a0
try.c: 0x56170ba821a0: v16i32 = vselect 0x56170ba7ecb0, 0x56170ba10910, 0x56170ba82070
try.c: 0x56170ba7ecb0: v4i1 = X86ISD::PCMPGTM 0x56170ba68af0, 0x56170ba64680
try.c: 0x56170ba68af0: v4i64 = X86ISD::VBROADCAST 0x56170ba06080
try.c: 0x56170ba06080: i64,ch = load<LD8[%lsr.iv6971]> 0x56170b979950, 0x56170ba5f4e0, undef:i64
try.c: 0x56170ba5f4e0: i64,ch = CopyFromReg 0x56170b979950, Register:i64 %vreg50
try.c: 0x56170ba648e0: i64 = Register %vreg50
try.c: 0x56170ba0ef80: i64 = undef
try.c: 0x56170ba64680: v4i64,ch = CopyFromReg 0x56170b979950, Register:v4i64 %vreg13
try.c: 0x56170ba69340: v4i64 = Register %vreg13
try.c: 0x56170ba10910: v16i32 = X86ISD::VBROADCAST 0x56170ba68d50
try.c: 0x56170ba68d50: i32,ch = load<LD4[ConstantPool]> 0x56170b979950, 0x56170ba05660, undef:i64
try.c: 0x56170ba05660: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56170ba264d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56170ba0ef80: i64 = undef
try.c: 0x56170ba82070: 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: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: i32 = Constant<0>
try.c: 0x56170ba81f40: 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