Implementation notes: amd64, cel02, crypto_aead/joltikneq6464v1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: joltikneq6464v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9400233571 1760 051197 2592 960T:vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9419630225 1760 044413 2592 896T:vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11975633523 1760 047965 2592 896T:vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12332432528 1760 045452 2560 856T:vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
13894031170 1760 044072 2568 896T:vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
500953817313 0 034973 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
555963218335 0 033114 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
944225412991 0 027477 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1193812413250 0 026188 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1198345611533 0 024504 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1198979011972 0 026221 824 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: 0x55ad8873d2c0: v4i64 = X86ISD::VTRUNC 0x55ad8873d190
try.c: 0x55ad8873d190: v16i32 = vselect 0x55ad88744930, 0x55ad886c5840, 0x55ad8873d060
try.c: 0x55ad88744930: v4i1 = X86ISD::PCMPGTM 0x55ad88725960, 0x55ad887214f0
try.c: 0x55ad88725960: v4i64 = X86ISD::VBROADCAST 0x55ad886cc7e0
try.c: 0x55ad886cc7e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ad88636950, 0x55ad887184b0, undef:i64
try.c: 0x55ad887184b0: i64,ch = CopyFromReg 0x55ad88636950, Register:i64 %vreg50
try.c: 0x55ad88721750: i64 = Register %vreg50
try.c: 0x55ad886cdcb0: i64 = undef
try.c: 0x55ad887214f0: v4i64,ch = CopyFromReg 0x55ad88636950, Register:v4i64 %vreg13
try.c: 0x55ad887261b0: v4i64 = Register %vreg13
try.c: 0x55ad886c5840: v16i32 = X86ISD::VBROADCAST 0x55ad88725bc0
try.c: 0x55ad88725bc0: i32,ch = load<LD4[ConstantPool]> 0x55ad88636950, 0x55ad886cbdc0, undef:i64
try.c: 0x55ad886cbdc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ad88705da0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ad886cdcb0: i64 = undef
try.c: 0x55ad8873d060: 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: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: i32 = Constant<0>
try.c: 0x55ad8873cf30: 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: 0x562402699580: v4i64 = X86ISD::VTRUNC 0x562402699450
try.c: 0x562402699450: v16i32 = vselect 0x5624026ae300, 0x56240263e630, 0x562402699320
try.c: 0x5624026ae300: v4i1 = X86ISD::PCMPGTM 0x56240268e0d0, 0x56240268a660
try.c: 0x56240268e0d0: v4i64 = X86ISD::VBROADCAST 0x56240263eaf0
try.c: 0x56240263eaf0: i64,ch = load<LD8[%lsr.iv6971]> 0x562402588a20, 0x562402625260, undef:i64
try.c: 0x562402625260: i64,ch = CopyFromReg 0x562402588a20, Register:i64 %vreg50
try.c: 0x56240268a8c0: i64 = Register %vreg50
try.c: 0x5624026296f0: i64 = undef
try.c: 0x56240268a660: v4i64,ch = CopyFromReg 0x562402588a20, Register:v4i64 %vreg13
try.c: 0x56240268e920: v4i64 = Register %vreg13
try.c: 0x56240263e630: v16i32 = X86ISD::VBROADCAST 0x56240268e330
try.c: 0x56240268e330: i32,ch = load<LD4[ConstantPool]> 0x562402588a20, 0x562402623830, undef:i64
try.c: 0x562402623830: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56240262a070: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5624026296f0: i64 = undef
try.c: 0x562402699320: 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: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: i32 = Constant<0>
try.c: 0x5624026991f0: 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: 0x55ecfe27a730: v4i64 = X86ISD::VTRUNC 0x55ecfe27a600
try.c: 0x55ecfe27a600: v16i32 = vselect 0x55ecfe266940, 0x55ecfe1f9b20, 0x55ecfe27a4d0
try.c: 0x55ecfe266940: v4i1 = X86ISD::PCMPGTM 0x55ecfe25b060, 0x55ecfe256bf0
try.c: 0x55ecfe25b060: v4i64 = X86ISD::VBROADCAST 0x55ecfe219300
try.c: 0x55ecfe219300: i64,ch = load<LD8[%lsr.iv6971]> 0x55ecfe16b9d0, 0x55ecfe24d540, undef:i64
try.c: 0x55ecfe24d540: i64,ch = CopyFromReg 0x55ecfe16b9d0, Register:i64 %vreg50
try.c: 0x55ecfe256e50: i64 = Register %vreg50
try.c: 0x55ecfe21a7d0: i64 = undef
try.c: 0x55ecfe256bf0: v4i64,ch = CopyFromReg 0x55ecfe16b9d0, Register:v4i64 %vreg13
try.c: 0x55ecfe25b8b0: v4i64 = Register %vreg13
try.c: 0x55ecfe1f9b20: v16i32 = X86ISD::VBROADCAST 0x55ecfe25b2c0
try.c: 0x55ecfe25b2c0: i32,ch = load<LD4[ConstantPool]> 0x55ecfe16b9d0, 0x55ecfe2188e0, undef:i64
try.c: 0x55ecfe2188e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ecfe1f7410: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ecfe21a7d0: i64 = undef
try.c: 0x55ecfe27a4d0: 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: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: i32 = Constant<0>
try.c: 0x55ecfe27a3a0: 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:vperm
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: 0x562463f31160: v4i64 = X86ISD::VTRUNC 0x562463f31030
try.c: 0x562463f31030: v16i32 = vselect 0x562463f442a0, 0x562463ee0cd0, 0x562463f30f00
try.c: 0x562463f442a0: v4i1 = X86ISD::PCMPGTM 0x562463f2a710, 0x562463f262a0
try.c: 0x562463f2a710: v4i64 = X86ISD::VBROADCAST 0x562463ecd540
try.c: 0x562463ecd540: i64,ch = load<LD8[%lsr.iv6971]> 0x562463e3b950, 0x562463f0fb90, undef:i64
try.c: 0x562463f0fb90: i64,ch = CopyFromReg 0x562463e3b950, Register:i64 %vreg50
try.c: 0x562463f26500: i64 = Register %vreg50
try.c: 0x562463ecea10: i64 = undef
try.c: 0x562463f262a0: v4i64,ch = CopyFromReg 0x562463e3b950, Register:v4i64 %vreg13
try.c: 0x562463f2af60: v4i64 = Register %vreg13
try.c: 0x562463ee0cd0: v16i32 = X86ISD::VBROADCAST 0x562463f2a970
try.c: 0x562463f2a970: i32,ch = load<LD4[ConstantPool]> 0x562463e3b950, 0x562463ec7120, undef:i64
try.c: 0x562463ec7120: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562463ecac20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562463ecea10: i64 = undef
try.c: 0x562463f30f00: 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: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: i32 = Constant<0>
try.c: 0x562463f30dd0: 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:vperm

Compiler output

Implementation: T:vperm
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: 0x55ed3feb76f0: v4i64 = X86ISD::VTRUNC 0x55ed3feb75c0
try.c: 0x55ed3feb75c0: v16i32 = vselect 0x55ed3fea6d40, 0x55ed3fe39e90, 0x55ed3feb7490
try.c: 0x55ed3fea6d40: v4i1 = X86ISD::PCMPGTM 0x55ed3fe9e990, 0x55ed3fe9a520
try.c: 0x55ed3fe9e990: v4i64 = X86ISD::VBROADCAST 0x55ed3fe3a350
try.c: 0x55ed3fe3a350: i64,ch = load<LD8[%lsr.iv6971]> 0x55ed3fd98a00, 0x55ed3fe5df70, undef:i64
try.c: 0x55ed3fe5df70: i64,ch = CopyFromReg 0x55ed3fd98a00, Register:i64 %vreg50
try.c: 0x55ed3fe9a780: i64 = Register %vreg50
try.c: 0x55ed3fe322e0: i64 = undef
try.c: 0x55ed3fe9a520: v4i64,ch = CopyFromReg 0x55ed3fd98a00, Register:v4i64 %vreg13
try.c: 0x55ed3fe9f1e0: v4i64 = Register %vreg13
try.c: 0x55ed3fe39e90: v16i32 = X86ISD::VBROADCAST 0x55ed3fe9ebf0
try.c: 0x55ed3fe9ebf0: i32,ch = load<LD4[ConstantPool]> 0x55ed3fd98a00, 0x55ed3fe5c540, undef:i64
try.c: 0x55ed3fe5c540: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ed3fe32c60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ed3fe322e0: i64 = undef
try.c: 0x55ed3feb7490: 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: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: i32 = Constant<0>
try.c: 0x55ed3feb7360: 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:vperm

Compiler output

Implementation: T:vperm
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: 0x5611fe744300: v4i64 = X86ISD::VTRUNC 0x5611fe7441d0
try.c: 0x5611fe7441d0: v16i32 = vselect 0x5611fe740ce0, 0x5611fe6e3d90, 0x5611fe7440a0
try.c: 0x5611fe740ce0: v4i1 = X86ISD::PCMPGTM 0x5611fe729970, 0x5611fe725500
try.c: 0x5611fe729970: v4i64 = X86ISD::VBROADCAST 0x5611fe6d02d0
try.c: 0x5611fe6d02d0: i64,ch = load<LD8[%lsr.iv6971]> 0x5611fe63a940, 0x5611fe717650, undef:i64
try.c: 0x5611fe717650: i64,ch = CopyFromReg 0x5611fe63a940, Register:i64 %vreg50
try.c: 0x5611fe725760: i64 = Register %vreg50
try.c: 0x5611fe6d17a0: i64 = undef
try.c: 0x5611fe725500: v4i64,ch = CopyFromReg 0x5611fe63a940, Register:v4i64 %vreg13
try.c: 0x5611fe72a1c0: v4i64 = Register %vreg13
try.c: 0x5611fe6e3d90: v16i32 = X86ISD::VBROADCAST 0x5611fe729bd0
try.c: 0x5611fe729bd0: i32,ch = load<LD4[ConstantPool]> 0x5611fe63a940, 0x5611fe6f0840, undef:i64
try.c: 0x5611fe6f0840: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5611fe6c9680: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5611fe6d17a0: i64 = undef
try.c: 0x5611fe7440a0: 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: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: i32 = Constant<0>
try.c: 0x5611fe743f70: 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:vperm

Compiler output

Implementation: T:vperm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
joltik.c: joltik.c:29:3: error: "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^
joltik.c: 1 error generated.

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