Implementation notes: amd64, cel02, crypto_aead/morus640128v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: morus640128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
95565701 0 023381 824 960T:sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
113685832 0 018716 792 856T:sse2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
126506797 0 021522 800 856T:sse2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
138481843 0 014816 800 896T:sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
142622085 0 016549 824 896T:sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
147602206 0 016429 824 896T:sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3687410964 0 025348 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3990011463 0 029133 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4078010624 0 023576 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4544810823 0 024972 816 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: 0x55f7919eb0e0: v4i64 = X86ISD::VTRUNC 0x55f7919eafb0
try.c: 0x55f7919eafb0: v16i32 = vselect 0x55f7919d1420, 0x55f79197b520, 0x55f7919eae80
try.c: 0x55f7919d1420: v4i1 = X86ISD::PCMPGTM 0x55f7919d3930, 0x55f7919cf4c0
try.c: 0x55f7919d3930: v4i64 = X86ISD::VBROADCAST 0x55f7919739c0
try.c: 0x55f7919739c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55f7918e4950, 0x55f7919b73d0, undef:i64
try.c: 0x55f7919b73d0: i64,ch = CopyFromReg 0x55f7918e4950, Register:i64 %vreg50
try.c: 0x55f7919cf720: i64 = Register %vreg50
try.c: 0x55f791979b90: i64 = undef
try.c: 0x55f7919cf4c0: v4i64,ch = CopyFromReg 0x55f7918e4950, Register:v4i64 %vreg13
try.c: 0x55f7919d4180: v4i64 = Register %vreg13
try.c: 0x55f79197b520: v16i32 = X86ISD::VBROADCAST 0x55f7919d3b90
try.c: 0x55f7919d3b90: i32,ch = load<LD4[ConstantPool]> 0x55f7918e4950, 0x55f791972fa0, undef:i64
try.c: 0x55f791972fa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f7919be8c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f791979b90: i64 = undef
try.c: 0x55f7919eae80: 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: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: i32 = Constant<0>
try.c: 0x55f7919ead50: 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: 0x55fd5596a240: v4i64 = X86ISD::VTRUNC 0x55fd5596a110
try.c: 0x55fd5596a110: v16i32 = vselect 0x55fd5597b070, 0x55fd558f3f10, 0x55fd55969fe0
try.c: 0x55fd5597b070: v4i1 = X86ISD::PCMPGTM 0x55fd5595ffd0, 0x55fd5595bb60
try.c: 0x55fd5595ffd0: v4i64 = X86ISD::VBROADCAST 0x55fd558f43d0
try.c: 0x55fd558f43d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55fd55859a30, 0x55fd55911c00, undef:i64
try.c: 0x55fd55911c00: i64,ch = CopyFromReg 0x55fd55859a30, Register:i64 %vreg50
try.c: 0x55fd5595bdc0: i64 = Register %vreg50
try.c: 0x55fd558eebc0: i64 = undef
try.c: 0x55fd5595bb60: v4i64,ch = CopyFromReg 0x55fd55859a30, Register:v4i64 %vreg13
try.c: 0x55fd55960820: v4i64 = Register %vreg13
try.c: 0x55fd558f3f10: v16i32 = X86ISD::VBROADCAST 0x55fd55960230
try.c: 0x55fd55960230: i32,ch = load<LD4[ConstantPool]> 0x55fd55859a30, 0x55fd558f7970, undef:i64
try.c: 0x55fd558f7970: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fd558ef540: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fd558eebc0: i64 = undef
try.c: 0x55fd55969fe0: 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: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: i32 = Constant<0>
try.c: 0x55fd55969eb0: 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: 0x555ca1b415b0: v4i64 = X86ISD::VTRUNC 0x555ca1b41480
try.c: 0x555ca1b41480: v16i32 = vselect 0x555ca1b3bf80, 0x555ca1ade8c0, 0x555ca1b41350
try.c: 0x555ca1b3bf80: v4i1 = X86ISD::PCMPGTM 0x555ca1b3af70, 0x555ca1b36b00
try.c: 0x555ca1b3af70: v4i64 = X86ISD::VBROADCAST 0x555ca1ae7910
try.c: 0x555ca1ae7910: i64,ch = load<LD8[%lsr.iv6971]> 0x555ca1a4b950, 0x555ca1b2dcd0, undef:i64
try.c: 0x555ca1b2dcd0: i64,ch = CopyFromReg 0x555ca1a4b950, Register:i64 %vreg50
try.c: 0x555ca1b36d60: i64 = Register %vreg50
try.c: 0x555ca1ae8de0: i64 = undef
try.c: 0x555ca1b36b00: v4i64,ch = CopyFromReg 0x555ca1a4b950, Register:v4i64 %vreg13
try.c: 0x555ca1b3b7c0: v4i64 = Register %vreg13
try.c: 0x555ca1ade8c0: v16i32 = X86ISD::VBROADCAST 0x555ca1b3b1d0
try.c: 0x555ca1b3b1d0: i32,ch = load<LD4[ConstantPool]> 0x555ca1a4b950, 0x555ca1ae41d0, undef:i64
try.c: 0x555ca1ae41d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555ca1b1ffe0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555ca1ae8de0: i64 = undef
try.c: 0x555ca1b41350: 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: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: i32 = Constant<0>
try.c: 0x555ca1b41220: 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:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `morus_stateupdate' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `morus_stateupdate' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:sse2
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: 0x55a3018d6930: v4i64 = X86ISD::VTRUNC 0x55a3018d6800
try.c: 0x55a3018d6800: v16i32 = vselect 0x55a3018c2000, 0x55a30186ab60, 0x55a3018d66d0
try.c: 0x55a3018c2000: v4i1 = X86ISD::PCMPGTM 0x55a3018befd0, 0x55a3018bab60
try.c: 0x55a3018befd0: v4i64 = X86ISD::VBROADCAST 0x55a30186cd40
try.c: 0x55a30186cd40: i64,ch = load<LD8[%lsr.iv6971]> 0x55a3017cf950, 0x55a301859f40, undef:i64
try.c: 0x55a301859f40: i64,ch = CopyFromReg 0x55a3017cf950, Register:i64 %vreg50
try.c: 0x55a3018badc0: i64 = Register %vreg50
try.c: 0x55a3018691d0: i64 = undef
try.c: 0x55a3018bab60: v4i64,ch = CopyFromReg 0x55a3017cf950, Register:v4i64 %vreg13
try.c: 0x55a3018bf820: v4i64 = Register %vreg13
try.c: 0x55a30186ab60: v16i32 = X86ISD::VBROADCAST 0x55a3018bf230
try.c: 0x55a3018bf230: i32,ch = load<LD4[ConstantPool]> 0x55a3017cf950, 0x55a30186c320, undef:i64
try.c: 0x55a30186c320: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a3018b1120: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a3018691d0: i64 = undef
try.c: 0x55a3018d66d0: 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: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: i32 = Constant<0>
try.c: 0x55a3018d65a0: 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:sse2

Compiler output

Implementation: T:sse2
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: 0x558d594c6cc0: v4i64 = X86ISD::VTRUNC 0x558d594c6b90
try.c: 0x558d594c6b90: v16i32 = vselect 0x558d594dfd20, 0x558d5945b190, 0x558d594c6a60
try.c: 0x558d594dfd20: v4i1 = X86ISD::PCMPGTM 0x558d594bf680, 0x558d594be1b0
try.c: 0x558d594bf680: v4i64 = X86ISD::VBROADCAST 0x558d5945b650
try.c: 0x558d5945b650: i64,ch = load<LD8[%lsr.iv6971]> 0x558d593baa30, 0x558d59461070, undef:i64
try.c: 0x558d59461070: i64,ch = CopyFromReg 0x558d593baa30, Register:i64 %vreg50
try.c: 0x558d594be410: i64 = Register %vreg50
try.c: 0x558d594561c0: i64 = undef
try.c: 0x558d594be1b0: v4i64,ch = CopyFromReg 0x558d593baa30, Register:v4i64 %vreg13
try.c: 0x558d594bfed0: v4i64 = Register %vreg13
try.c: 0x558d5945b190: v16i32 = X86ISD::VBROADCAST 0x558d594bf8e0
try.c: 0x558d594bf8e0: i32,ch = load<LD4[ConstantPool]> 0x558d593baa30, 0x558d5945db30, undef:i64
try.c: 0x558d5945db30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558d59456b40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558d594561c0: i64 = undef
try.c: 0x558d594c6a60: 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: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: i32 = Constant<0>
try.c: 0x558d594c6930: 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:sse2

Compiler output

Implementation: T:sse2
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: 0x558639a31390: v4i64 = X86ISD::VTRUNC 0x558639a31260
try.c: 0x558639a31260: v16i32 = vselect 0x558639a1aa40, 0x5586399c1970, 0x558639a31130
try.c: 0x558639a1aa40: v4i1 = X86ISD::PCMPGTM 0x558639a19a30, 0x558639a155c0
try.c: 0x558639a19a30: v4i64 = X86ISD::VBROADCAST 0x5586399c8640
try.c: 0x5586399c8640: i64,ch = load<LD8[%lsr.iv6971]> 0x55863992a950, 0x558639a07440, undef:i64
try.c: 0x558639a07440: i64,ch = CopyFromReg 0x55863992a950, Register:i64 %vreg50
try.c: 0x558639a15820: i64 = Register %vreg50
try.c: 0x5586399bffe0: i64 = undef
try.c: 0x558639a155c0: v4i64,ch = CopyFromReg 0x55863992a950, Register:v4i64 %vreg13
try.c: 0x558639a1a280: v4i64 = Register %vreg13
try.c: 0x5586399c1970: v16i32 = X86ISD::VBROADCAST 0x558639a19c90
try.c: 0x558639a19c90: i32,ch = load<LD4[ConstantPool]> 0x55863992a950, 0x5586399c7c20, undef:i64
try.c: 0x5586399c7c20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558639a080e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5586399bffe0: i64 = undef
try.c: 0x558639a31130: 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: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: i32 = Constant<0>
try.c: 0x558639a31000: 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:sse2