Implementation notes: amd64, cel02, crypto_encrypt/ledapkc5364

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_encrypt
Primitive: ledapkc5364
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3043189453577 1366024 088547 1366848 1656T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5333444484733 1366024 0124624 1366880 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7007510856170 1366024 092672 1366880 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7289685055927 1366024 091976 1366880 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7360903835434 1366024 070687 1366872 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18373832857345 72 094089 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: 0x55dd4a1e4fe0: v4i64 = X86ISD::VTRUNC 0x55dd4a1e4eb0
try.c: 0x55dd4a1e4eb0: v16i32 = vselect 0x55dd4a1f7530, 0x55dd4a17e410, 0x55dd4a1e4d80
try.c: 0x55dd4a1f7530: v4i1 = X86ISD::PCMPGTM 0x55dd4a1dd9a0, 0x55dd4a1d9530
try.c: 0x55dd4a1dd9a0: v4i64 = X86ISD::VBROADCAST 0x55dd4a1a4290
try.c: 0x55dd4a1a4290: i64,ch = load<LD8[%lsr.iv6971]> 0x55dd4a0ee950, 0x55dd4a1c87b0, undef:i64
try.c: 0x55dd4a1c87b0: i64,ch = CopyFromReg 0x55dd4a0ee950, Register:i64 %vreg50
try.c: 0x55dd4a1d9790: i64 = Register %vreg50
try.c: 0x55dd4a17ca80: i64 = undef
try.c: 0x55dd4a1d9530: v4i64,ch = CopyFromReg 0x55dd4a0ee950, Register:v4i64 %vreg13
try.c: 0x55dd4a1de1f0: v4i64 = Register %vreg13
try.c: 0x55dd4a17e410: v16i32 = X86ISD::VBROADCAST 0x55dd4a1ddc00
try.c: 0x55dd4a1ddc00: i32,ch = load<LD4[ConstantPool]> 0x55dd4a0ee950, 0x55dd4a1a3870, undef:i64
try.c: 0x55dd4a1a3870: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dd4a19f670: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dd4a17ca80: i64 = undef
try.c: 0x55dd4a1e4d80: 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: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: i32 = Constant<0>
try.c: 0x55dd4a1e4c50: 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: 0x5612de131670: v4i64 = X86ISD::VTRUNC 0x5612de131540
try.c: 0x5612de131540: v16i32 = vselect 0x5612de12def0, 0x5612de0a13f0, 0x5612de131410
try.c: 0x5612de12def0: v4i1 = X86ISD::PCMPGTM 0x5612de10d970, 0x5612de109500
try.c: 0x5612de10d970: v4i64 = X86ISD::VBROADCAST 0x5612de0a18b0
try.c: 0x5612de0a18b0: i64,ch = load<LD8[%lsr.iv6971]> 0x5612de006a20, 0x5612de0a9970, undef:i64
try.c: 0x5612de0a9970: i64,ch = CopyFromReg 0x5612de006a20, Register:i64 %vreg50
try.c: 0x5612de109760: i64 = Register %vreg50
try.c: 0x5612de0a5690: i64 = undef
try.c: 0x5612de109500: v4i64,ch = CopyFromReg 0x5612de006a20, Register:v4i64 %vreg13
try.c: 0x5612de10e1c0: v4i64 = Register %vreg13
try.c: 0x5612de0a13f0: v16i32 = X86ISD::VBROADCAST 0x5612de10dbd0
try.c: 0x5612de10dbd0: i32,ch = load<LD4[ConstantPool]> 0x5612de006a20, 0x5612de0a7f40, undef:i64
try.c: 0x5612de0a7f40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5612de0a6010: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5612de0a5690: i64 = undef
try.c: 0x5612de131410: 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: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: i32 = Constant<0>
try.c: 0x5612de1312e0: 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: 0x555e9fa6a3c0: v4i64 = X86ISD::VTRUNC 0x555e9fa6a290
try.c: 0x555e9fa6a290: v16i32 = vselect 0x555e9fa66da0, 0x555e9fa088c0, 0x555e9fa6a160
try.c: 0x555e9fa66da0: v4i1 = X86ISD::PCMPGTM 0x555e9fa62150, 0x555e9fa5dce0
try.c: 0x555e9fa62150: v4i64 = X86ISD::VBROADCAST 0x555e9fa0c610
try.c: 0x555e9fa0c610: i64,ch = load<LD8[%lsr.iv6971]> 0x555e9f9729d0, 0x555e9fa4d750, undef:i64
try.c: 0x555e9fa4d750: i64,ch = CopyFromReg 0x555e9f9729d0, Register:i64 %vreg50
try.c: 0x555e9fa5df40: i64 = Register %vreg50
try.c: 0x555e9fa0dae0: i64 = undef
try.c: 0x555e9fa5dce0: v4i64,ch = CopyFromReg 0x555e9f9729d0, Register:v4i64 %vreg13
try.c: 0x555e9fa629a0: v4i64 = Register %vreg13
try.c: 0x555e9fa088c0: v16i32 = X86ISD::VBROADCAST 0x555e9fa623b0
try.c: 0x555e9fa623b0: i32,ch = load<LD4[ConstantPool]> 0x555e9f9729d0, 0x555e9fa02200, undef:i64
try.c: 0x555e9fa02200: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555e9fa48e50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555e9fa0dae0: i64 = undef
try.c: 0x555e9fa6a160: 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: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: i32 = Constant<0>
try.c: 0x555e9fa6a030: 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