Implementation notes: amd64, cel02, crypto_decode/761xint32

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_decode
Primitive: 761xint32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
124252 0 013925 824 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12864 0 09428 792 728littleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
130105 0 013781 824 800littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
152106 0 010244 816 768littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17064 0 011274 800 728littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
198105 0 010492 816 768littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
29661 0 09304 800 768littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
92476 0 010460 816 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
93469 0 09288 800 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2708104 0 09444 792 728refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3140102 0 010228 816 768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6560117 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: 0x5585bdd15f00: v4i64 = X86ISD::VTRUNC 0x5585bdd15dd0
try.c: 0x5585bdd15dd0: v16i32 = vselect 0x5585bdd06cf0, 0x5585bdcd6ff0, 0x5585bdd15ca0
try.c: 0x5585bdd06cf0: v4i1 = X86ISD::PCMPGTM 0x5585bdd0e8c0, 0x5585bdd0a450
try.c: 0x5585bdd0e8c0: v4i64 = X86ISD::VBROADCAST 0x5585bdcb22c0
try.c: 0x5585bdcb22c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5585bdc1f940, 0x5585bdcf8850, undef:i64
try.c: 0x5585bdcf8850: i64,ch = CopyFromReg 0x5585bdc1f940, Register:i64 %vreg50
try.c: 0x5585bdd0a6b0: i64 = Register %vreg50
try.c: 0x5585bdcb3790: i64 = undef
try.c: 0x5585bdd0a450: v4i64,ch = CopyFromReg 0x5585bdc1f940, Register:v4i64 %vreg13
try.c: 0x5585bdd0f110: v4i64 = Register %vreg13
try.c: 0x5585bdcd6ff0: v16i32 = X86ISD::VBROADCAST 0x5585bdd0eb20
try.c: 0x5585bdd0eb20: i32,ch = load<LD4[ConstantPool]> 0x5585bdc1f940, 0x5585bdcbc6f0, undef:i64
try.c: 0x5585bdcbc6f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5585bdcaf3a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5585bdcb3790: i64 = undef
try.c: 0x5585bdd15ca0: 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: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: i32 = Constant<0>
try.c: 0x5585bdd15b70: 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: 0x563c83ae8650: v4i64 = X86ISD::VTRUNC 0x563c83ae8520
try.c: 0x563c83ae8520: v16i32 = vselect 0x563c83af0fb0, 0x563c83a6c580, 0x563c83ae83f0
try.c: 0x563c83af0fb0: v4i1 = X86ISD::PCMPGTM 0x563c83ad1870, 0x563c83acd400
try.c: 0x563c83ad1870: v4i64 = X86ISD::VBROADCAST 0x563c83a6ca40
try.c: 0x563c83a6ca40: i64,ch = load<LD8[%lsr.iv6971]> 0x563c839cba30, 0x563c83a73800, undef:i64
try.c: 0x563c83a73800: i64,ch = CopyFromReg 0x563c839cba30, Register:i64 %vreg50
try.c: 0x563c83acd660: i64 = Register %vreg50
try.c: 0x563c83a679c0: i64 = undef
try.c: 0x563c83acd400: v4i64,ch = CopyFromReg 0x563c839cba30, Register:v4i64 %vreg13
try.c: 0x563c83ad20c0: v4i64 = Register %vreg13
try.c: 0x563c83a6c580: v16i32 = X86ISD::VBROADCAST 0x563c83ad1ad0
try.c: 0x563c83ad1ad0: i32,ch = load<LD4[ConstantPool]> 0x563c839cba30, 0x563c83a6ef20, undef:i64
try.c: 0x563c83a6ef20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563c83a68340: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563c83a679c0: i64 = undef
try.c: 0x563c83ae83f0: 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: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: i32 = Constant<0>
try.c: 0x563c83ae82c0: 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: 0x55c8d9e7bce0: v4i64 = X86ISD::VTRUNC 0x55c8d9e7bbb0
try.c: 0x55c8d9e7bbb0: v16i32 = vselect 0x55c8d9e926c0, 0x55c8d9e18cd0, 0x55c8d9e7ba80
try.c: 0x55c8d9e926c0: v4i1 = X86ISD::PCMPGTM 0x55c8d9e711c0, 0x55c8d9e6cd50
try.c: 0x55c8d9e711c0: v4i64 = X86ISD::VBROADCAST 0x55c8d9e14b80
try.c: 0x55c8d9e14b80: i64,ch = load<LD8[%lsr.iv6971]> 0x55c8d9d81950, 0x55c8d9e63a50, undef:i64
try.c: 0x55c8d9e63a50: i64,ch = CopyFromReg 0x55c8d9d81950, Register:i64 %vreg50
try.c: 0x55c8d9e6cfb0: i64 = Register %vreg50
try.c: 0x55c8d9e17340: i64 = undef
try.c: 0x55c8d9e6cd50: v4i64,ch = CopyFromReg 0x55c8d9d81950, Register:v4i64 %vreg13
try.c: 0x55c8d9e71a10: v4i64 = Register %vreg13
try.c: 0x55c8d9e18cd0: v16i32 = X86ISD::VBROADCAST 0x55c8d9e71420
try.c: 0x55c8d9e71420: i32,ch = load<LD4[ConstantPool]> 0x55c8d9d81950, 0x55c8d9e14160, undef:i64
try.c: 0x55c8d9e14160: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c8d9e20ae0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c8d9e17340: i64 = undef
try.c: 0x55c8d9e7ba80: 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: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: i32 = Constant<0>
try.c: 0x55c8d9e7b950: 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: 0x562ab4fbc100: v4i64 = X86ISD::VTRUNC 0x562ab4fbbfd0
try.c: 0x562ab4fbbfd0: v16i32 = vselect 0x562ab4fd4e00, 0x562ab4f65800, 0x562ab4fbbea0
try.c: 0x562ab4fd4e00: v4i1 = X86ISD::PCMPGTM 0x562ab4fb8af0, 0x562ab4fb4680
try.c: 0x562ab4fb8af0: v4i64 = X86ISD::VBROADCAST 0x562ab4f5cc00
try.c: 0x562ab4f5cc00: i64,ch = load<LD8[%lsr.iv6971]> 0x562ab4ec9950, 0x562ab4faf4e0, undef:i64
try.c: 0x562ab4faf4e0: i64,ch = CopyFromReg 0x562ab4ec9950, Register:i64 %vreg50
try.c: 0x562ab4fb48e0: i64 = Register %vreg50
try.c: 0x562ab4f63e70: i64 = undef
try.c: 0x562ab4fb4680: v4i64,ch = CopyFromReg 0x562ab4ec9950, Register:v4i64 %vreg13
try.c: 0x562ab4fb9340: v4i64 = Register %vreg13
try.c: 0x562ab4f65800: v16i32 = X86ISD::VBROADCAST 0x562ab4fb8d50
try.c: 0x562ab4fb8d50: i32,ch = load<LD4[ConstantPool]> 0x562ab4ec9950, 0x562ab4f5c1e0, undef:i64
try.c: 0x562ab4f5c1e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562ab4f624d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562ab4f63e70: i64 = undef
try.c: 0x562ab4fbbea0: 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: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: i32 = Constant<0>
try.c: 0x562ab4fbbd70: 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: 0x564d12b6c580: v4i64 = X86ISD::VTRUNC 0x564d12b6c450
try.c: 0x564d12b6c450: v16i32 = vselect 0x564d12b66f50, 0x564d12b00cd0, 0x564d12b6c320
try.c: 0x564d12b66f50: v4i1 = X86ISD::PCMPGTM 0x564d12b65f40, 0x564d12b61ad0
try.c: 0x564d12b65f40: v4i64 = X86ISD::VBROADCAST 0x564d12b01190
try.c: 0x564d12b01190: i64,ch = load<LD8[%lsr.iv6971]> 0x564d12a5fa30, 0x564d12b0f310, undef:i64
try.c: 0x564d12b0f310: i64,ch = CopyFromReg 0x564d12a5fa30, Register:i64 %vreg50
try.c: 0x564d12b61d30: i64 = Register %vreg50
try.c: 0x564d12afed10: i64 = undef
try.c: 0x564d12b61ad0: v4i64,ch = CopyFromReg 0x564d12a5fa30, Register:v4i64 %vreg13
try.c: 0x564d12b66790: v4i64 = Register %vreg13
try.c: 0x564d12b00cd0: v16i32 = X86ISD::VBROADCAST 0x564d12b661a0
try.c: 0x564d12b661a0: i32,ch = load<LD4[ConstantPool]> 0x564d12a5fa30, 0x564d12b03670, undef:i64
try.c: 0x564d12b03670: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564d12aff690: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564d12afed10: i64 = undef
try.c: 0x564d12b6c320: 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: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: i32 = Constant<0>
try.c: 0x564d12b6c1f0: 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: 0x55bc23243300: v4i64 = X86ISD::VTRUNC 0x55bc232431d0
try.c: 0x55bc232431d0: v16i32 = vselect 0x55bc23221d20, 0x55bc231cc390, 0x55bc232430a0
try.c: 0x55bc23221d20: v4i1 = X86ISD::PCMPGTM 0x55bc2322b510, 0x55bc232270a0
try.c: 0x55bc2322b510: v4i64 = X86ISD::VBROADCAST 0x55bc231da030
try.c: 0x55bc231da030: i64,ch = load<LD8[%lsr.iv6971]> 0x55bc2313c940, 0x55bc23215090, undef:i64
try.c: 0x55bc23215090: i64,ch = CopyFromReg 0x55bc2313c940, Register:i64 %vreg50
try.c: 0x55bc23227300: i64 = Register %vreg50
try.c: 0x55bc231db500: i64 = undef
try.c: 0x55bc232270a0: v4i64,ch = CopyFromReg 0x55bc2313c940, Register:v4i64 %vreg13
try.c: 0x55bc2322bd60: v4i64 = Register %vreg13
try.c: 0x55bc231cc390: v16i32 = X86ISD::VBROADCAST 0x55bc2322b770
try.c: 0x55bc2322b770: i32,ch = load<LD4[ConstantPool]> 0x55bc2313c940, 0x55bc231d07f0, undef:i64
try.c: 0x55bc231d07f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bc2321e700: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bc231db500: i64 = undef
try.c: 0x55bc232430a0: 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: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: i32 = Constant<0>
try.c: 0x55bc23242f70: 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