Implementation notes: amd64, cel02, crypto_aead/ascon128av11

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: ascon128av11
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4686616300 0 029192 800 896T:opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6343016826 0 031148 816 896T:opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6485016832 0 034437 824 960T:opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7148618342 0 032428 816 896T:opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
799223489 0 018250 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8110419764 0 032644 792 856T:opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11477024586 0 039290 800 856T:opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1319406004 0 023693 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1959882272 0 015212 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2065082804 0 017196 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2464422303 0 015264 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2637582507 0 016660 816 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:opt64
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: 0x564b6019ff50: v4i64 = X86ISD::VTRUNC 0x564b6019fe20
try.c: 0x564b6019fe20: v16i32 = vselect 0x564b60192d50, 0x564b60150a80, 0x564b6019fcf0
try.c: 0x564b60192d50: v4i1 = X86ISD::PCMPGTM 0x564b6019a920, 0x564b601964b0
try.c: 0x564b6019a920: v4i64 = X86ISD::VBROADCAST 0x564b6013ea10
try.c: 0x564b6013ea10: i64,ch = load<LD8[%lsr.iv6971]> 0x564b600ab950, 0x564b6018dac0, undef:i64
try.c: 0x564b6018dac0: i64,ch = CopyFromReg 0x564b600ab950, Register:i64 %vreg50
try.c: 0x564b60196710: i64 = Register %vreg50
try.c: 0x564b6014f0f0: i64 = undef
try.c: 0x564b601964b0: v4i64,ch = CopyFromReg 0x564b600ab950, Register:v4i64 %vreg13
try.c: 0x564b6019b170: v4i64 = Register %vreg13
try.c: 0x564b60150a80: v16i32 = X86ISD::VBROADCAST 0x564b6019ab80
try.c: 0x564b6019ab80: i32,ch = load<LD4[ConstantPool]> 0x564b600ab950, 0x564b6013dff0, undef:i64
try.c: 0x564b6013dff0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564b60107d60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564b6014f0f0: i64 = undef
try.c: 0x564b6019fcf0: 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: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: i32 = Constant<0>
try.c: 0x564b6019fbc0: 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:opt64

Compiler output

Implementation: T:opt64
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: 0x55e187510c80: v4i64 = X86ISD::VTRUNC 0x55e187510b50
try.c: 0x55e187510b50: v16i32 = vselect 0x55e18750b650, 0x55e1874927a0, 0x55e187510a20
try.c: 0x55e18750b650: v4i1 = X86ISD::PCMPGTM 0x55e1874f7ec0, 0x55e1874f3a50
try.c: 0x55e1874f7ec0: v4i64 = X86ISD::VBROADCAST 0x55e187492c60
try.c: 0x55e187492c60: i64,ch = load<LD8[%lsr.iv6971]> 0x55e1873f1a30, 0x55e187498630, undef:i64
try.c: 0x55e187498630: i64,ch = CopyFromReg 0x55e1873f1a30, Register:i64 %vreg50
try.c: 0x55e1874f3cb0: i64 = Register %vreg50
try.c: 0x55e18746f250: i64 = undef
try.c: 0x55e1874f3a50: v4i64,ch = CopyFromReg 0x55e1873f1a30, Register:v4i64 %vreg13
try.c: 0x55e1874f8710: v4i64 = Register %vreg13
try.c: 0x55e1874927a0: v16i32 = X86ISD::VBROADCAST 0x55e1874f8120
try.c: 0x55e1874f8120: i32,ch = load<LD4[ConstantPool]> 0x55e1873f1a30, 0x55e187495140, undef:i64
try.c: 0x55e187495140: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e18746fbd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e18746f250: i64 = undef
try.c: 0x55e187510a20: 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: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: i32 = Constant<0>
try.c: 0x55e1875108f0: 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:opt64

Compiler output

Implementation: T:opt64
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: 0x5563f2424ed0: v4i64 = X86ISD::VTRUNC 0x5563f2424da0
try.c: 0x5563f2424da0: v16i32 = vselect 0x5563f2412b80, 0x5563f23b0580, 0x5563f2424c70
try.c: 0x5563f2412b80: v4i1 = X86ISD::PCMPGTM 0x5563f240b710, 0x5563f24072a0
try.c: 0x5563f240b710: v4i64 = X86ISD::VBROADCAST 0x5563f23c6ef0
try.c: 0x5563f23c6ef0: i64,ch = load<LD8[%lsr.iv6971]> 0x5563f231c940, 0x5563f23f6a20, undef:i64
try.c: 0x5563f23f6a20: i64,ch = CopyFromReg 0x5563f231c940, Register:i64 %vreg50
try.c: 0x5563f2407500: i64 = Register %vreg50
try.c: 0x5563f23aebf0: i64 = undef
try.c: 0x5563f24072a0: v4i64,ch = CopyFromReg 0x5563f231c940, Register:v4i64 %vreg13
try.c: 0x5563f240bf60: v4i64 = Register %vreg13
try.c: 0x5563f23b0580: v16i32 = X86ISD::VBROADCAST 0x5563f240b970
try.c: 0x5563f240b970: i32,ch = load<LD4[ConstantPool]> 0x5563f231c940, 0x5563f23c64d0, undef:i64
try.c: 0x5563f23c64d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5563f23d1f30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5563f23aebf0: i64 = undef
try.c: 0x5563f2424c70: 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: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: i32 = Constant<0>
try.c: 0x5563f2424b40: 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:opt64

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: 0x5625bcabc100: v4i64 = X86ISD::VTRUNC 0x5625bcabbfd0
try.c: 0x5625bcabbfd0: v16i32 = vselect 0x5625bcad4e00, 0x5625bca65800, 0x5625bcabbea0
try.c: 0x5625bcad4e00: v4i1 = X86ISD::PCMPGTM 0x5625bcab8af0, 0x5625bcab4680
try.c: 0x5625bcab8af0: v4i64 = X86ISD::VBROADCAST 0x5625bca5cc00
try.c: 0x5625bca5cc00: i64,ch = load<LD8[%lsr.iv6971]> 0x5625bc9c9950, 0x5625bcaaf4e0, undef:i64
try.c: 0x5625bcaaf4e0: i64,ch = CopyFromReg 0x5625bc9c9950, Register:i64 %vreg50
try.c: 0x5625bcab48e0: i64 = Register %vreg50
try.c: 0x5625bca63e70: i64 = undef
try.c: 0x5625bcab4680: v4i64,ch = CopyFromReg 0x5625bc9c9950, Register:v4i64 %vreg13
try.c: 0x5625bcab9340: v4i64 = Register %vreg13
try.c: 0x5625bca65800: v16i32 = X86ISD::VBROADCAST 0x5625bcab8d50
try.c: 0x5625bcab8d50: i32,ch = load<LD4[ConstantPool]> 0x5625bc9c9950, 0x5625bca5c1e0, undef:i64
try.c: 0x5625bca5c1e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5625bca624d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5625bca63e70: i64 = undef
try.c: 0x5625bcabbea0: 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: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: i32 = Constant<0>
try.c: 0x5625bcabbd70: 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: 0x56529cc9f6f0: v4i64 = X86ISD::VTRUNC 0x56529cc9f5c0
try.c: 0x56529cc9f5c0: v16i32 = vselect 0x56529cc85350, 0x56529cc1d040, 0x56529cc9f490
try.c: 0x56529cc85350: v4i1 = X86ISD::PCMPGTM 0x56529cc79ea0, 0x56529cc76030
try.c: 0x56529cc79ea0: v4i64 = X86ISD::VBROADCAST 0x56529cc1d500
try.c: 0x56529cc1d500: i64,ch = load<LD8[%lsr.iv6971]> 0x56529cb73a30, 0x56529cc140f0, undef:i64
try.c: 0x56529cc140f0: i64,ch = CopyFromReg 0x56529cb73a30, Register:i64 %vreg50
try.c: 0x56529cc76290: i64 = Register %vreg50
try.c: 0x56529cc0d1d0: i64 = undef
try.c: 0x56529cc76030: v4i64,ch = CopyFromReg 0x56529cb73a30, Register:v4i64 %vreg13
try.c: 0x56529cc7a6f0: v4i64 = Register %vreg13
try.c: 0x56529cc1d040: v16i32 = X86ISD::VBROADCAST 0x56529cc7a100
try.c: 0x56529cc7a100: i32,ch = load<LD4[ConstantPool]> 0x56529cb73a30, 0x56529cc28e70, undef:i64
try.c: 0x56529cc28e70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56529cc0db50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56529cc0d1d0: i64 = undef
try.c: 0x56529cc9f490: 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: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: i32 = Constant<0>
try.c: 0x56529cc9f360: 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: 0x5621a0902b10: v4i64 = X86ISD::VTRUNC 0x5621a09029e0
try.c: 0x5621a09029e0: v16i32 = vselect 0x5621a090a9b0, 0x5621a08a2c50, 0x5621a09028b0
try.c: 0x5621a090a9b0: v4i1 = X86ISD::PCMPGTM 0x5621a08faa50, 0x5621a08f65e0
try.c: 0x5621a08faa50: v4i64 = X86ISD::VBROADCAST 0x5621a08c82f0
try.c: 0x5621a08c82f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5621a080b950, 0x5621a08e61d0, undef:i64
try.c: 0x5621a08e61d0: i64,ch = CopyFromReg 0x5621a080b950, Register:i64 %vreg50
try.c: 0x5621a08f6840: i64 = Register %vreg50
try.c: 0x5621a08a12c0: i64 = undef
try.c: 0x5621a08f65e0: v4i64,ch = CopyFromReg 0x5621a080b950, Register:v4i64 %vreg13
try.c: 0x5621a08fb2a0: v4i64 = Register %vreg13
try.c: 0x5621a08a2c50: v16i32 = X86ISD::VBROADCAST 0x5621a08facb0
try.c: 0x5621a08facb0: i32,ch = load<LD4[ConstantPool]> 0x5621a080b950, 0x5621a08c78d0, undef:i64
try.c: 0x5621a08c78d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5621a08e0410: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5621a08a12c0: i64 = undef
try.c: 0x5621a09028b0: 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: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: i32 = Constant<0>
try.c: 0x5621a0902780: 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