Implementation notes: amd64, cel02, crypto_sign/mqdss48

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: mqdss48
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1697427622977 0 054279 848 1664T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2246394610571 0 037087 840 1600T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2389660212407 0 040175 848 1632T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2400223012627 0 040839 848 1632T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
20030093417182 0 045468 824 1600T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
20980444021768 0 053263 848 1664T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
21669871410029 0 037831 848 1632T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
23531128410436 0 038703 848 1632T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2577839088470 0 035079 840 1600T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Checksum failure

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
ea72cccc3bb1d323d77a5c3a7374748c0715b2d638705a095fdc2cd98e4066fa
Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2 T:ref

Compiler output

Implementation: T:avx2
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: 0x55cf61aa8870: v4i64 = X86ISD::VTRUNC 0x55cf61aa8740
try.c: 0x55cf61aa8740: v16i32 = vselect 0x55cf61ab13f0, 0x55cf61a3a690, 0x55cf61aa8610
try.c: 0x55cf61ab13f0: v4i1 = X86ISD::PCMPGTM 0x55cf61a8ef00, 0x55cf61a8aa90
try.c: 0x55cf61a8ef00: v4i64 = X86ISD::VBROADCAST 0x55cf61a34d10
try.c: 0x55cf61a34d10: i64,ch = load<LD8[%lsr.iv6971]> 0x55cf6199f900, 0x55cf61a756f0, undef:i64
try.c: 0x55cf61a756f0: i64,ch = CopyFromReg 0x55cf6199f900, Register:i64 %vreg50
try.c: 0x55cf61a8acf0: i64 = Register %vreg50
try.c: 0x55cf61a361e0: i64 = undef
try.c: 0x55cf61a8aa90: v4i64,ch = CopyFromReg 0x55cf6199f900, Register:v4i64 %vreg13
try.c: 0x55cf61a8f750: v4i64 = Register %vreg13
try.c: 0x55cf61a3a690: v16i32 = X86ISD::VBROADCAST 0x55cf61a8f160
try.c: 0x55cf61a8f160: i32,ch = load<LD4[ConstantPool]> 0x55cf6199f900, 0x55cf61a498a0, undef:i64
try.c: 0x55cf61a498a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55cf619fbd10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55cf61a361e0: i64 = undef
try.c: 0x55cf61aa8610: 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: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: i32 = Constant<0>
try.c: 0x55cf61aa84e0: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x56243b99d840: v4i64 = X86ISD::VTRUNC 0x56243b99d710
try.c: 0x56243b99d710: v16i32 = vselect 0x56243b97c220, 0x56243b90b3e0, 0x56243b99d5e0
try.c: 0x56243b97c220: v4i1 = X86ISD::PCMPGTM 0x56243b9781f0, 0x56243b973d80
try.c: 0x56243b9781f0: v4i64 = X86ISD::VBROADCAST 0x56243b90b8a0
try.c: 0x56243b90b8a0: i64,ch = load<LD8[%lsr.iv6971]> 0x56243b871a20, 0x56243b9258f0, undef:i64
try.c: 0x56243b9258f0: i64,ch = CopyFromReg 0x56243b871a20, Register:i64 %vreg50
try.c: 0x56243b973fe0: i64 = Register %vreg50
try.c: 0x56243b912400: i64 = undef
try.c: 0x56243b973d80: v4i64,ch = CopyFromReg 0x56243b871a20, Register:v4i64 %vreg13
try.c: 0x56243b978a40: v4i64 = Register %vreg13
try.c: 0x56243b90b3e0: v16i32 = X86ISD::VBROADCAST 0x56243b978450
try.c: 0x56243b978450: i32,ch = load<LD4[ConstantPool]> 0x56243b871a20, 0x56243b90dd80, undef:i64
try.c: 0x56243b90dd80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56243b912d80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56243b912400: i64 = undef
try.c: 0x56243b99d5e0: 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: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: i32 = Constant<0>
try.c: 0x56243b99d4b0: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x55dbcfead370: v4i64 = X86ISD::VTRUNC 0x55dbcfead240
try.c: 0x55dbcfead240: v16i32 = vselect 0x55dbcfe9e4c0, 0x55dbcfe3a7e0, 0x55dbcfead110
try.c: 0x55dbcfe9e4c0: v4i1 = X86ISD::PCMPGTM 0x55dbcfe929f0, 0x55dbcfe8e580
try.c: 0x55dbcfe929f0: v4i64 = X86ISD::VBROADCAST 0x55dbcfe367c0
try.c: 0x55dbcfe367c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55dbcfda3920, 0x55dbcfe7c8e0, undef:i64
try.c: 0x55dbcfe7c8e0: i64,ch = CopyFromReg 0x55dbcfda3920, Register:i64 %vreg50
try.c: 0x55dbcfe8e7e0: i64 = Register %vreg50
try.c: 0x55dbcfe38e50: i64 = undef
try.c: 0x55dbcfe8e580: v4i64,ch = CopyFromReg 0x55dbcfda3920, Register:v4i64 %vreg13
try.c: 0x55dbcfe93240: v4i64 = Register %vreg13
try.c: 0x55dbcfe3a7e0: v16i32 = X86ISD::VBROADCAST 0x55dbcfe92c50
try.c: 0x55dbcfe92c50: i32,ch = load<LD4[ConstantPool]> 0x55dbcfda3920, 0x55dbcfe35da0, undef:i64
try.c: 0x55dbcfe35da0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dbcfe59310: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dbcfe38e50: i64 = undef
try.c: 0x55dbcfead110: 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: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: i32 = Constant<0>
try.c: 0x55dbcfeacfe0: 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:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gf31.c: gf31.c:14:20: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'vgf31_unique' that is compiled without support for 'sse4.2'
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^
gf31.c: gf31.c:18:13: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'vgf31_unique' that is compiled without support for 'sse4.2'
gf31.c: x = _mm256_loadu_si256((__m256i const *) (in + 16*i));
gf31.c: ^
gf31.c: gf31.c:19:13: error: always_inline function '_mm256_xor_si256' requires target feature 'sse4.2', but would be inlined into function 'vgf31_unique' that is compiled without support for 'sse4.2'
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^
gf31.c: gf31.c:19:33: error: always_inline function '_mm256_and_si256' requires target feature 'sse4.2', but would be inlined into function 'vgf31_unique' that is compiled without support for 'sse4.2'
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^
gf31.c: gf31.c:19:56: error: always_inline function '_mm256_cmpeq_epi16' requires target feature 'sse4.2', but would be inlined into function 'vgf31_unique' that is compiled without support for 'sse4.2'
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^
gf31.c: gf31.c:20:9: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'vgf31_unique' that is compiled without support for 'sse4.2'
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^
gf31.c: 6 errors generated.

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

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: 0x557cf355aae0: v4i64 = X86ISD::VTRUNC 0x557cf355a9b0
try.c: 0x557cf355a9b0: v16i32 = vselect 0x557cf35574c0, 0x557cf34e72c0, 0x557cf355a880
try.c: 0x557cf35574c0: v4i1 = X86ISD::PCMPGTM 0x557cf353fcc0, 0x557cf353b850
try.c: 0x557cf353fcc0: v4i64 = X86ISD::VBROADCAST 0x557cf3506140
try.c: 0x557cf3506140: i64,ch = load<LD8[%lsr.iv6971]> 0x557cf34509a0, 0x557cf3531440, undef:i64
try.c: 0x557cf3531440: i64,ch = CopyFromReg 0x557cf34509a0, Register:i64 %vreg50
try.c: 0x557cf353bab0: i64 = Register %vreg50
try.c: 0x557cf34e5930: i64 = undef
try.c: 0x557cf353b850: v4i64,ch = CopyFromReg 0x557cf34509a0, Register:v4i64 %vreg13
try.c: 0x557cf3540510: v4i64 = Register %vreg13
try.c: 0x557cf34e72c0: v16i32 = X86ISD::VBROADCAST 0x557cf353ff20
try.c: 0x557cf353ff20: i32,ch = load<LD4[ConstantPool]> 0x557cf34509a0, 0x557cf3505720, undef:i64
try.c: 0x557cf3505720: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557cf3537800: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557cf34e5930: i64 = undef
try.c: 0x557cf355a880: 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: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: i32 = Constant<0>
try.c: 0x557cf355a750: 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: 0x55c1b8383930: v4i64 = X86ISD::VTRUNC 0x55c1b8383800
try.c: 0x55c1b8383800: v16i32 = vselect 0x55c1b8380310, 0x55c1b8324ef0, 0x55c1b83836d0
try.c: 0x55c1b8380310: v4i1 = X86ISD::PCMPGTM 0x55c1b8377f30, 0x55c1b83734b0
try.c: 0x55c1b8377f30: v4i64 = X86ISD::VBROADCAST 0x55c1b83253b0
try.c: 0x55c1b83253b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c1b8271a00, 0x55c1b8317b90, undef:i64
try.c: 0x55c1b8317b90: i64,ch = CopyFromReg 0x55c1b8271a00, Register:i64 %vreg50
try.c: 0x55c1b8373710: i64 = Register %vreg50
try.c: 0x55c1b8310450: i64 = undef
try.c: 0x55c1b83734b0: v4i64,ch = CopyFromReg 0x55c1b8271a00, Register:v4i64 %vreg13
try.c: 0x55c1b8378780: v4i64 = Register %vreg13
try.c: 0x55c1b8324ef0: v16i32 = X86ISD::VBROADCAST 0x55c1b8378190
try.c: 0x55c1b8378190: i32,ch = load<LD4[ConstantPool]> 0x55c1b8271a00, 0x55c1b8327890, undef:i64
try.c: 0x55c1b8327890: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c1b8310dd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c1b8310450: i64 = undef
try.c: 0x55c1b83836d0: 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: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: i32 = Constant<0>
try.c: 0x55c1b83835a0: 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: 0x559218c46640: v4i64 = X86ISD::VTRUNC 0x559218c46510
try.c: 0x559218c46510: v16i32 = vselect 0x559218c5b3a0, 0x559218be8950, 0x559218c463e0
try.c: 0x559218c5b3a0: v4i1 = X86ISD::PCMPGTM 0x559218c42020, 0x559218c3dbb0
try.c: 0x559218c42020: v4i64 = X86ISD::VBROADCAST 0x559218be2290
try.c: 0x559218be2290: i64,ch = load<LD8[%lsr.iv6971]> 0x559218b52920, 0x559218c350c0, undef:i64
try.c: 0x559218c350c0: i64,ch = CopyFromReg 0x559218b52920, Register:i64 %vreg50
try.c: 0x559218c3de10: i64 = Register %vreg50
try.c: 0x559218be3760: i64 = undef
try.c: 0x559218c3dbb0: v4i64,ch = CopyFromReg 0x559218b52920, Register:v4i64 %vreg13
try.c: 0x559218c42870: v4i64 = Register %vreg13
try.c: 0x559218be8950: v16i32 = X86ISD::VBROADCAST 0x559218c42280
try.c: 0x559218c42280: i32,ch = load<LD4[ConstantPool]> 0x559218b52920, 0x559218be1870, undef:i64
try.c: 0x559218be1870: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559218c28530: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559218be3760: i64 = undef
try.c: 0x559218c463e0: 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: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: i32 = Constant<0>
try.c: 0x559218c462b0: 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