Implementation notes: amd64, cel02, crypto_aead/ascon80pqv12

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: ascon80pqv12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7454018655 0 033370 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7478417463 0 031532 816 896T:opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8071415898 0 029964 816 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9011616951 0 029764 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9730214947 0 029252 816 896T:opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9827815547 0 033149 824 960T:opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9962019500 0 037141 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9980214637 0 027512 800 896T:opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11938417180 0 030036 792 856T:opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
14975615909 0 030220 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16717421349 0 036042 800 856T:opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1763122839 0 015832 800 896T:refgcc_-march=native_-mtune=native_-Os_-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: 0x55bc1c3c0470: v4i64 = X86ISD::VTRUNC 0x55bc1c3c0340
try.c: 0x55bc1c3c0340: v16i32 = vselect 0x55bc1c3b14a0, 0x55bc1c34e010, 0x55bc1c3c0210
try.c: 0x55bc1c3b14a0: v4i1 = X86ISD::PCMPGTM 0x55bc1c3a5af0, 0x55bc1c3a1680
try.c: 0x55bc1c3a5af0: v4i64 = X86ISD::VBROADCAST 0x55bc1c349fd0
try.c: 0x55bc1c349fd0: i64,ch = load<LD8[%lsr.iv6971]> 0x55bc1c2b6940, 0x55bc1c38faf0, undef:i64
try.c: 0x55bc1c38faf0: i64,ch = CopyFromReg 0x55bc1c2b6940, Register:i64 %vreg50
try.c: 0x55bc1c3a18e0: i64 = Register %vreg50
try.c: 0x55bc1c34c680: i64 = undef
try.c: 0x55bc1c3a1680: v4i64,ch = CopyFromReg 0x55bc1c2b6940, Register:v4i64 %vreg13
try.c: 0x55bc1c3a6340: v4i64 = Register %vreg13
try.c: 0x55bc1c34e010: v16i32 = X86ISD::VBROADCAST 0x55bc1c3a5d50
try.c: 0x55bc1c3a5d50: i32,ch = load<LD4[ConstantPool]> 0x55bc1c2b6940, 0x55bc1c3495b0, undef:i64
try.c: 0x55bc1c3495b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bc1c390cf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bc1c34c680: i64 = undef
try.c: 0x55bc1c3c0210: 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: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: i32 = Constant<0>
try.c: 0x55bc1c3c00e0: 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: 0x56377835dea0: v4i64 = X86ISD::VTRUNC 0x56377835dd70
try.c: 0x56377835dd70: v16i32 = vselect 0x5637783496c0, 0x5637782df4b0, 0x56377835dc40
try.c: 0x5637783496c0: v4i1 = X86ISD::PCMPGTM 0x5637783426a0, 0x56377833e470
try.c: 0x5637783426a0: v4i64 = X86ISD::VBROADCAST 0x5637782df970
try.c: 0x5637782df970: i64,ch = load<LD8[%lsr.iv6971]> 0x56377823ca30, 0x5637782ef3e0, undef:i64
try.c: 0x5637782ef3e0: i64,ch = CopyFromReg 0x56377823ca30, Register:i64 %vreg50
try.c: 0x56377833e6d0: i64 = Register %vreg50
try.c: 0x5637782dbd20: i64 = undef
try.c: 0x56377833e470: v4i64,ch = CopyFromReg 0x56377823ca30, Register:v4i64 %vreg13
try.c: 0x563778342ef0: v4i64 = Register %vreg13
try.c: 0x5637782df4b0: v16i32 = X86ISD::VBROADCAST 0x563778342900
try.c: 0x563778342900: i32,ch = load<LD4[ConstantPool]> 0x56377823ca30, 0x5637782ed1a0, undef:i64
try.c: 0x5637782ed1a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5637782dc6a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5637782dbd20: i64 = undef
try.c: 0x56377835dc40: 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: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: i32 = Constant<0>
try.c: 0x56377835db10: 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: 0x55a115dd5570: v4i64 = X86ISD::VTRUNC 0x55a115dd5440
try.c: 0x55a115dd5440: v16i32 = vselect 0x55a115dcff40, 0x55a115d6dc20, 0x55a115dd5310
try.c: 0x55a115dcff40: v4i1 = X86ISD::PCMPGTM 0x55a115dcef30, 0x55a115dcaac0
try.c: 0x55a115dcef30: v4i64 = X86ISD::VBROADCAST 0x55a115d74c90
try.c: 0x55a115d74c90: i64,ch = load<LD8[%lsr.iv6971]> 0x55a115cdf950, 0x55a115dc12b0, undef:i64
try.c: 0x55a115dc12b0: i64,ch = CopyFromReg 0x55a115cdf950, Register:i64 %vreg50
try.c: 0x55a115dcad20: i64 = Register %vreg50
try.c: 0x55a115d76160: i64 = undef
try.c: 0x55a115dcaac0: v4i64,ch = CopyFromReg 0x55a115cdf950, Register:v4i64 %vreg13
try.c: 0x55a115dcf780: v4i64 = Register %vreg13
try.c: 0x55a115d6dc20: v16i32 = X86ISD::VBROADCAST 0x55a115dcf190
try.c: 0x55a115dcf190: i32,ch = load<LD4[ConstantPool]> 0x55a115cdf950, 0x55a115d73090, undef:i64
try.c: 0x55a115d73090: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a115d83a80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a115d76160: i64 = undef
try.c: 0x55a115dd5310: 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: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: i32 = Constant<0>
try.c: 0x55a115dd51e0: 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: 0x56107eea0380: v4i64 = X86ISD::VTRUNC 0x56107eea0250
try.c: 0x56107eea0250: v16i32 = vselect 0x56107ee9cd60, 0x56107ee441e0, 0x56107eea0120
try.c: 0x56107ee9cd60: v4i1 = X86ISD::PCMPGTM 0x56107ee98170, 0x56107ee93d00
try.c: 0x56107ee98170: v4i64 = X86ISD::VBROADCAST 0x56107ee51670
try.c: 0x56107ee51670: i64,ch = load<LD8[%lsr.iv6971]> 0x56107eda8950, 0x56107ee8a7b0, undef:i64
try.c: 0x56107ee8a7b0: i64,ch = CopyFromReg 0x56107eda8950, Register:i64 %vreg50
try.c: 0x56107ee93f60: i64 = Register %vreg50
try.c: 0x56107ee42850: i64 = undef
try.c: 0x56107ee93d00: v4i64,ch = CopyFromReg 0x56107eda8950, Register:v4i64 %vreg13
try.c: 0x56107ee989c0: v4i64 = Register %vreg13
try.c: 0x56107ee441e0: v16i32 = X86ISD::VBROADCAST 0x56107ee983d0
try.c: 0x56107ee983d0: i32,ch = load<LD4[ConstantPool]> 0x56107eda8950, 0x56107ee50c50, undef:i64
try.c: 0x56107ee50c50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56107ee08b20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56107ee42850: i64 = undef
try.c: 0x56107eea0120: 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: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: i32 = Constant<0>
try.c: 0x56107ee9fff0: 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: 0x5640b0808f80: v4i64 = X86ISD::VTRUNC 0x5640b0808e50
try.c: 0x5640b0808e50: v16i32 = vselect 0x5640b0805960, 0x5640b0799a60, 0x5640b0808d20
try.c: 0x5640b0805960: v4i1 = X86ISD::PCMPGTM 0x5640b07ef7c0, 0x5640b07ec1a0
try.c: 0x5640b07ef7c0: v4i64 = X86ISD::VBROADCAST 0x5640b0799f20
try.c: 0x5640b0799f20: i64,ch = load<LD8[%lsr.iv6971]> 0x5640b06e9a30, 0x5640b078a440, undef:i64
try.c: 0x5640b078a440: i64,ch = CopyFromReg 0x5640b06e9a30, Register:i64 %vreg50
try.c: 0x5640b07ec400: i64 = Register %vreg50
try.c: 0x5640b078e8d0: i64 = undef
try.c: 0x5640b07ec1a0: v4i64,ch = CopyFromReg 0x5640b06e9a30, Register:v4i64 %vreg13
try.c: 0x5640b07f0010: v4i64 = Register %vreg13
try.c: 0x5640b0799a60: v16i32 = X86ISD::VBROADCAST 0x5640b07efa20
try.c: 0x5640b07efa20: i32,ch = load<LD4[ConstantPool]> 0x5640b06e9a30, 0x5640b0784740, undef:i64
try.c: 0x5640b0784740: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5640b078f250: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5640b078e8d0: i64 = undef
try.c: 0x5640b0808d20: 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: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: i32 = Constant<0>
try.c: 0x5640b0808bf0: 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: 0x55a95e23a2b0: v4i64 = X86ISD::VTRUNC 0x55a95e23a180
try.c: 0x55a95e23a180: v16i32 = vselect 0x55a95e226180, 0x55a95e1daf90, 0x55a95e23a050
try.c: 0x55a95e226180: v4i1 = X86ISD::PCMPGTM 0x55a95e21e920, 0x55a95e21a4b0
try.c: 0x55a95e21e920: v4i64 = X86ISD::VBROADCAST 0x55a95e1bfc40
try.c: 0x55a95e1bfc40: i64,ch = load<LD8[%lsr.iv6971]> 0x55a95e12f950, 0x55a95e208750, undef:i64
try.c: 0x55a95e208750: i64,ch = CopyFromReg 0x55a95e12f950, Register:i64 %vreg50
try.c: 0x55a95e21a710: i64 = Register %vreg50
try.c: 0x55a95e1d9600: i64 = undef
try.c: 0x55a95e21a4b0: v4i64,ch = CopyFromReg 0x55a95e12f950, Register:v4i64 %vreg13
try.c: 0x55a95e21f170: v4i64 = Register %vreg13
try.c: 0x55a95e1daf90: v16i32 = X86ISD::VBROADCAST 0x55a95e21eb80
try.c: 0x55a95e21eb80: i32,ch = load<LD4[ConstantPool]> 0x55a95e12f950, 0x55a95e1bf220, undef:i64
try.c: 0x55a95e1bf220: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a95e1c6180: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a95e1d9600: i64 = undef
try.c: 0x55a95e23a050: 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: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: i32 = Constant<0>
try.c: 0x55a95e239f20: 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