Implementation notes: amd64, cel02, crypto_aead/shamashv1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: shamashv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1052908333 0 023130 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
15624611133 0 025866 800 856T:opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
16675412721 0 030485 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1868628447 0 021220 792 856T:opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1869746777 0 019720 800 896T:opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
19853013315 0 031005 824 960T:opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2129908559 0 022932 816 896T:opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2151183082 0 017292 816 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2227928255 0 022396 816 896T:opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2454884134 0 018580 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2503662793 0 015808 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2646004039 0 017068 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-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: 0x5631dad8da50: v4i64 = X86ISD::VTRUNC 0x5631dad8d920
try.c: 0x5631dad8d920: v16i32 = vselect 0x5631dad9db70, 0x5631dad2ebb0, 0x5631dad8d7f0
try.c: 0x5631dad9db70: v4i1 = X86ISD::PCMPGTM 0x5631dad86800, 0x5631dad82390
try.c: 0x5631dad86800: v4i64 = X86ISD::VBROADCAST 0x5631dad27f20
try.c: 0x5631dad27f20: i64,ch = load<LD8[%lsr.iv6971]> 0x5631dac97960, 0x5631dad71a90, undef:i64
try.c: 0x5631dad71a90: i64,ch = CopyFromReg 0x5631dac97960, Register:i64 %vreg50
try.c: 0x5631dad825f0: i64 = Register %vreg50
try.c: 0x5631dad2d220: i64 = undef
try.c: 0x5631dad82390: v4i64,ch = CopyFromReg 0x5631dac97960, Register:v4i64 %vreg13
try.c: 0x5631dad87050: v4i64 = Register %vreg13
try.c: 0x5631dad2ebb0: v16i32 = X86ISD::VBROADCAST 0x5631dad86a60
try.c: 0x5631dad86a60: i32,ch = load<LD4[ConstantPool]> 0x5631dac97960, 0x5631dad27500, undef:i64
try.c: 0x5631dad27500: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5631dad701e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5631dad2d220: i64 = undef
try.c: 0x5631dad8d7f0: 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: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: i32 = Constant<0>
try.c: 0x5631dad8d6c0: 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: 0x55caac4f94c0: v4i64 = X86ISD::VTRUNC 0x55caac4f9390
try.c: 0x55caac4f9390: v16i32 = vselect 0x55caac50a800, 0x55caac4863f0, 0x55caac4f9260
try.c: 0x55caac50a800: v4i1 = X86ISD::PCMPGTM 0x55caac4f1e80, 0x55caac4eda10
try.c: 0x55caac4f1e80: v4i64 = X86ISD::VBROADCAST 0x55caac4868b0
try.c: 0x55caac4868b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55caac3eba30, 0x55caac49d480, undef:i64
try.c: 0x55caac49d480: i64,ch = CopyFromReg 0x55caac3eba30, Register:i64 %vreg50
try.c: 0x55caac4edc70: i64 = Register %vreg50
try.c: 0x55caac48d3f0: i64 = undef
try.c: 0x55caac4eda10: v4i64,ch = CopyFromReg 0x55caac3eba30, Register:v4i64 %vreg13
try.c: 0x55caac4f26d0: v4i64 = Register %vreg13
try.c: 0x55caac4863f0: v16i32 = X86ISD::VBROADCAST 0x55caac4f20e0
try.c: 0x55caac4f20e0: i32,ch = load<LD4[ConstantPool]> 0x55caac3eba30, 0x55caac49b240, undef:i64
try.c: 0x55caac49b240: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55caac48dd70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55caac48d3f0: i64 = undef
try.c: 0x55caac4f9260: 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: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: i32 = Constant<0>
try.c: 0x55caac4f9130: 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: 0x55bd373781e0: v4i64 = X86ISD::VTRUNC 0x55bd373780b0
try.c: 0x55bd373780b0: v16i32 = vselect 0x55bd37374bc0, 0x55bd37306a40, 0x55bd37377f80
try.c: 0x55bd37374bc0: v4i1 = X86ISD::PCMPGTM 0x55bd3735d850, 0x55bd373593e0
try.c: 0x55bd3735d850: v4i64 = X86ISD::VBROADCAST 0x55bd37303be0
try.c: 0x55bd37303be0: i64,ch = load<LD8[%lsr.iv6971]> 0x55bd3726e960, 0x55bd37347ad0, undef:i64
try.c: 0x55bd37347ad0: i64,ch = CopyFromReg 0x55bd3726e960, Register:i64 %vreg50
try.c: 0x55bd37359640: i64 = Register %vreg50
try.c: 0x55bd373050b0: i64 = undef
try.c: 0x55bd373593e0: v4i64,ch = CopyFromReg 0x55bd3726e960, Register:v4i64 %vreg13
try.c: 0x55bd3735e0a0: v4i64 = Register %vreg13
try.c: 0x55bd37306a40: v16i32 = X86ISD::VBROADCAST 0x55bd3735dab0
try.c: 0x55bd3735dab0: i32,ch = load<LD4[ConstantPool]> 0x55bd3726e960, 0x55bd372f9cb0, undef:i64
try.c: 0x55bd372f9cb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bd37348cd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bd373050b0: i64 = undef
try.c: 0x55bd37377f80: 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: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: i32 = Constant<0>
try.c: 0x55bd37377e50: 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: 0x560a6c131e60: v4i64 = X86ISD::VTRUNC 0x560a6c131d30
try.c: 0x560a6c131d30: v16i32 = vselect 0x560a6c124c60, 0x560a6c0d1240, 0x560a6c131c00
try.c: 0x560a6c124c60: v4i1 = X86ISD::PCMPGTM 0x560a6c12c830, 0x560a6c1283c0
try.c: 0x560a6c12c830: v4i64 = X86ISD::VBROADCAST 0x560a6c0ccde0
try.c: 0x560a6c0ccde0: i64,ch = load<LD8[%lsr.iv6971]> 0x560a6c03d960, 0x560a6c11b230, undef:i64
try.c: 0x560a6c11b230: i64,ch = CopyFromReg 0x560a6c03d960, Register:i64 %vreg50
try.c: 0x560a6c128620: i64 = Register %vreg50
try.c: 0x560a6c0cf8b0: i64 = undef
try.c: 0x560a6c1283c0: v4i64,ch = CopyFromReg 0x560a6c03d960, Register:v4i64 %vreg13
try.c: 0x560a6c12d080: v4i64 = Register %vreg13
try.c: 0x560a6c0d1240: v16i32 = X86ISD::VBROADCAST 0x560a6c12ca90
try.c: 0x560a6c12ca90: i32,ch = load<LD4[ConstantPool]> 0x560a6c03d960, 0x560a6c0cc3c0, undef:i64
try.c: 0x560a6c0cc3c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560a6c11cee0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560a6c0cf8b0: i64 = undef
try.c: 0x560a6c131c00: 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: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: i32 = Constant<0>
try.c: 0x560a6c131ad0: 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: 0x564ff27e6d60: v4i64 = X86ISD::VTRUNC 0x564ff27e6c30
try.c: 0x564ff27e6c30: v16i32 = vselect 0x564ff27ec8f0, 0x564ff2769d10, 0x564ff27e6b00
try.c: 0x564ff27ec8f0: v4i1 = X86ISD::PCMPGTM 0x564ff27cdf70, 0x564ff27c9b00
try.c: 0x564ff27cdf70: v4i64 = X86ISD::VBROADCAST 0x564ff276a1d0
try.c: 0x564ff276a1d0: i64,ch = load<LD8[%lsr.iv6971]> 0x564ff26c7a40, 0x564ff2764ad0, undef:i64
try.c: 0x564ff2764ad0: i64,ch = CopyFromReg 0x564ff26c7a40, Register:i64 %vreg50
try.c: 0x564ff27c9d60: i64 = Register %vreg50
try.c: 0x564ff277ee70: i64 = undef
try.c: 0x564ff27c9b00: v4i64,ch = CopyFromReg 0x564ff26c7a40, Register:v4i64 %vreg13
try.c: 0x564ff27ce7c0: v4i64 = Register %vreg13
try.c: 0x564ff2769d10: v16i32 = X86ISD::VBROADCAST 0x564ff27ce1d0
try.c: 0x564ff27ce1d0: i32,ch = load<LD4[ConstantPool]> 0x564ff26c7a40, 0x564ff2762890, undef:i64
try.c: 0x564ff2762890: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564ff277f7f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564ff277ee70: i64 = undef
try.c: 0x564ff27e6b00: 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: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: i32 = Constant<0>
try.c: 0x564ff27e69d0: 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: 0x560ace1632a0: v4i64 = X86ISD::VTRUNC 0x560ace163170
try.c: 0x560ace163170: v16i32 = vselect 0x560ace108f20, 0x560ace118a20, 0x560ace163040
try.c: 0x560ace108f20: v4i1 = X86ISD::PCMPGTM 0x560ace14b940, 0x560ace1474d0
try.c: 0x560ace14b940: v4i64 = X86ISD::VBROADCAST 0x560ace0f4b40
try.c: 0x560ace0f4b40: i64,ch = load<LD8[%lsr.iv6971]> 0x560ace05c9d0, 0x560ace142330, undef:i64
try.c: 0x560ace142330: i64,ch = CopyFromReg 0x560ace05c9d0, Register:i64 %vreg50
try.c: 0x560ace147730: i64 = Register %vreg50
try.c: 0x560ace0f6010: i64 = undef
try.c: 0x560ace1474d0: v4i64,ch = CopyFromReg 0x560ace05c9d0, Register:v4i64 %vreg13
try.c: 0x560ace14c190: v4i64 = Register %vreg13
try.c: 0x560ace118a20: v16i32 = X86ISD::VBROADCAST 0x560ace14bba0
try.c: 0x560ace14bba0: i32,ch = load<LD4[ConstantPool]> 0x560ace05c9d0, 0x560ace0e7960, undef:i64
try.c: 0x560ace0e7960: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560ace112190: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560ace0f6010: i64 = undef
try.c: 0x560ace163040: 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: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: i32 = Constant<0>
try.c: 0x560ace162f10: 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