Implementation notes: amd64, cel02, crypto_aead/aes128poetv1aes128

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aes128poetv1aes128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1933013075 0 026156 808 856T:niclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2720415484 0 033285 840 960T:nigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2723812820 0 027428 832 896T:nigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3252413150 0 027508 832 896T:nigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
466044897 0 018120 816 896T:nigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17981222529 0 036900 832 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18816828775 0 043690 816 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
28564020874 0 033972 808 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
30100023497 0 038108 832 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
31270428886 0 046701 840 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
37320221381 0 034552 816 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ni
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: 0x560c35c7dba0: v4i64 = X86ISD::VTRUNC 0x560c35c7da70
try.c: 0x560c35c7da70: v16i32 = vselect 0x560c35c6ea40, 0x560c35c03980, 0x560c35c7d940
try.c: 0x560c35c6ea40: v4i1 = X86ISD::PCMPGTM 0x560c35c63da0, 0x560c35c5f930
try.c: 0x560c35c63da0: v4i64 = X86ISD::VBROADCAST 0x560c35c06790
try.c: 0x560c35c06790: i64,ch = load<LD8[%lsr.iv6971]> 0x560c35b74950, 0x560c35c4ab10, undef:i64
try.c: 0x560c35c4ab10: i64,ch = CopyFromReg 0x560c35b74950, Register:i64 %vreg50
try.c: 0x560c35c5fb90: i64 = Register %vreg50
try.c: 0x560c35c07c60: i64 = undef
try.c: 0x560c35c5f930: v4i64,ch = CopyFromReg 0x560c35b74950, Register:v4i64 %vreg13
try.c: 0x560c35c645f0: v4i64 = Register %vreg13
try.c: 0x560c35c03980: v16i32 = X86ISD::VBROADCAST 0x560c35c64000
try.c: 0x560c35c64000: i32,ch = load<LD4[ConstantPool]> 0x560c35b74950, 0x560c35c2ab20, undef:i64
try.c: 0x560c35c2ab20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560c35c5b8e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560c35c07c60: i64 = undef
try.c: 0x560c35c7d940: 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: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: i32 = Constant<0>
try.c: 0x560c35c7d810: 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:ni

Compiler output

Implementation: T:ni
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: 0x55d8016b1ea0: v4i64 = X86ISD::VTRUNC 0x55d8016b1d70
try.c: 0x55d8016b1d70: v16i32 = vselect 0x55d8016a31f0, 0x55d801627ae0, 0x55d8016b1c40
try.c: 0x55d8016a31f0: v4i1 = X86ISD::PCMPGTM 0x55d80168caa0, 0x55d801688630
try.c: 0x55d80168caa0: v4i64 = X86ISD::VBROADCAST 0x55d801627fa0
try.c: 0x55d801627fa0: i64,ch = load<LD8[%lsr.iv6971]> 0x55d801585a30, 0x55d80162d820, undef:i64
try.c: 0x55d80162d820: i64,ch = CopyFromReg 0x55d801585a30, Register:i64 %vreg50
try.c: 0x55d801688890: i64 = Register %vreg50
try.c: 0x55d80161b4c0: i64 = undef
try.c: 0x55d801688630: v4i64,ch = CopyFromReg 0x55d801585a30, Register:v4i64 %vreg13
try.c: 0x55d80168d2f0: v4i64 = Register %vreg13
try.c: 0x55d801627ae0: v16i32 = X86ISD::VBROADCAST 0x55d80168cd00
try.c: 0x55d80168cd00: i32,ch = load<LD4[ConstantPool]> 0x55d801585a30, 0x55d80162bdf0, undef:i64
try.c: 0x55d80162bdf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d80161be40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d80161b4c0: i64 = undef
try.c: 0x55d8016b1c40: 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: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: i32 = Constant<0>
try.c: 0x55d8016b1b10: 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:ni

Compiler output

Implementation: T:ni
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: 0x563434c03bd0: v4i64 = X86ISD::VTRUNC 0x563434c03aa0
try.c: 0x563434c03aa0: v16i32 = vselect 0x563434c005b0, 0x563434ba4cb0, 0x563434c03970
try.c: 0x563434c005b0: v4i1 = X86ISD::PCMPGTM 0x563434bfba70, 0x563434bf7600
try.c: 0x563434bfba70: v4i64 = X86ISD::VBROADCAST 0x563434ba1e50
try.c: 0x563434ba1e50: i64,ch = load<LD8[%lsr.iv6971]> 0x563434b0c8f0, 0x563434bf2460, undef:i64
try.c: 0x563434bf2460: i64,ch = CopyFromReg 0x563434b0c8f0, Register:i64 %vreg50
try.c: 0x563434bf7860: i64 = Register %vreg50
try.c: 0x563434ba3320: i64 = undef
try.c: 0x563434bf7600: v4i64,ch = CopyFromReg 0x563434b0c8f0, Register:v4i64 %vreg13
try.c: 0x563434bfc2c0: v4i64 = Register %vreg13
try.c: 0x563434ba4cb0: v16i32 = X86ISD::VBROADCAST 0x563434bfbcd0
try.c: 0x563434bfbcd0: i32,ch = load<LD4[ConstantPool]> 0x563434b0c8f0, 0x563434baafd0, undef:i64
try.c: 0x563434baafd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563434bc1170: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563434ba3320: i64 = undef
try.c: 0x563434c03970: 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: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: i32 = Constant<0>
try.c: 0x563434c03840: 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:ni

Compiler output

Implementation: T:ni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
poet.c: poet.c:701:16: error: always_inline function '_mm_testc_si128' requires target feature 'ssse3', but would be inlined into function 'decrypt_final' that is compiled without support for 'ssse3'
poet.c: return _mm_testc_si128(t, p) - 1;
poet.c: ^
poet.c: poet.c:713:16: error: always_inline function '_mm_testc_si128' requires target feature 'ssse3', but would be inlined into function 'decrypt_final' that is compiled without support for 'ssse3'
poet.c: return _mm_testc_si128(t, p) - 1;
poet.c: ^
poet.c: poet.c:728:21: error: always_inline function '_mm_testc_si128' requires target feature 'ssse3', but would be inlined into function 'decrypt_final' that is compiled without support for 'ssse3'
poet.c: int alpha = _mm_testc_si128(tau_alpha, tmp);
poet.c: ^
poet.c: poet.c:738:20: error: always_inline function '_mm_testc_si128' requires target feature 'ssse3', but would be inlined into function 'decrypt_final' that is compiled without support for 'ssse3'
poet.c: int beta = _mm_testc_si128(t_beta, tmp);
poet.c: ^
poet.c: 4 errors generated.

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

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: 0x5596eaa3c100: v4i64 = X86ISD::VTRUNC 0x5596eaa3bfd0
try.c: 0x5596eaa3bfd0: v16i32 = vselect 0x5596eaa54e00, 0x5596ea9e5800, 0x5596eaa3bea0
try.c: 0x5596eaa54e00: v4i1 = X86ISD::PCMPGTM 0x5596eaa38af0, 0x5596eaa34680
try.c: 0x5596eaa38af0: v4i64 = X86ISD::VBROADCAST 0x5596ea9dcc00
try.c: 0x5596ea9dcc00: i64,ch = load<LD8[%lsr.iv6971]> 0x5596ea949950, 0x5596eaa2f4e0, undef:i64
try.c: 0x5596eaa2f4e0: i64,ch = CopyFromReg 0x5596ea949950, Register:i64 %vreg50
try.c: 0x5596eaa348e0: i64 = Register %vreg50
try.c: 0x5596ea9e3e70: i64 = undef
try.c: 0x5596eaa34680: v4i64,ch = CopyFromReg 0x5596ea949950, Register:v4i64 %vreg13
try.c: 0x5596eaa39340: v4i64 = Register %vreg13
try.c: 0x5596ea9e5800: v16i32 = X86ISD::VBROADCAST 0x5596eaa38d50
try.c: 0x5596eaa38d50: i32,ch = load<LD4[ConstantPool]> 0x5596ea949950, 0x5596ea9dc1e0, undef:i64
try.c: 0x5596ea9dc1e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5596ea9e24d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5596ea9e3e70: i64 = undef
try.c: 0x5596eaa3bea0: 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: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: i32 = Constant<0>
try.c: 0x5596eaa3bd70: 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: 0x561bb9f40170: v4i64 = X86ISD::VTRUNC 0x561bb9f40040
try.c: 0x561bb9f40040: v16i32 = vselect 0x561bb9f2eab0, 0x561bb9eac470, 0x561bb9f3ff10
try.c: 0x561bb9f2eab0: v4i1 = X86ISD::PCMPGTM 0x561bb9f18f10, 0x561bb9f15ab0
try.c: 0x561bb9f18f10: v4i64 = X86ISD::VBROADCAST 0x561bb9eac930
try.c: 0x561bb9eac930: i64,ch = load<LD8[%lsr.iv6971]> 0x561bb9e13a30, 0x561bb9eb92d0, undef:i64
try.c: 0x561bb9eb92d0: i64,ch = CopyFromReg 0x561bb9e13a30, Register:i64 %vreg50
try.c: 0x561bb9f15d10: i64 = Register %vreg50
try.c: 0x561bb9eb1c70: i64 = undef
try.c: 0x561bb9f15ab0: v4i64,ch = CopyFromReg 0x561bb9e13a30, Register:v4i64 %vreg13
try.c: 0x561bb9f19760: v4i64 = Register %vreg13
try.c: 0x561bb9eac470: v16i32 = X86ISD::VBROADCAST 0x561bb9f19170
try.c: 0x561bb9f19170: i32,ch = load<LD4[ConstantPool]> 0x561bb9e13a30, 0x561bb9eaee10, undef:i64
try.c: 0x561bb9eaee10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561bb9eb25f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561bb9eb1c70: i64 = undef
try.c: 0x561bb9f3ff10: 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: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: i32 = Constant<0>
try.c: 0x561bb9f3fde0: 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: 0x55582a849a70: v4i64 = X86ISD::VTRUNC 0x55582a849940
try.c: 0x55582a849940: v16i32 = vselect 0x55582a85b9e0, 0x55582a7f8060, 0x55582a849810
try.c: 0x55582a85b9e0: v4i1 = X86ISD::PCMPGTM 0x55582a83c690, 0x55582a83a1b0
try.c: 0x55582a83c690: v4i64 = X86ISD::VBROADCAST 0x55582a7e5790
try.c: 0x55582a7e5790: i64,ch = load<LD8[%lsr.iv6971]> 0x55582a74e8e0, 0x55582a7db400, undef:i64
try.c: 0x55582a7db400: i64,ch = CopyFromReg 0x55582a74e8e0, Register:i64 %vreg50
try.c: 0x55582a83a410: i64 = Register %vreg50
try.c: 0x55582a7f66d0: i64 = undef
try.c: 0x55582a83a1b0: v4i64,ch = CopyFromReg 0x55582a74e8e0, Register:v4i64 %vreg13
try.c: 0x55582a83cee0: v4i64 = Register %vreg13
try.c: 0x55582a7f8060: v16i32 = X86ISD::VBROADCAST 0x55582a83c8f0
try.c: 0x55582a83c8f0: i32,ch = load<LD4[ConstantPool]> 0x55582a74e8e0, 0x55582a7e4d70, undef:i64
try.c: 0x55582a7e4d70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55582a8283b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55582a7f66d0: i64 = undef
try.c: 0x55582a849810: 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: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: i32 = Constant<0>
try.c: 0x55582a8496e0: 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