Implementation notes: amd64, cel02, crypto_aead/aes128n8t8clocv2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aes128n8t8clocv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
172646388 0 024005 824 1152T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
173325629 0 018532 792 1056T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
189585292 0 019517 824 1088T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
194145806 0 020269 824 1088T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
199384875 0 017832 800 1088T:aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12077024785 0 042713 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12840622487 0 037482 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
20896221654 0 036097 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
22195422561 0 037200 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
22383421510 0 034660 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
22448421672 0 034868 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:aesni
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: 0x5648bfd43d10: v4i64 = X86ISD::VTRUNC 0x5648bfd43be0
try.c: 0x5648bfd43be0: v16i32 = vselect 0x5648bfd5d990, 0x5648bfce7500, 0x5648bfd43ab0
try.c: 0x5648bfd5d990: v4i1 = X86ISD::PCMPGTM 0x5648bfd3ab00, 0x5648bfd36690
try.c: 0x5648bfd3ab00: v4i64 = X86ISD::VBROADCAST 0x5648bfcdd460
try.c: 0x5648bfcdd460: i64,ch = load<LD8[%lsr.iv6971]> 0x5648bfc4b990, 0x5648bfd314f0, undef:i64
try.c: 0x5648bfd314f0: i64,ch = CopyFromReg 0x5648bfc4b990, Register:i64 %vreg50
try.c: 0x5648bfd368f0: i64 = Register %vreg50
try.c: 0x5648bfcde930: i64 = undef
try.c: 0x5648bfd36690: v4i64,ch = CopyFromReg 0x5648bfc4b990, Register:v4i64 %vreg13
try.c: 0x5648bfd3b350: v4i64 = Register %vreg13
try.c: 0x5648bfce7500: v16i32 = X86ISD::VBROADCAST 0x5648bfd3ad60
try.c: 0x5648bfd3ad60: i32,ch = load<LD4[ConstantPool]> 0x5648bfc4b990, 0x5648bfcdc430, undef:i64
try.c: 0x5648bfcdc430: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5648bfcfc670: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5648bfcde930: i64 = undef
try.c: 0x5648bfd43ab0: 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: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: i32 = Constant<0>
try.c: 0x5648bfd43980: 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:aesni

Compiler output

Implementation: T:aesni
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: 0x5633c0fb3850: v4i64 = X86ISD::VTRUNC 0x5633c0fb3720
try.c: 0x5633c0fb3720: v16i32 = vselect 0x5633c0faca60, 0x5633c0f3bb80, 0x5633c0fb35f0
try.c: 0x5633c0faca60: v4i1 = X86ISD::PCMPGTM 0x5633c0f8e040, 0x5633c0f89bd0
try.c: 0x5633c0f8e040: v4i64 = X86ISD::VBROADCAST 0x5633c0f3c040
try.c: 0x5633c0f3c040: i64,ch = load<LD8[%lsr.iv6971]> 0x5633c0e87a20, 0x5633c0f29cc0, undef:i64
try.c: 0x5633c0f29cc0: i64,ch = CopyFromReg 0x5633c0e87a20, Register:i64 %vreg50
try.c: 0x5633c0f89e30: i64 = Register %vreg50
try.c: 0x5633c0f4fd50: i64 = undef
try.c: 0x5633c0f89bd0: v4i64,ch = CopyFromReg 0x5633c0e87a20, Register:v4i64 %vreg13
try.c: 0x5633c0f8e890: v4i64 = Register %vreg13
try.c: 0x5633c0f3bb80: v16i32 = X86ISD::VBROADCAST 0x5633c0f8e2a0
try.c: 0x5633c0f8e2a0: i32,ch = load<LD4[ConstantPool]> 0x5633c0e87a20, 0x5633c0f3e520, undef:i64
try.c: 0x5633c0f3e520: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5633c0f506d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5633c0f4fd50: i64 = undef
try.c: 0x5633c0fb35f0: 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: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: i32 = Constant<0>
try.c: 0x5633c0fb34c0: 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:aesni

Compiler output

Implementation: T:aesni
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: 0x556b491f7fe0: v4i64 = X86ISD::VTRUNC 0x556b491f7eb0
try.c: 0x556b491f7eb0: v16i32 = vselect 0x556b491ec5f0, 0x556b491aa470, 0x556b491f7d80
try.c: 0x556b491ec5f0: v4i1 = X86ISD::PCMPGTM 0x556b491f49d0, 0x556b491f0560
try.c: 0x556b491f49d0: v4i64 = X86ISD::VBROADCAST 0x556b491977d0
try.c: 0x556b491977d0: i64,ch = load<LD8[%lsr.iv6971]> 0x556b49105950, 0x556b491de150, undef:i64
try.c: 0x556b491de150: i64,ch = CopyFromReg 0x556b49105950, Register:i64 %vreg50
try.c: 0x556b491f07c0: i64 = Register %vreg50
try.c: 0x556b49198ca0: i64 = undef
try.c: 0x556b491f0560: v4i64,ch = CopyFromReg 0x556b49105950, Register:v4i64 %vreg13
try.c: 0x556b491f5220: v4i64 = Register %vreg13
try.c: 0x556b491aa470: v16i32 = X86ISD::VBROADCAST 0x556b491f4c30
try.c: 0x556b491f4c30: i32,ch = load<LD4[ConstantPool]> 0x556b49105950, 0x556b4919d2c0, undef:i64
try.c: 0x556b4919d2c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556b491df350: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556b49198ca0: i64 = undef
try.c: 0x556b491f7d80: 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: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: i32 = Constant<0>
try.c: 0x556b491f7c50: 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:aesni

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: In file included from encrypt.c:38:
encrypt.c: ./aes.h:30:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 1); roundkeys[1] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_aes.h:62:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:38:
encrypt.c: ./aes.h:31:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 2); roundkeys[2] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_aes.h:62:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:38:
encrypt.c: ./aes.h:32:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 4); roundkeys[3] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: ...

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

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: 0x561a3fa54fb0: v4i64 = X86ISD::VTRUNC 0x561a3fa54e80
try.c: 0x561a3fa54e80: v16i32 = vselect 0x561a3fa5cf50, 0x561a3f9e2860, 0x561a3fa54d50
try.c: 0x561a3fa5cf50: v4i1 = X86ISD::PCMPGTM 0x561a3fa3d650, 0x561a3fa391e0
try.c: 0x561a3fa3d650: v4i64 = X86ISD::VBROADCAST 0x561a3f9de9e0
try.c: 0x561a3f9de9e0: i64,ch = load<LD8[%lsr.iv6971]> 0x561a3f94e920, 0x561a3fa248d0, undef:i64
try.c: 0x561a3fa248d0: i64,ch = CopyFromReg 0x561a3f94e920, Register:i64 %vreg50
try.c: 0x561a3fa39440: i64 = Register %vreg50
try.c: 0x561a3f9e0ed0: i64 = undef
try.c: 0x561a3fa391e0: v4i64,ch = CopyFromReg 0x561a3f94e920, Register:v4i64 %vreg13
try.c: 0x561a3fa3dea0: v4i64 = Register %vreg13
try.c: 0x561a3f9e2860: v16i32 = X86ISD::VBROADCAST 0x561a3fa3d8b0
try.c: 0x561a3fa3d8b0: i32,ch = load<LD4[ConstantPool]> 0x561a3f94e920, 0x561a3f9ddfc0, undef:i64
try.c: 0x561a3f9ddfc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561a3fa2bf10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561a3f9e0ed0: i64 = undef
try.c: 0x561a3fa54d50: 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: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: i32 = Constant<0>
try.c: 0x561a3fa54c20: 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: 0x563f864de7a0: v4i64 = X86ISD::VTRUNC 0x563f864de670
try.c: 0x563f864de670: v16i32 = vselect 0x563f8649ee30, 0x563f86465870, 0x563f864de540
try.c: 0x563f8649ee30: v4i1 = X86ISD::PCMPGTM 0x563f864bab40, 0x563f864b60c0
try.c: 0x563f864bab40: v4i64 = X86ISD::VBROADCAST 0x563f86465d30
try.c: 0x563f86465d30: i64,ch = load<LD8[%lsr.iv6971]> 0x563f863b4a30, 0x563f86450370, undef:i64
try.c: 0x563f86450370: i64,ch = CopyFromReg 0x563f863b4a30, Register:i64 %vreg50
try.c: 0x563f864b6320: i64 = Register %vreg50
try.c: 0x563f86453390: i64 = undef
try.c: 0x563f864b60c0: v4i64,ch = CopyFromReg 0x563f863b4a30, Register:v4i64 %vreg13
try.c: 0x563f864bb390: v4i64 = Register %vreg13
try.c: 0x563f86465870: v16i32 = X86ISD::VBROADCAST 0x563f864bada0
try.c: 0x563f864bada0: i32,ch = load<LD4[ConstantPool]> 0x563f863b4a30, 0x563f86458360, undef:i64
try.c: 0x563f86458360: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563f86453d10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563f86453390: i64 = undef
try.c: 0x563f864de540: 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: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: i32 = Constant<0>
try.c: 0x563f864de410: 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: 0x5625335b0fd0: v4i64 = X86ISD::VTRUNC 0x5625335b0ea0
try.c: 0x5625335b0ea0: v16i32 = vselect 0x5625335a3dd0, 0x562533558750, 0x5625335b0d70
try.c: 0x5625335a3dd0: v4i1 = X86ISD::PCMPGTM 0x5625335ab9a0, 0x5625335a7530
try.c: 0x5625335ab9a0: v4i64 = X86ISD::VBROADCAST 0x562533552bd0
try.c: 0x562533552bd0: i64,ch = load<LD8[%lsr.iv6971]> 0x5625334bc960, 0x562533596bb0, undef:i64
try.c: 0x562533596bb0: i64,ch = CopyFromReg 0x5625334bc960, Register:i64 %vreg50
try.c: 0x5625335a7790: i64 = Register %vreg50
try.c: 0x562533556dc0: i64 = undef
try.c: 0x5625335a7530: v4i64,ch = CopyFromReg 0x5625334bc960, Register:v4i64 %vreg13
try.c: 0x5625335ac1f0: v4i64 = Register %vreg13
try.c: 0x562533558750: v16i32 = X86ISD::VBROADCAST 0x5625335abc00
try.c: 0x5625335abc00: i32,ch = load<LD4[ConstantPool]> 0x5625334bc960, 0x5625335521b0, undef:i64
try.c: 0x5625335521b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562533571390: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562533556dc0: i64 = undef
try.c: 0x5625335b0d70: 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: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: i32 = Constant<0>
try.c: 0x5625335b0c40: 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