Implementation notes: amd64, cel02, crypto_aead/ascon128v1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: ascon128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7207614650 0 028972 816 896T:opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7669417219 0 030100 792 856T:opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8505420711 0 035402 800 856T:opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9094014640 0 032261 824 960T:opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9642014285 0 027192 800 896T:opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10751015740 0 029820 816 896T:opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2137326626 0 024333 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2599823914 0 018682 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2731102527 0 016676 816 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2991722318 0 015260 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3419142836 0 017228 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3945322365 0 015328 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: 0x561b6cece980: v4i64 = X86ISD::VTRUNC 0x561b6cece850
try.c: 0x561b6cece850: v16i32 = vselect 0x561b6cec64c0, 0x561b6ce59e20, 0x561b6cece720
try.c: 0x561b6cec64c0: v4i1 = X86ISD::PCMPGTM 0x561b6cead140, 0x561b6cea8cd0
try.c: 0x561b6cead140: v4i64 = X86ISD::VBROADCAST 0x561b6ce54460
try.c: 0x561b6ce54460: i64,ch = load<LD8[%lsr.iv6971]> 0x561b6cdbd950, 0x561b6ce9f830, undef:i64
try.c: 0x561b6ce9f830: i64,ch = CopyFromReg 0x561b6cdbd950, Register:i64 %vreg50
try.c: 0x561b6cea8f30: i64 = Register %vreg50
try.c: 0x561b6ce58490: i64 = undef
try.c: 0x561b6cea8cd0: v4i64,ch = CopyFromReg 0x561b6cdbd950, Register:v4i64 %vreg13
try.c: 0x561b6cead990: v4i64 = Register %vreg13
try.c: 0x561b6ce59e20: v16i32 = X86ISD::VBROADCAST 0x561b6cead3a0
try.c: 0x561b6cead3a0: i32,ch = load<LD4[ConstantPool]> 0x561b6cdbd950, 0x561b6ce53a40, undef:i64
try.c: 0x561b6ce53a40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561b6ce56820: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561b6ce58490: i64 = undef
try.c: 0x561b6cece720: 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: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: i32 = Constant<0>
try.c: 0x561b6cece5f0: 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: 0x55a564be7cd0: v4i64 = X86ISD::VTRUNC 0x55a564be7ba0
try.c: 0x55a564be7ba0: v16i32 = vselect 0x55a564bee2d0, 0x55a564b82470, 0x55a564be7a70
try.c: 0x55a564bee2d0: v4i1 = X86ISD::PCMPGTM 0x55a564be26a0, 0x55a564bdda70
try.c: 0x55a564be26a0: v4i64 = X86ISD::VBROADCAST 0x55a564b82930
try.c: 0x55a564b82930: i64,ch = load<LD8[%lsr.iv6971]> 0x55a564adba30, 0x55a564b7ed00, undef:i64
try.c: 0x55a564b7ed00: i64,ch = CopyFromReg 0x55a564adba30, Register:i64 %vreg50
try.c: 0x55a564bddcd0: i64 = Register %vreg50
try.c: 0x55a564b597f0: i64 = undef
try.c: 0x55a564bdda70: v4i64,ch = CopyFromReg 0x55a564adba30, Register:v4i64 %vreg13
try.c: 0x55a564be2ef0: v4i64 = Register %vreg13
try.c: 0x55a564b82470: v16i32 = X86ISD::VBROADCAST 0x55a564be2900
try.c: 0x55a564be2900: i32,ch = load<LD4[ConstantPool]> 0x55a564adba30, 0x55a564b7d2d0, undef:i64
try.c: 0x55a564b7d2d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a564b5a170: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a564b597f0: i64 = undef
try.c: 0x55a564be7a70: 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: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: i32 = Constant<0>
try.c: 0x55a564be7940: 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: 0x5568ff14c460: v4i64 = X86ISD::VTRUNC 0x5568ff14c330
try.c: 0x5568ff14c330: v16i32 = vselect 0x5568ff134590, 0x5568ff0e9450, 0x5568ff14c200
try.c: 0x5568ff134590: v4i1 = X86ISD::PCMPGTM 0x5568ff12c920, 0x5568ff1284b0
try.c: 0x5568ff12c920: v4i64 = X86ISD::VBROADCAST 0x5568ff0e65f0
try.c: 0x5568ff0e65f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5568ff03d950, 0x5568ff117bd0, undef:i64
try.c: 0x5568ff117bd0: i64,ch = CopyFromReg 0x5568ff03d950, Register:i64 %vreg50
try.c: 0x5568ff128710: i64 = Register %vreg50
try.c: 0x5568ff0e7ac0: i64 = undef
try.c: 0x5568ff1284b0: v4i64,ch = CopyFromReg 0x5568ff03d950, Register:v4i64 %vreg13
try.c: 0x5568ff12d170: v4i64 = Register %vreg13
try.c: 0x5568ff0e9450: v16i32 = X86ISD::VBROADCAST 0x5568ff12cb80
try.c: 0x5568ff12cb80: i32,ch = load<LD4[ConstantPool]> 0x5568ff03d950, 0x5568ff0d1ea0, undef:i64
try.c: 0x5568ff0d1ea0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5568ff0d3210: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5568ff0e7ac0: i64 = undef
try.c: 0x5568ff14c200: 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: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: i32 = Constant<0>
try.c: 0x5568ff14c0d0: 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: 0x5588cd7b3190: v4i64 = X86ISD::VTRUNC 0x5588cd7b3060
try.c: 0x5588cd7b3060: v16i32 = vselect 0x5588cd79c1f0, 0x5588cd73afb0, 0x5588cd7b2f30
try.c: 0x5588cd79c1f0: v4i1 = X86ISD::PCMPGTM 0x5588cd7999d0, 0x5588cd795560
try.c: 0x5588cd7999d0: v4i64 = X86ISD::VBROADCAST 0x5588cd741b30
try.c: 0x5588cd741b30: i64,ch = load<LD8[%lsr.iv6971]> 0x5588cd6aa950, 0x5588cd7903c0, undef:i64
try.c: 0x5588cd7903c0: i64,ch = CopyFromReg 0x5588cd6aa950, Register:i64 %vreg50
try.c: 0x5588cd7957c0: i64 = Register %vreg50
try.c: 0x5588cd739620: i64 = undef
try.c: 0x5588cd795560: v4i64,ch = CopyFromReg 0x5588cd6aa950, Register:v4i64 %vreg13
try.c: 0x5588cd79a220: v4i64 = Register %vreg13
try.c: 0x5588cd73afb0: v16i32 = X86ISD::VBROADCAST 0x5588cd799c30
try.c: 0x5588cd799c30: i32,ch = load<LD4[ConstantPool]> 0x5588cd6aa950, 0x5588cd741110, undef:i64
try.c: 0x5588cd741110: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5588cd735560: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5588cd739620: i64 = undef
try.c: 0x5588cd7b2f30: 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: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: i32 = Constant<0>
try.c: 0x5588cd7b2e00: 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: 0x558ac310c700: v4i64 = X86ISD::VTRUNC 0x558ac310c5d0
try.c: 0x558ac310c5d0: v16i32 = vselect 0x558ac30fbc10, 0x558ac308e0e0, 0x558ac310c4a0
try.c: 0x558ac30fbc10: v4i1 = X86ISD::PCMPGTM 0x558ac30f39a0, 0x558ac30ef530
try.c: 0x558ac30f39a0: v4i64 = X86ISD::VBROADCAST 0x558ac308e5a0
try.c: 0x558ac308e5a0: i64,ch = load<LD8[%lsr.iv6971]> 0x558ac2feda30, 0x558ac3087720, undef:i64
try.c: 0x558ac3087720: i64,ch = CopyFromReg 0x558ac2feda30, Register:i64 %vreg50
try.c: 0x558ac30ef790: i64 = Register %vreg50
try.c: 0x558ac308c120: i64 = undef
try.c: 0x558ac30ef530: v4i64,ch = CopyFromReg 0x558ac2feda30, Register:v4i64 %vreg13
try.c: 0x558ac30f41f0: v4i64 = Register %vreg13
try.c: 0x558ac308e0e0: v16i32 = X86ISD::VBROADCAST 0x558ac30f3c00
try.c: 0x558ac30f3c00: i32,ch = load<LD4[ConstantPool]> 0x558ac2feda30, 0x558ac3090a80, undef:i64
try.c: 0x558ac3090a80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558ac308caa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558ac308c120: i64 = undef
try.c: 0x558ac310c4a0: 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: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: i32 = Constant<0>
try.c: 0x558ac310c370: 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: 0x561f3bc44e80: v4i64 = X86ISD::VTRUNC 0x561f3bc44d50
try.c: 0x561f3bc44d50: v16i32 = vselect 0x561f3bc38440, 0x561f3bbf7710, 0x561f3bc44c20
try.c: 0x561f3bc38440: v4i1 = X86ISD::PCMPGTM 0x561f3bc3f850, 0x561f3bc3b3e0
try.c: 0x561f3bc3f850: v4i64 = X86ISD::VBROADCAST 0x561f3bc0ccb0
try.c: 0x561f3bc0ccb0: i64,ch = load<LD8[%lsr.iv6971]> 0x561f3bb50950, 0x561f3bc33070, undef:i64
try.c: 0x561f3bc33070: i64,ch = CopyFromReg 0x561f3bb50950, Register:i64 %vreg50
try.c: 0x561f3bc3b640: i64 = Register %vreg50
try.c: 0x561f3bbf5d80: i64 = undef
try.c: 0x561f3bc3b3e0: v4i64,ch = CopyFromReg 0x561f3bb50950, Register:v4i64 %vreg13
try.c: 0x561f3bc400a0: v4i64 = Register %vreg13
try.c: 0x561f3bbf7710: v16i32 = X86ISD::VBROADCAST 0x561f3bc3fab0
try.c: 0x561f3bc3fab0: i32,ch = load<LD4[ConstantPool]> 0x561f3bb50950, 0x561f3bc0c290, undef:i64
try.c: 0x561f3bc0c290: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561f3bc24c30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561f3bbf5d80: i64 = undef
try.c: 0x561f3bc44c20: 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: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: i32 = Constant<0>
try.c: 0x561f3bc44af0: 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