Implementation notes: amd64, cel02, crypto_aead/aes128poetv2aes4ni

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aes128poetv2aes4ni
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1256610553 0 023660 808 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
288166952 0 020152 816 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
290909370 0 027189 840 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
292328828 0 023460 832 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
322727544 0 021972 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: 0x55883db209a0: v4i64 = X86ISD::VTRUNC 0x55883db20870
try.c: 0x55883db20870: v16i32 = vselect 0x55883db30e00, 0x55883dac1750, 0x55883db20740
try.c: 0x55883db30e00: v4i1 = X86ISD::PCMPGTM 0x55883db19a90, 0x55883db15620
try.c: 0x55883db19a90: v4i64 = X86ISD::VBROADCAST 0x55883daba2c0
try.c: 0x55883daba2c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55883da2a930, 0x55883db10480, undef:i64
try.c: 0x55883db10480: i64,ch = CopyFromReg 0x55883da2a930, Register:i64 %vreg50
try.c: 0x55883db15880: i64 = Register %vreg50
try.c: 0x55883dabfdc0: i64 = undef
try.c: 0x55883db15620: v4i64,ch = CopyFromReg 0x55883da2a930, Register:v4i64 %vreg13
try.c: 0x55883db1a2e0: v4i64 = Register %vreg13
try.c: 0x55883dac1750: v16i32 = X86ISD::VBROADCAST 0x55883db19cf0
try.c: 0x55883db19cf0: i32,ch = load<LD4[ConstantPool]> 0x55883da2a930, 0x55883dab98a0, undef:i64
try.c: 0x55883dab98a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55883dad8860: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55883dabfdc0: i64 = undef
try.c: 0x55883db20740: 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: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: i32 = Constant<0>
try.c: 0x55883db20610: 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: 0x56532bbf9150: v4i64 = X86ISD::VTRUNC 0x56532bbf9020
try.c: 0x56532bbf9020: v16i32 = vselect 0x56532bbf3b20, 0x56532bb79e10, 0x56532bbf8ef0
try.c: 0x56532bbf3b20: v4i1 = X86ISD::PCMPGTM 0x56532bbdf350, 0x56532bbda720
try.c: 0x56532bbdf350: v4i64 = X86ISD::VBROADCAST 0x56532bb7a2d0
try.c: 0x56532bb7a2d0: i64,ch = load<LD8[%lsr.iv6971]> 0x56532bad8a30, 0x56532bb92930, undef:i64
try.c: 0x56532bb92930: i64,ch = CopyFromReg 0x56532bad8a30, Register:i64 %vreg50
try.c: 0x56532bbda980: i64 = Register %vreg50
try.c: 0x56532bb73100: i64 = undef
try.c: 0x56532bbda720: v4i64,ch = CopyFromReg 0x56532bad8a30, Register:v4i64 %vreg13
try.c: 0x56532bbdfba0: v4i64 = Register %vreg13
try.c: 0x56532bb79e10: v16i32 = X86ISD::VBROADCAST 0x56532bbdf5b0
try.c: 0x56532bbdf5b0: i32,ch = load<LD4[ConstantPool]> 0x56532bad8a30, 0x56532bb90f00, undef:i64
try.c: 0x56532bb90f00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56532bb73a80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56532bb73100: i64 = undef
try.c: 0x56532bbf8ef0: 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: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: i32 = Constant<0>
try.c: 0x56532bbf8dc0: 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: 0x55e88728d220: v4i64 = X86ISD::VTRUNC 0x55e88728d0f0
try.c: 0x55e88728d0f0: v16i32 = vselect 0x55e8872906f0, 0x55e88721ff90, 0x55e88728cfc0
try.c: 0x55e8872906f0: v4i1 = X86ISD::PCMPGTM 0x55e8872728a0, 0x55e88726e430
try.c: 0x55e8872728a0: v4i64 = X86ISD::VBROADCAST 0x55e887216320
try.c: 0x55e887216320: i64,ch = load<LD8[%lsr.iv6971]> 0x55e8871839d0, 0x55e887269290, undef:i64
try.c: 0x55e887269290: i64,ch = CopyFromReg 0x55e8871839d0, Register:i64 %vreg50
try.c: 0x55e88726e690: i64 = Register %vreg50
try.c: 0x55e8872177f0: i64 = undef
try.c: 0x55e88726e430: v4i64,ch = CopyFromReg 0x55e8871839d0, Register:v4i64 %vreg13
try.c: 0x55e8872730f0: v4i64 = Register %vreg13
try.c: 0x55e88721ff90: v16i32 = X86ISD::VBROADCAST 0x55e887272b00
try.c: 0x55e887272b00: i32,ch = load<LD4[ConstantPool]> 0x55e8871839d0, 0x55e8872134e0, undef:i64
try.c: 0x55e8872134e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e887259820: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e8872177f0: i64 = undef
try.c: 0x55e88728cfc0: 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: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: i32 = Constant<0>
try.c: 0x55e88728ce90: 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:490: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_keysetup(k, ctx->l, k_axu, expanded_key);
poet.c: ^
poet.c: poet.c:465:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: aes_encrypt_round_3blocks_keysetup(x, y, z, k[1]); \
poet.c: ^
poet.c: poet.c:448:9: note: expanded from macro 'aes_encrypt_round_3blocks_keysetup'
poet.c: x = _mm_aesenc_si128(x, k); \
poet.c: ^
poet.c: poet.c:490: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:465:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: aes_encrypt_round_3blocks_keysetup(x, y, z, k[1]); \
poet.c: ^
poet.c: poet.c:449:9: note: expanded from macro 'aes_encrypt_round_3blocks_keysetup'
poet.c: y = _mm_aesenc_si128(y, k); \
poet.c: ^
poet.c: poet.c:490: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:465:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: aes_encrypt_round_3blocks_keysetup(x, y, z, k[1]); \
poet.c: ^
poet.c: poet.c:450:9: note: expanded from macro 'aes_encrypt_round_3blocks_keysetup'
poet.c: z = _mm_aesenc_si128(z, k)
poet.c: ^
poet.c: poet.c:490: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:466:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
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