Implementation notes: amd64, cel02, crypto_encrypt/ledapkc32sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_encrypt
Primitive: ledapkc32sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2832232253340 1685512 088291 1686336 1656T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2952290086163 1685512 0126016 1686368 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3998698455977 1685512 092016 1686368 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4047288456469 1685512 092992 1686368 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4133213635233 1685512 070479 1686360 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11000895453209 72 089921 904 1656T:portableoptclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:portableopt
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x560087c62670: v4i64 = X86ISD::VTRUNC 0x560087c62540
try.c: 0x560087c62540: v16i32 = vselect 0x560087c5d040, 0x560087bfc6f0, 0x560087c62410
try.c: 0x560087c5d040: v4i1 = X86ISD::PCMPGTM 0x560087c57c30, 0x560087c53a00
try.c: 0x560087c57c30: v4i64 = X86ISD::VBROADCAST 0x560087c10160
try.c: 0x560087c10160: i64,ch = load<LD8[%lsr.iv6971]> 0x560087b69950, 0x560087c43f90, undef:i64
try.c: 0x560087c43f90: i64,ch = CopyFromReg 0x560087b69950, Register:i64 %vreg50
try.c: 0x560087c53c60: i64 = Register %vreg50
try.c: 0x560087c11630: i64 = undef
try.c: 0x560087c53a00: v4i64,ch = CopyFromReg 0x560087b69950, Register:v4i64 %vreg13
try.c: 0x560087c58480: v4i64 = Register %vreg13
try.c: 0x560087bfc6f0: v16i32 = X86ISD::VBROADCAST 0x560087c57e90
try.c: 0x560087c57e90: i32,ch = load<LD4[ConstantPool]> 0x560087b69950, 0x560087c14120, undef:i64
try.c: 0x560087c14120: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560087c510f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560087c11630: i64 = undef
try.c: 0x560087c62410: 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: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: i32 = Constant<0>
try.c: 0x560087c622e0: 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 T:portableopt

Compiler output

Implementation: T:portableopt
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5617d35e32d0: v4i64 = X86ISD::VTRUNC 0x5617d35e31a0
try.c: 0x5617d35e31a0: v16i32 = vselect 0x5617d35c0f80, 0x5617d3554930, 0x5617d35e3070
try.c: 0x5617d35c0f80: v4i1 = X86ISD::PCMPGTM 0x5617d35bdf50, 0x5617d35b9ae0
try.c: 0x5617d35bdf50: v4i64 = X86ISD::VBROADCAST 0x5617d3554df0
try.c: 0x5617d3554df0: i64,ch = load<LD8[%lsr.iv6971]> 0x5617d34b7a30, 0x5617d355eee0, undef:i64
try.c: 0x5617d355eee0: i64,ch = CopyFromReg 0x5617d34b7a30, Register:i64 %vreg50
try.c: 0x5617d35b9d40: i64 = Register %vreg50
try.c: 0x5617d3556740: i64 = undef
try.c: 0x5617d35b9ae0: v4i64,ch = CopyFromReg 0x5617d34b7a30, Register:v4i64 %vreg13
try.c: 0x5617d35be7a0: v4i64 = Register %vreg13
try.c: 0x5617d3554930: v16i32 = X86ISD::VBROADCAST 0x5617d35be1b0
try.c: 0x5617d35be1b0: i32,ch = load<LD4[ConstantPool]> 0x5617d34b7a30, 0x5617d356e0a0, undef:i64
try.c: 0x5617d356e0a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5617d35570c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5617d3556740: i64 = undef
try.c: 0x5617d35e3070: 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: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: i32 = Constant<0>
try.c: 0x5617d35e2f40: 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 T:portableopt

Compiler output

Implementation: T:portableopt
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55ec11c133d0: v4i64 = X86ISD::VTRUNC 0x55ec11c132a0
try.c: 0x55ec11c132a0: v16i32 = vselect 0x55ec11bf67c0, 0x55ec11b9b3e0, 0x55ec11c13170
try.c: 0x55ec11bf67c0: v4i1 = X86ISD::PCMPGTM 0x55ec11bf3790, 0x55ec11bef320
try.c: 0x55ec11bf3790: v4i64 = X86ISD::VBROADCAST 0x55ec11b97b90
try.c: 0x55ec11b97b90: i64,ch = load<LD8[%lsr.iv6971]> 0x55ec11b04950, 0x55ec11bea180, undef:i64
try.c: 0x55ec11bea180: i64,ch = CopyFromReg 0x55ec11b04950, Register:i64 %vreg50
try.c: 0x55ec11bef580: i64 = Register %vreg50
try.c: 0x55ec11b99a50: i64 = undef
try.c: 0x55ec11bef320: v4i64,ch = CopyFromReg 0x55ec11b04950, Register:v4i64 %vreg13
try.c: 0x55ec11bf3fe0: v4i64 = Register %vreg13
try.c: 0x55ec11b9b3e0: v16i32 = X86ISD::VBROADCAST 0x55ec11bf39f0
try.c: 0x55ec11bf39f0: i32,ch = load<LD4[ConstantPool]> 0x55ec11b04950, 0x55ec11b97170, undef:i64
try.c: 0x55ec11b97170: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ec11bba330: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ec11b99a50: i64 = undef
try.c: 0x55ec11c13170: 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: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: i32 = Constant<0>
try.c: 0x55ec11c13040: 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 T:portableopt