Implementation notes: amd64, cel02, crypto_aead/joltikneq12864v1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: joltikneq12864v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12244240238 1856 054429 2688 896T:vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12254642650 1856 055580 2656 856T:vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
12281441193 1856 054104 2664 896T:vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14806443619 1856 061245 2688 960T:vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16731443539 1856 057981 2688 896T:vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
755691817329 0 034989 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1194684218335 0 033114 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1952817213262 0 026220 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2013989013039 0 027525 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2479025812011 0 026269 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3163135411539 0 024520 800 896T:refgcc_-march=native_-mtune=native_-Os_-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: 0x5599cd2ac470: v4i64 = X86ISD::VTRUNC 0x5599cd2ac340
try.c: 0x5599cd2ac340: v16i32 = vselect 0x5599cd294b20, 0x5599cd236f50, 0x5599cd2ac210
try.c: 0x5599cd294b20: v4i1 = X86ISD::PCMPGTM 0x5599cd291af0, 0x5599cd28d680
try.c: 0x5599cd291af0: v4i64 = X86ISD::VBROADCAST 0x5599cd2340f0
try.c: 0x5599cd2340f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5599cd1a2920, 0x5599cd27b950, undef:i64
try.c: 0x5599cd27b950: i64,ch = CopyFromReg 0x5599cd1a2920, Register:i64 %vreg50
try.c: 0x5599cd28d8e0: i64 = Register %vreg50
try.c: 0x5599cd2355c0: i64 = undef
try.c: 0x5599cd28d680: v4i64,ch = CopyFromReg 0x5599cd1a2920, Register:v4i64 %vreg13
try.c: 0x5599cd292340: v4i64 = Register %vreg13
try.c: 0x5599cd236f50: v16i32 = X86ISD::VBROADCAST 0x5599cd291d50
try.c: 0x5599cd291d50: i32,ch = load<LD4[ConstantPool]> 0x5599cd1a2920, 0x5599cd23c180, undef:i64
try.c: 0x5599cd23c180: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5599cd27cb50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5599cd2355c0: i64 = undef
try.c: 0x5599cd2ac210: 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: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: i32 = Constant<0>
try.c: 0x5599cd2ac0e0: 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: 0x5565b7958ac0: v4i64 = X86ISD::VTRUNC 0x5565b7958990
try.c: 0x5565b7958990: v16i32 = vselect 0x5565b795aa40, 0x5565b78de9a0, 0x5565b7958860
try.c: 0x5565b795aa40: v4i1 = X86ISD::PCMPGTM 0x5565b793e300, 0x5565b793ace0
try.c: 0x5565b793e300: v4i64 = X86ISD::VBROADCAST 0x5565b78dee60
try.c: 0x5565b78dee60: i64,ch = load<LD8[%lsr.iv6971]> 0x5565b7838a10, 0x5565b78f2620, undef:i64
try.c: 0x5565b78f2620: i64,ch = CopyFromReg 0x5565b7838a10, Register:i64 %vreg50
try.c: 0x5565b793af40: i64 = Register %vreg50
try.c: 0x5565b78d4db0: i64 = undef
try.c: 0x5565b793ace0: v4i64,ch = CopyFromReg 0x5565b7838a10, Register:v4i64 %vreg13
try.c: 0x5565b793eb50: v4i64 = Register %vreg13
try.c: 0x5565b78de9a0: v16i32 = X86ISD::VBROADCAST 0x5565b793e560
try.c: 0x5565b793e560: i32,ch = load<LD4[ConstantPool]> 0x5565b7838a10, 0x5565b78e1340, undef:i64
try.c: 0x5565b78e1340: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5565b78d5730: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5565b78d4db0: i64 = undef
try.c: 0x5565b7958860: 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: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: i32 = Constant<0>
try.c: 0x5565b7958730: 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: 0x5620540aef90: v4i64 = X86ISD::VTRUNC 0x5620540aee60
try.c: 0x5620540aee60: v16i32 = vselect 0x5620540a9960, 0x562054046620, 0x5620540aed30
try.c: 0x5620540a9960: v4i1 = X86ISD::PCMPGTM 0x5620540a5920, 0x5620540a14b0
try.c: 0x5620540a5920: v4i64 = X86ISD::VBROADCAST 0x56205404dd90
try.c: 0x56205404dd90: i64,ch = load<LD8[%lsr.iv6971]> 0x562053fb6930, 0x562054090f40, undef:i64
try.c: 0x562054090f40: i64,ch = CopyFromReg 0x562053fb6930, Register:i64 %vreg50
try.c: 0x5620540a1710: i64 = Register %vreg50
try.c: 0x562054044c90: i64 = undef
try.c: 0x5620540a14b0: v4i64,ch = CopyFromReg 0x562053fb6930, Register:v4i64 %vreg13
try.c: 0x5620540a6170: v4i64 = Register %vreg13
try.c: 0x562054046620: v16i32 = X86ISD::VBROADCAST 0x5620540a5b80
try.c: 0x5620540a5b80: i32,ch = load<LD4[ConstantPool]> 0x562053fb6930, 0x56205404d370, undef:i64
try.c: 0x56205404d370: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56205408d4e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562054044c90: i64 = undef
try.c: 0x5620540aed30: 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: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: i32 = Constant<0>
try.c: 0x5620540aec00: 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: 0x5616d73991b0: v4i64 = X86ISD::VTRUNC 0x5616d7399080
try.c: 0x5616d7399080: v16i32 = vselect 0x5616d7385ca0, 0x5616d732d4c0, 0x5616d7398f50
try.c: 0x5616d7385ca0: v4i1 = X86ISD::PCMPGTM 0x5616d737f840, 0x5616d737b3d0
try.c: 0x5616d737f840: v4i64 = X86ISD::VBROADCAST 0x5616d732a660
try.c: 0x5616d732a660: i64,ch = load<LD8[%lsr.iv6971]> 0x5616d7290990, 0x5616d7376230, undef:i64
try.c: 0x5616d7376230: i64,ch = CopyFromReg 0x5616d7290990, Register:i64 %vreg50
try.c: 0x5616d737b630: i64 = Register %vreg50
try.c: 0x5616d732bb30: i64 = undef
try.c: 0x5616d737b3d0: v4i64,ch = CopyFromReg 0x5616d7290990, Register:v4i64 %vreg13
try.c: 0x5616d7380090: v4i64 = Register %vreg13
try.c: 0x5616d732d4c0: v16i32 = X86ISD::VBROADCAST 0x5616d737faa0
try.c: 0x5616d737faa0: i32,ch = load<LD4[ConstantPool]> 0x5616d7290990, 0x5616d7327a40, undef:i64
try.c: 0x5616d7327a40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5616d7366170: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5616d732bb30: i64 = undef
try.c: 0x5616d7398f50: 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: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: i32 = Constant<0>
try.c: 0x5616d7398e20: 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: 0x55c9b0bf9090: v4i64 = X86ISD::VTRUNC 0x55c9b0bf8f60
try.c: 0x55c9b0bf8f60: v16i32 = vselect 0x55c9b0be2ee0, 0x55c9b0b898c0, 0x55c9b0bf8e30
try.c: 0x55c9b0be2ee0: v4i1 = X86ISD::PCMPGTM 0x55c9b0bde290, 0x55c9b0bda270
try.c: 0x55c9b0bde290: v4i64 = X86ISD::VBROADCAST 0x55c9b0b89d80
try.c: 0x55c9b0b89d80: i64,ch = load<LD8[%lsr.iv6971]> 0x55c9b0ad7a30, 0x55c9b0b8dc90, undef:i64
try.c: 0x55c9b0b8dc90: i64,ch = CopyFromReg 0x55c9b0ad7a30, Register:i64 %vreg50
try.c: 0x55c9b0bda4d0: i64 = Register %vreg50
try.c: 0x55c9b0b55380: i64 = undef
try.c: 0x55c9b0bda270: v4i64,ch = CopyFromReg 0x55c9b0ad7a30, Register:v4i64 %vreg13
try.c: 0x55c9b0bdeae0: v4i64 = Register %vreg13
try.c: 0x55c9b0b898c0: v16i32 = X86ISD::VBROADCAST 0x55c9b0bde4f0
try.c: 0x55c9b0bde4f0: i32,ch = load<LD4[ConstantPool]> 0x55c9b0ad7a30, 0x55c9b0b8c260, undef:i64
try.c: 0x55c9b0b8c260: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c9b0b55d00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c9b0b55380: i64 = undef
try.c: 0x55c9b0bf8e30: 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: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: i32 = Constant<0>
try.c: 0x55c9b0bf8d00: 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: 0x55620bea94d0: v4i64 = X86ISD::VTRUNC 0x55620bea93a0
try.c: 0x55620bea93a0: v16i32 = vselect 0x55620bea5eb0, 0x55620be4d670, 0x55620bea9270
try.c: 0x55620bea5eb0: v4i1 = X86ISD::PCMPGTM 0x55620bea17f0, 0x55620be9d380
try.c: 0x55620bea17f0: v4i64 = X86ISD::VBROADCAST 0x55620be47d20
try.c: 0x55620be47d20: i64,ch = load<LD8[%lsr.iv6971]> 0x55620bdb2930, 0x55620be5f610, undef:i64
try.c: 0x55620be5f610: i64,ch = CopyFromReg 0x55620bdb2930, Register:i64 %vreg50
try.c: 0x55620be9d5e0: i64 = Register %vreg50
try.c: 0x55620be491f0: i64 = undef
try.c: 0x55620be9d380: v4i64,ch = CopyFromReg 0x55620bdb2930, Register:v4i64 %vreg13
try.c: 0x55620bea2040: v4i64 = Register %vreg13
try.c: 0x55620be4d670: v16i32 = X86ISD::VBROADCAST 0x55620bea1a50
try.c: 0x55620bea1a50: i32,ch = load<LD4[ConstantPool]> 0x55620bdb2930, 0x55620be424a0, undef:i64
try.c: 0x55620be424a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55620be905a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55620be491f0: i64 = undef
try.c: 0x55620bea9270: 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: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: i32 = Constant<0>
try.c: 0x55620bea9140: 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