Implementation notes: amd64, cel02, crypto_aead/aes128poetv2aes128ni

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aes128poetv2aes128ni
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1939411123 0 024236 808 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3223410076 0 024708 832 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3256010894 0 028717 840 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
349728082 0 021280 816 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
353848623 0 023044 832 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-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: 0x55d54c7313f0: v4i64 = X86ISD::VTRUNC 0x55d54c7312c0
try.c: 0x55d54c7312c0: v16i32 = vselect 0x55d54c74a970, 0x55d54c6d4b20, 0x55d54c731190
try.c: 0x55d54c74a970: v4i1 = X86ISD::PCMPGTM 0x55d54c72c9b0, 0x55d54c728540
try.c: 0x55d54c72c9b0: v4i64 = X86ISD::VBROADCAST 0x55d54c6d0ab0
try.c: 0x55d54c6d0ab0: i64,ch = load<LD8[%lsr.iv6971]> 0x55d54c63d950, 0x55d54c715fd0, undef:i64
try.c: 0x55d54c715fd0: i64,ch = CopyFromReg 0x55d54c63d950, Register:i64 %vreg50
try.c: 0x55d54c7287a0: i64 = Register %vreg50
try.c: 0x55d54c6d3190: i64 = undef
try.c: 0x55d54c728540: v4i64,ch = CopyFromReg 0x55d54c63d950, Register:v4i64 %vreg13
try.c: 0x55d54c72d200: v4i64 = Register %vreg13
try.c: 0x55d54c6d4b20: v16i32 = X86ISD::VBROADCAST 0x55d54c72cc10
try.c: 0x55d54c72cc10: i32,ch = load<LD4[ConstantPool]> 0x55d54c63d950, 0x55d54c6d0090, undef:i64
try.c: 0x55d54c6d0090: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d54c7171d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d54c6d3190: i64 = undef
try.c: 0x55d54c731190: 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: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: i32 = Constant<0>
try.c: 0x55d54c731060: 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: 0x55bda7ac15a0: v4i64 = X86ISD::VTRUNC 0x55bda7ac1470
try.c: 0x55bda7ac1470: v16i32 = vselect 0x55bda7ab1fc0, 0x55bda7a4b490, 0x55bda7ac1340
try.c: 0x55bda7ab1fc0: v4i1 = X86ISD::PCMPGTM 0x55bda7a9c420, 0x55bda7a52b70
try.c: 0x55bda7a9c420: v4i64 = X86ISD::VBROADCAST 0x55bda7a4b950
try.c: 0x55bda7a4b950: i64,ch = load<LD8[%lsr.iv6971]> 0x55bda7996a30, 0x55bda7a3d100, undef:i64
try.c: 0x55bda7a3d100: i64,ch = CopyFromReg 0x55bda7996a30, Register:i64 %vreg50
try.c: 0x55bda7a52dd0: i64 = Register %vreg50
try.c: 0x55bda7a38c40: i64 = undef
try.c: 0x55bda7a52b70: v4i64,ch = CopyFromReg 0x55bda7996a30, Register:v4i64 %vreg13
try.c: 0x55bda7a9cc70: v4i64 = Register %vreg13
try.c: 0x55bda7a4b490: v16i32 = X86ISD::VBROADCAST 0x55bda7a9c680
try.c: 0x55bda7a9c680: i32,ch = load<LD4[ConstantPool]> 0x55bda7996a30, 0x55bda7a4de30, undef:i64
try.c: 0x55bda7a4de30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bda7a395c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bda7a38c40: i64 = undef
try.c: 0x55bda7ac1340: 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: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: i32 = Constant<0>
try.c: 0x55bda7ac1210: 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: 0x55c933752060: v4i64 = X86ISD::VTRUNC 0x55c933751f30
try.c: 0x55c933751f30: v16i32 = vselect 0x55c933740d60, 0x55c9336f0d00, 0x55c933751e00
try.c: 0x55c933740d60: v4i1 = X86ISD::PCMPGTM 0x55c933748f40, 0x55c9337444c0
try.c: 0x55c933748f40: v4i64 = X86ISD::VBROADCAST 0x55c9336e9ad0
try.c: 0x55c9336e9ad0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c933659950, 0x55c933737820, undef:i64
try.c: 0x55c933737820: i64,ch = CopyFromReg 0x55c933659950, Register:i64 %vreg50
try.c: 0x55c933744720: i64 = Register %vreg50
try.c: 0x55c9336ef370: i64 = undef
try.c: 0x55c9337444c0: v4i64,ch = CopyFromReg 0x55c933659950, Register:v4i64 %vreg13
try.c: 0x55c933749790: v4i64 = Register %vreg13
try.c: 0x55c9336f0d00: v16i32 = X86ISD::VBROADCAST 0x55c9337491a0
try.c: 0x55c9337491a0: i32,ch = load<LD4[ConstantPool]> 0x55c933659950, 0x55c9336e90b0, undef:i64
try.c: 0x55c9336e90b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c9337394b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c9336ef370: i64 = undef
try.c: 0x55c933751e00: 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: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: i32 = Constant<0>
try.c: 0x55c933751cd0: 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:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
poet.c: poet.c:608:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: aes_encrypt_3blocks_single_key(k, ctx->l, k_axu, expanded_key);
poet.c: ^
poet.c: poet.c:586:5: note: expanded from macro 'aes_encrypt_3blocks_single_key'
poet.c: aes_encrypt_round_3blocks(x, y, z, k[1], k[1], k[1]); \
poet.c: ^
poet.c: poet.c:537:9: note: expanded from macro 'aes_encrypt_round_3blocks'
poet.c: x = _mm_aesenc_si128(x, kx); \
poet.c: ^
poet.c: poet.c:608:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: poet.c:586:5: note: expanded from macro 'aes_encrypt_3blocks_single_key'
poet.c: aes_encrypt_round_3blocks(x, y, z, k[1], k[1], k[1]); \
poet.c: ^
poet.c: poet.c:538:9: note: expanded from macro 'aes_encrypt_round_3blocks'
poet.c: y = _mm_aesenc_si128(y, ky); \
poet.c: ^
poet.c: poet.c:608:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: poet.c:586:5: note: expanded from macro 'aes_encrypt_3blocks_single_key'
poet.c: aes_encrypt_round_3blocks(x, y, z, k[1], k[1], k[1]); \
poet.c: ^
poet.c: poet.c:539:9: note: expanded from macro 'aes_encrypt_round_3blocks'
poet.c: z = _mm_aesenc_si128(z, kz)
poet.c: ^
poet.c: poet.c:608:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: poet.c:587:5: note: expanded from macro 'aes_encrypt_3blocks_single_key'
poet.c: ...

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