Implementation notes: amd64, cel02, crypto_aead/aes128poetv1aes4

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aes128poetv1aes4
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1541613223 0 026316 808 856T:niclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2236212891 0 027476 832 896T:nigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2354814700 0 032501 840 960T:nigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3328613197 0 027540 832 896T:nigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
356645004 0 018240 816 896T:nigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14496828775 0 043690 816 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
15357620874 0 033972 808 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
23268628886 0 046701 840 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
23987022529 0 036868 832 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
25488823497 0 038076 832 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
28755021381 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: 0x5563391f3d50: v4i64 = X86ISD::VTRUNC 0x5563391f3c20
try.c: 0x5563391f3c20: v16i32 = vselect 0x556339208ab0, 0x5563391927e0, 0x5563391f3af0
try.c: 0x556339208ab0: v4i1 = X86ISD::PCMPGTM 0x5563391ef730, 0x5563391eb2c0
try.c: 0x5563391ef730: v4i64 = X86ISD::VBROADCAST 0x55633918f980
try.c: 0x55633918f980: i64,ch = load<LD8[%lsr.iv6971]> 0x556339100950, 0x5563391e6120, undef:i64
try.c: 0x5563391e6120: i64,ch = CopyFromReg 0x556339100950, Register:i64 %vreg50
try.c: 0x5563391eb520: i64 = Register %vreg50
try.c: 0x556339190e50: i64 = undef
try.c: 0x5563391eb2c0: v4i64,ch = CopyFromReg 0x556339100950, Register:v4i64 %vreg13
try.c: 0x5563391eff80: v4i64 = Register %vreg13
try.c: 0x5563391927e0: v16i32 = X86ISD::VBROADCAST 0x5563391ef990
try.c: 0x5563391ef990: i32,ch = load<LD4[ConstantPool]> 0x556339100950, 0x5563391975b0, undef:i64
try.c: 0x5563391975b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55633919f780: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556339190e50: i64 = undef
try.c: 0x5563391f3af0: 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: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: i32 = Constant<0>
try.c: 0x5563391f39c0: 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: 0x55991e621fb0: v4i64 = X86ISD::VTRUNC 0x55991e621e80
try.c: 0x55991e621e80: v16i32 = vselect 0x55991e639560, 0x55991e5ca080, 0x55991e621d50
try.c: 0x55991e639560: v4i1 = X86ISD::PCMPGTM 0x55991e619ee0, 0x55991e6152b0
try.c: 0x55991e619ee0: v4i64 = X86ISD::VBROADCAST 0x55991e5ca540
try.c: 0x55991e5ca540: i64,ch = load<LD8[%lsr.iv6971]> 0x55991e513a40, 0x55991e5b98c0, undef:i64
try.c: 0x55991e5b98c0: i64,ch = CopyFromReg 0x55991e513a40, Register:i64 %vreg50
try.c: 0x55991e615510: i64 = Register %vreg50
try.c: 0x55991e5c32b0: i64 = undef
try.c: 0x55991e6152b0: v4i64,ch = CopyFromReg 0x55991e513a40, Register:v4i64 %vreg13
try.c: 0x55991e61a730: v4i64 = Register %vreg13
try.c: 0x55991e5ca080: v16i32 = X86ISD::VBROADCAST 0x55991e61a140
try.c: 0x55991e61a140: i32,ch = load<LD4[ConstantPool]> 0x55991e513a40, 0x55991e5af650, undef:i64
try.c: 0x55991e5af650: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55991e5c3c30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55991e5c32b0: i64 = undef
try.c: 0x55991e621d50: 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: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: i32 = Constant<0>
try.c: 0x55991e621c20: 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: 0x55ef23e18f20: v4i64 = X86ISD::VTRUNC 0x55ef23e18df0
try.c: 0x55ef23e18df0: v16i32 = vselect 0x55ef23e2f720, 0x55ef23dcefd0, 0x55ef23e18cc0
try.c: 0x55ef23e2f720: v4i1 = X86ISD::PCMPGTM 0x55ef23e138f0, 0x55ef23e0f480
try.c: 0x55ef23e138f0: v4i64 = X86ISD::VBROADCAST 0x55ef23db4fb0
try.c: 0x55ef23db4fb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ef23d24930, 0x55ef23e069d0, undef:i64
try.c: 0x55ef23e069d0: i64,ch = CopyFromReg 0x55ef23d24930, Register:i64 %vreg50
try.c: 0x55ef23e0f6e0: i64 = Register %vreg50
try.c: 0x55ef23dcd640: i64 = undef
try.c: 0x55ef23e0f480: v4i64,ch = CopyFromReg 0x55ef23d24930, Register:v4i64 %vreg13
try.c: 0x55ef23e14140: v4i64 = Register %vreg13
try.c: 0x55ef23dcefd0: v16i32 = X86ISD::VBROADCAST 0x55ef23e13b50
try.c: 0x55ef23e13b50: i32,ch = load<LD4[ConstantPool]> 0x55ef23d24930, 0x55ef23db4590, undef:i64
try.c: 0x55ef23db4590: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ef23dfcca0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ef23dcd640: i64 = undef
try.c: 0x55ef23e18cc0: 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: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: i32 = Constant<0>
try.c: 0x55ef23e18b90: 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:743: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:755: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:770: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:780: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: 0x5610f4af68f0: v4i64 = X86ISD::VTRUNC 0x5610f4af67c0
try.c: 0x5610f4af67c0: v16i32 = vselect 0x5610f4b1a570, 0x5610f4aacd10, 0x5610f4af6690
try.c: 0x5610f4b1a570: v4i1 = X86ISD::PCMPGTM 0x5610f4af1830, 0x5610f4aed3c0
try.c: 0x5610f4af1830: v4i64 = X86ISD::VBROADCAST 0x5610f4aa8980
try.c: 0x5610f4aa8980: i64,ch = load<LD8[%lsr.iv6971]> 0x5610f4a02950, 0x5610f4ae0520, undef:i64
try.c: 0x5610f4ae0520: i64,ch = CopyFromReg 0x5610f4a02950, Register:i64 %vreg50
try.c: 0x5610f4aed620: i64 = Register %vreg50
try.c: 0x5610f4aab380: i64 = undef
try.c: 0x5610f4aed3c0: v4i64,ch = CopyFromReg 0x5610f4a02950, Register:v4i64 %vreg13
try.c: 0x5610f4af2080: v4i64 = Register %vreg13
try.c: 0x5610f4aacd10: v16i32 = X86ISD::VBROADCAST 0x5610f4af1a90
try.c: 0x5610f4af1a90: i32,ch = load<LD4[ConstantPool]> 0x5610f4a02950, 0x5610f4aa7f60, undef:i64
try.c: 0x5610f4aa7f60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5610f4a62bb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5610f4aab380: i64 = undef
try.c: 0x5610f4af6690: 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: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: i32 = Constant<0>
try.c: 0x5610f4af6560: 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: 0x560e5ad58190: v4i64 = X86ISD::VTRUNC 0x560e5ad58060
try.c: 0x560e5ad58060: v16i32 = vselect 0x560e5ad3f580, 0x560e5acd0170, 0x560e5ad57f30
try.c: 0x560e5ad3f580: v4i1 = X86ISD::PCMPGTM 0x560e5ad34740, 0x560e5ad302d0
try.c: 0x560e5ad34740: v4i64 = X86ISD::VBROADCAST 0x560e5acd0630
try.c: 0x560e5acd0630: i64,ch = load<LD8[%lsr.iv6971]> 0x560e5ac2da30, 0x560e5ace5a10, undef:i64
try.c: 0x560e5ace5a10: i64,ch = CopyFromReg 0x560e5ac2da30, Register:i64 %vreg50
try.c: 0x560e5ad30530: i64 = Register %vreg50
try.c: 0x560e5acc2c70: i64 = undef
try.c: 0x560e5ad302d0: v4i64,ch = CopyFromReg 0x560e5ac2da30, Register:v4i64 %vreg13
try.c: 0x560e5ad34f90: v4i64 = Register %vreg13
try.c: 0x560e5acd0170: v16i32 = X86ISD::VBROADCAST 0x560e5ad349a0
try.c: 0x560e5ad349a0: i32,ch = load<LD4[ConstantPool]> 0x560e5ac2da30, 0x560e5acc8950, undef:i64
try.c: 0x560e5acc8950: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560e5acc35f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560e5acc2c70: i64 = undef
try.c: 0x560e5ad57f30: 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: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: i32 = Constant<0>
try.c: 0x560e5ad57e00: 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: 0x55e77f11ecc0: v4i64 = X86ISD::VTRUNC 0x55e77f11eb90
try.c: 0x55e77f11eb90: v16i32 = vselect 0x55e77f11b6a0, 0x55e77f0c5810, 0x55e77f11ea60
try.c: 0x55e77f11b6a0: v4i1 = X86ISD::PCMPGTM 0x55e77f116fe0, 0x55e77f112b70
try.c: 0x55e77f116fe0: v4i64 = X86ISD::VBROADCAST 0x55e77f0ba6d0
try.c: 0x55e77f0ba6d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e77f0278e0, 0x55e77f109760, undef:i64
try.c: 0x55e77f109760: i64,ch = CopyFromReg 0x55e77f0278e0, Register:i64 %vreg50
try.c: 0x55e77f112dd0: i64 = Register %vreg50
try.c: 0x55e77f0c3e80: i64 = undef
try.c: 0x55e77f112b70: v4i64,ch = CopyFromReg 0x55e77f0278e0, Register:v4i64 %vreg13
try.c: 0x55e77f117830: v4i64 = Register %vreg13
try.c: 0x55e77f0c5810: v16i32 = X86ISD::VBROADCAST 0x55e77f117240
try.c: 0x55e77f117240: i32,ch = load<LD4[ConstantPool]> 0x55e77f0278e0, 0x55e77f0b9cb0, undef:i64
try.c: 0x55e77f0b9cb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e77f0fc340: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e77f0c3e80: i64 = undef
try.c: 0x55e77f11ea60: 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: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: i32 = Constant<0>
try.c: 0x55e77f11e930: 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