Implementation notes: amd64, cel02, crypto_aead/led80n6t4silcv3

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: led80n6t4silcv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8851726939 0 019596 792 896T:vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9056286230 0 023989 824 992T:vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13273725708 0 020228 816 928T:vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15938545444 0 019716 816 928T:vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16409065064 0 018128 800 928T:vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
361330647697 4 425519 836 968T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1327111763960 4 418428 820 904T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1405480663929 4 418124 820 904T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1672628643229 4 416248 804 904T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2315928685857 4 420722 804 864T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3442188083500 4 416508 796 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ref
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: 0x55eba56f3270: v4i64 = X86ISD::VTRUNC 0x55eba56f3140
try.c: 0x55eba56f3140: v16i32 = vselect 0x55eba56dfaf0, 0x55eba5683a70, 0x55eba56f3010
try.c: 0x55eba56dfaf0: v4i1 = X86ISD::PCMPGTM 0x55eba56d9900, 0x55eba56d5490
try.c: 0x55eba56d9900: v4i64 = X86ISD::VBROADCAST 0x55eba5680c10
try.c: 0x55eba5680c10: i64,ch = load<LD8[%lsr.iv6971]> 0x55eba55ea940, 0x55eba5692530, undef:i64
try.c: 0x55eba5692530: i64,ch = CopyFromReg 0x55eba55ea940, Register:i64 %vreg50
try.c: 0x55eba56d56f0: i64 = Register %vreg50
try.c: 0x55eba56820e0: i64 = undef
try.c: 0x55eba56d5490: v4i64,ch = CopyFromReg 0x55eba55ea940, Register:v4i64 %vreg13
try.c: 0x55eba56da150: v4i64 = Register %vreg13
try.c: 0x55eba5683a70: v16i32 = X86ISD::VBROADCAST 0x55eba56d9b60
try.c: 0x55eba56d9b60: i32,ch = load<LD4[ConstantPool]> 0x55eba55ea940, 0x55eba56801f0, undef:i64
try.c: 0x55eba56801f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55eba56c3560: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55eba56820e0: i64 = undef
try.c: 0x55eba56f3010: 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: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: i32 = Constant<0>
try.c: 0x55eba56f2ee0: 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:ref

Compiler output

Implementation: T:ref
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: 0x556e598b5630: v4i64 = X86ISD::VTRUNC 0x556e598b5500
try.c: 0x556e598b5500: v16i32 = vselect 0x556e598b0000, 0x556e5983ffd0, 0x556e598b53d0
try.c: 0x556e598b0000: v4i1 = X86ISD::PCMPGTM 0x556e598a9430, 0x556e598a49b0
try.c: 0x556e598a9430: v4i64 = X86ISD::VBROADCAST 0x556e59840490
try.c: 0x556e59840490: i64,ch = load<LD8[%lsr.iv6971]> 0x556e597a2a30, 0x556e59853f80, undef:i64
try.c: 0x556e59853f80: i64,ch = CopyFromReg 0x556e597a2a30, Register:i64 %vreg50
try.c: 0x556e598a4c10: i64 = Register %vreg50
try.c: 0x556e59854f20: i64 = undef
try.c: 0x556e598a49b0: v4i64,ch = CopyFromReg 0x556e597a2a30, Register:v4i64 %vreg13
try.c: 0x556e598a9c80: v4i64 = Register %vreg13
try.c: 0x556e5983ffd0: v16i32 = X86ISD::VBROADCAST 0x556e598a9690
try.c: 0x556e598a9690: i32,ch = load<LD4[ConstantPool]> 0x556e597a2a30, 0x556e59852550, undef:i64
try.c: 0x556e59852550: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556e598558a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556e59854f20: i64 = undef
try.c: 0x556e598b53d0: 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: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: i32 = Constant<0>
try.c: 0x556e598b52a0: 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:ref

Compiler output

Implementation: T:ref
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: 0x558b8dfe0940: v4i64 = X86ISD::VTRUNC 0x558b8dfe0810
try.c: 0x558b8dfe0810: v16i32 = vselect 0x558b8dfc5ff0, 0x558b8df5f2a0, 0x558b8dfe06e0
try.c: 0x558b8dfc5ff0: v4i1 = X86ISD::PCMPGTM 0x558b8dfbec20, 0x558b8dfba7b0
try.c: 0x558b8dfbec20: v4i64 = X86ISD::VBROADCAST 0x558b8df620b0
try.c: 0x558b8df620b0: i64,ch = load<LD8[%lsr.iv6971]> 0x558b8decf930, 0x558b8dfb1820, undef:i64
try.c: 0x558b8dfb1820: i64,ch = CopyFromReg 0x558b8decf930, Register:i64 %vreg50
try.c: 0x558b8dfbaa10: i64 = Register %vreg50
try.c: 0x558b8df5d910: i64 = undef
try.c: 0x558b8dfba7b0: v4i64,ch = CopyFromReg 0x558b8decf930, Register:v4i64 %vreg13
try.c: 0x558b8dfbf470: v4i64 = Register %vreg13
try.c: 0x558b8df5f2a0: v16i32 = X86ISD::VBROADCAST 0x558b8dfbee80
try.c: 0x558b8dfbee80: i32,ch = load<LD4[ConstantPool]> 0x558b8decf930, 0x558b8df61690, undef:i64
try.c: 0x558b8df61690: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558b8dfa83f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558b8df5d910: i64 = undef
try.c: 0x558b8dfe06e0: 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: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: i32 = Constant<0>
try.c: 0x558b8dfe05b0: 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:ref

Compiler output

Implementation: T:vperm
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: 0x5591660e0940: v4i64 = X86ISD::VTRUNC 0x5591660e0810
try.c: 0x5591660e0810: v16i32 = vselect 0x5591660c5ff0, 0x55916605f2a0, 0x5591660e06e0
try.c: 0x5591660c5ff0: v4i1 = X86ISD::PCMPGTM 0x5591660bec20, 0x5591660ba7b0
try.c: 0x5591660bec20: v4i64 = X86ISD::VBROADCAST 0x5591660620b0
try.c: 0x5591660620b0: i64,ch = load<LD8[%lsr.iv6971]> 0x559165fcf930, 0x5591660b1820, undef:i64
try.c: 0x5591660b1820: i64,ch = CopyFromReg 0x559165fcf930, Register:i64 %vreg50
try.c: 0x5591660baa10: i64 = Register %vreg50
try.c: 0x55916605d910: i64 = undef
try.c: 0x5591660ba7b0: v4i64,ch = CopyFromReg 0x559165fcf930, Register:v4i64 %vreg13
try.c: 0x5591660bf470: v4i64 = Register %vreg13
try.c: 0x55916605f2a0: v16i32 = X86ISD::VBROADCAST 0x5591660bee80
try.c: 0x5591660bee80: i32,ch = load<LD4[ConstantPool]> 0x559165fcf930, 0x559166061690, undef:i64
try.c: 0x559166061690: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5591660a83f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55916605d910: i64 = undef
try.c: 0x5591660e06e0: 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: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: i32 = Constant<0>
try.c: 0x5591660e05b0: 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:vperm

Compiler output

Implementation: T:vperm
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: 0x55affe43cce0: v4i64 = X86ISD::VTRUNC 0x55affe43cbb0
try.c: 0x55affe43cbb0: v16i32 = vselect 0x55affe4315d0, 0x55affe3c4c80, 0x55affe43ca80
try.c: 0x55affe4315d0: v4i1 = X86ISD::PCMPGTM 0x55affe424370, 0x55affe421e90
try.c: 0x55affe424370: v4i64 = X86ISD::VBROADCAST 0x55affe3c5140
try.c: 0x55affe3c5140: i64,ch = load<LD8[%lsr.iv6971]> 0x55affe31ea20, 0x55affe3cea90, undef:i64
try.c: 0x55affe3cea90: i64,ch = CopyFromReg 0x55affe31ea20, Register:i64 %vreg50
try.c: 0x55affe4220f0: i64 = Register %vreg50
try.c: 0x55affe3b3b20: i64 = undef
try.c: 0x55affe421e90: v4i64,ch = CopyFromReg 0x55affe31ea20, Register:v4i64 %vreg13
try.c: 0x55affe424bc0: v4i64 = Register %vreg13
try.c: 0x55affe3c4c80: v16i32 = X86ISD::VBROADCAST 0x55affe4245d0
try.c: 0x55affe4245d0: i32,ch = load<LD4[ConstantPool]> 0x55affe31ea20, 0x55affe3c7620, undef:i64
try.c: 0x55affe3c7620: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55affe3b44a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55affe3b3b20: i64 = undef
try.c: 0x55affe43ca80: 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: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: i32 = Constant<0>
try.c: 0x55affe43c950: 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:vperm

Compiler output

Implementation: T:vperm
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: 0x55865dbd3d20: v4i64 = X86ISD::VTRUNC 0x55865dbd3bf0
try.c: 0x55865dbd3bf0: v16i32 = vselect 0x55865dbe3e80, 0x55865db73c80, 0x55865dbd3ac0
try.c: 0x55865dbe3e80: v4i1 = X86ISD::PCMPGTM 0x55865dbccb10, 0x55865dbc86a0
try.c: 0x55865dbccb10: v4i64 = X86ISD::VBROADCAST 0x55865db6fc40
try.c: 0x55865db6fc40: i64,ch = load<LD8[%lsr.iv6971]> 0x55865dadd950, 0x55865dbb7000, undef:i64
try.c: 0x55865dbb7000: i64,ch = CopyFromReg 0x55865dadd950, Register:i64 %vreg50
try.c: 0x55865dbc8900: i64 = Register %vreg50
try.c: 0x55865db71110: i64 = undef
try.c: 0x55865dbc86a0: v4i64,ch = CopyFromReg 0x55865dadd950, Register:v4i64 %vreg13
try.c: 0x55865dbcd360: v4i64 = Register %vreg13
try.c: 0x55865db73c80: v16i32 = X86ISD::VBROADCAST 0x55865dbccd70
try.c: 0x55865dbccd70: i32,ch = load<LD4[ConstantPool]> 0x55865dadd950, 0x55865db5b7c0, undef:i64
try.c: 0x55865db5b7c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55865dbbacd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55865db71110: i64 = undef
try.c: 0x55865dbd3ac0: 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: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: i32 = Constant<0>
try.c: 0x55865dbd3990: 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:vperm

Compiler output

Implementation: T:vperm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
led.c: led.c:172:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'MixColumnWithSbox' that is compiled without support for 'ssse3'
led.c: dqword tmp1 = PSHUFB(LOAD(Mbox1), sum);
led.c: ^
led.c: ./common.h:42:22: note: expanded from macro 'PSHUFB'
led.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
led.c: ^
led.c: led.c:174:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'MixColumnWithSbox' that is compiled without support for 'ssse3'
led.c: dqword tmp2 = PSHUFB(LOAD(Mbox2), sum);
led.c: ^
led.c: ./common.h:42:22: note: expanded from macro 'PSHUFB'
led.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
led.c: ^
led.c: led.c:181:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'MixColumnWithSbox' that is compiled without support for 'ssse3'
led.c: tmp1 = PSHUFB(LOAD(Mbox3), tmp3);
led.c: ^
led.c: ./common.h:42:22: note: expanded from macro 'PSHUFB'
led.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
led.c: ^
led.c: led.c:182:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'MixColumnWithSbox' that is compiled without support for 'ssse3'
led.c: tmp2 = PSHUFB(LOAD(Mbox4), tmp3);
led.c: ^
led.c: ./common.h:42:22: note: expanded from macro 'PSHUFB'
led.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
led.c: ^
led.c: led.c:190:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'MixColumnWithSbox' that is compiled without support for 'ssse3'
led.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vperm