Implementation notes: amd64, cel02, crypto_sign/sphincss192sha256simple

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincss192sha256simple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
304180885860789 0 091279 840 1704T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
332337683652972 0 080295 840 1672T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
334951316851479 0 078431 840 1672T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
337473383252160 0 077826 808 1640T:avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
421514764049620 0 075351 832 1640T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
590261266620913 0 046578 808 1640T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
968059113825430 0 055927 840 1704T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1008839946621164 0 048519 840 1672T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1276242276621488 0 048479 840 1672T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1279975311023560 0 051016 816 1640T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1309082934419484 0 045263 832 1640T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

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: 0x561390c1a040: v4i64 = X86ISD::VTRUNC 0x561390c19f10
try.c: 0x561390c19f10: v16i32 = vselect 0x561390c2e5b0, 0x561390bba7e0, 0x561390c19de0
try.c: 0x561390c2e5b0: v4i1 = X86ISD::PCMPGTM 0x561390c109e0, 0x561390c0c570
try.c: 0x561390c109e0: v4i64 = X86ISD::VBROADCAST 0x561390bb7980
try.c: 0x561390bb7980: i64,ch = load<LD8[%lsr.iv6971]> 0x561390b21960, 0x561390bfac70, undef:i64
try.c: 0x561390bfac70: i64,ch = CopyFromReg 0x561390b21960, Register:i64 %vreg50
try.c: 0x561390c0c7d0: i64 = Register %vreg50
try.c: 0x561390bb8e50: i64 = undef
try.c: 0x561390c0c570: v4i64,ch = CopyFromReg 0x561390b21960, Register:v4i64 %vreg13
try.c: 0x561390c11230: v4i64 = Register %vreg13
try.c: 0x561390bba7e0: v16i32 = X86ISD::VBROADCAST 0x561390c10c40
try.c: 0x561390c10c40: i32,ch = load<LD4[ConstantPool]> 0x561390b21960, 0x561390bb6f60, undef:i64
try.c: 0x561390bb6f60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561390bf56f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561390bb8e50: i64 = undef
try.c: 0x561390c19de0: 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: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: i32 = Constant<0>
try.c: 0x561390c19cb0: 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: 0x558d7349d150: v4i64 = X86ISD::VTRUNC 0x558d7349d020
try.c: 0x558d7349d020: v16i32 = vselect 0x558d734ab160, 0x558d7342d120, 0x558d7349cef0
try.c: 0x558d734ab160: v4i1 = X86ISD::PCMPGTM 0x558d73491f60, 0x558d7348d4e0
try.c: 0x558d73491f60: v4i64 = X86ISD::VBROADCAST 0x558d7342d5e0
try.c: 0x558d7342d5e0: i64,ch = load<LD8[%lsr.iv6971]> 0x558d7338ba40, 0x558d7343fb40, undef:i64
try.c: 0x558d7343fb40: i64,ch = CopyFromReg 0x558d7338ba40, Register:i64 %vreg50
try.c: 0x558d7348d740: i64 = Register %vreg50
try.c: 0x558d7341ec30: i64 = undef
try.c: 0x558d7348d4e0: v4i64,ch = CopyFromReg 0x558d7338ba40, Register:v4i64 %vreg13
try.c: 0x558d734927b0: v4i64 = Register %vreg13
try.c: 0x558d7342d120: v16i32 = X86ISD::VBROADCAST 0x558d734921c0
try.c: 0x558d734921c0: i32,ch = load<LD4[ConstantPool]> 0x558d7338ba40, 0x558d7342fac0, undef:i64
try.c: 0x558d7342fac0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558d7341f5b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558d7341ec30: i64 = undef
try.c: 0x558d7349cef0: 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: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: i32 = Constant<0>
try.c: 0x558d7349cdc0: 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: 0x55e70253e0b0: v4i64 = X86ISD::VTRUNC 0x55e70253df80
try.c: 0x55e70253df80: v16i32 = vselect 0x55e70252a140, 0x55e7024ca680, 0x55e70253de50
try.c: 0x55e70252a140: v4i1 = X86ISD::PCMPGTM 0x55e7025238e0, 0x55e70251f470
try.c: 0x55e7025238e0: v4i64 = X86ISD::VBROADCAST 0x55e7024c3200
try.c: 0x55e7024c3200: i64,ch = load<LD8[%lsr.iv6971]> 0x55e702434950, 0x55e70251a2d0, undef:i64
try.c: 0x55e70251a2d0: i64,ch = CopyFromReg 0x55e702434950, Register:i64 %vreg50
try.c: 0x55e70251f6d0: i64 = Register %vreg50
try.c: 0x55e7024c46d0: i64 = undef
try.c: 0x55e70251f470: v4i64,ch = CopyFromReg 0x55e702434950, Register:v4i64 %vreg13
try.c: 0x55e702524130: v4i64 = Register %vreg13
try.c: 0x55e7024ca680: v16i32 = X86ISD::VBROADCAST 0x55e702523b40
try.c: 0x55e702523b40: i32,ch = load<LD4[ConstantPool]> 0x55e702434950, 0x55e7024c27e0, undef:i64
try.c: 0x55e7024c27e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e7024dcd40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e7024c46d0: i64 = undef
try.c: 0x55e70253de50: 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: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: i32 = Constant<0>
try.c: 0x55e70253dd20: 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
sha256avx.c: sha256avx.c:11:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:12:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[1] = _mm256_unpackhi_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:13:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[2] = _mm256_unpacklo_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:14:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[3] = _mm256_unpackhi_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:15:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[4] = _mm256_unpacklo_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:16:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[5] = _mm256_unpackhi_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:17:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[6] = _mm256_unpacklo_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:18:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[7] = _mm256_unpackhi_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:19:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: ...

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: 0x55db25068330: v4i64 = X86ISD::VTRUNC 0x55db25068200
try.c: 0x55db25068200: v16i32 = vselect 0x55db25076c60, 0x55db25001ce0, 0x55db250680d0
try.c: 0x55db25076c60: v4i1 = X86ISD::PCMPGTM 0x55db2505d0d0, 0x55db25058c60
try.c: 0x55db2505d0d0: v4i64 = X86ISD::VBROADCAST 0x55db250220d0
try.c: 0x55db250220d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55db24f6d920, 0x55db25050400, undef:i64
try.c: 0x55db25050400: i64,ch = CopyFromReg 0x55db24f6d920, Register:i64 %vreg50
try.c: 0x55db25058ec0: i64 = Register %vreg50
try.c: 0x55db25000350: i64 = undef
try.c: 0x55db25058c60: v4i64,ch = CopyFromReg 0x55db24f6d920, Register:v4i64 %vreg13
try.c: 0x55db2505d920: v4i64 = Register %vreg13
try.c: 0x55db25001ce0: v16i32 = X86ISD::VBROADCAST 0x55db2505d330
try.c: 0x55db2505d330: i32,ch = load<LD4[ConstantPool]> 0x55db24f6d920, 0x55db250216b0, undef:i64
try.c: 0x55db250216b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55db250083b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55db25000350: i64 = undef
try.c: 0x55db250680d0: 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: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: i32 = Constant<0>
try.c: 0x55db25067fa0: 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: 0x562370f31990: v4i64 = X86ISD::VTRUNC 0x562370f31860
try.c: 0x562370f31860: v16i32 = vselect 0x562370f22af0, 0x562370eb26e0, 0x562370f31730
try.c: 0x562370f22af0: v4i1 = X86ISD::PCMPGTM 0x562370f18ba0, 0x562370f13f70
try.c: 0x562370f18ba0: v4i64 = X86ISD::VBROADCAST 0x562370eb2ba0
try.c: 0x562370eb2ba0: i64,ch = load<LD8[%lsr.iv6971]> 0x562370e11a30, 0x562370eb7bf0, undef:i64
try.c: 0x562370eb7bf0: i64,ch = CopyFromReg 0x562370e11a30, Register:i64 %vreg50
try.c: 0x562370f141d0: i64 = Register %vreg50
try.c: 0x562370eb0590: i64 = undef
try.c: 0x562370f13f70: v4i64,ch = CopyFromReg 0x562370e11a30, Register:v4i64 %vreg13
try.c: 0x562370f193f0: v4i64 = Register %vreg13
try.c: 0x562370eb26e0: v16i32 = X86ISD::VBROADCAST 0x562370f18e00
try.c: 0x562370f18e00: i32,ch = load<LD4[ConstantPool]> 0x562370e11a30, 0x562370eb5080, undef:i64
try.c: 0x562370eb5080: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562370eb0f10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562370eb0590: i64 = undef
try.c: 0x562370f31730: 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: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: i32 = Constant<0>
try.c: 0x562370f31600: 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: 0x5607844062b0: v4i64 = X86ISD::VTRUNC 0x560784406180
try.c: 0x560784406180: v16i32 = vselect 0x5607843df500, 0x560784390580, 0x560784406050
try.c: 0x5607843df500: v4i1 = X86ISD::PCMPGTM 0x5607843ee950, 0x5607843ea4e0
try.c: 0x5607843ee950: v4i64 = X86ISD::VBROADCAST 0x56078438d720
try.c: 0x56078438d720: i64,ch = load<LD8[%lsr.iv6971]> 0x5607842ff9d0, 0x5607843e5340, undef:i64
try.c: 0x5607843e5340: i64,ch = CopyFromReg 0x5607842ff9d0, Register:i64 %vreg50
try.c: 0x5607843ea740: i64 = Register %vreg50
try.c: 0x56078438ebf0: i64 = undef
try.c: 0x5607843ea4e0: v4i64,ch = CopyFromReg 0x5607842ff9d0, Register:v4i64 %vreg13
try.c: 0x5607843ef1a0: v4i64 = Register %vreg13
try.c: 0x560784390580: v16i32 = X86ISD::VBROADCAST 0x5607843eebb0
try.c: 0x5607843eebb0: i32,ch = load<LD4[ConstantPool]> 0x5607842ff9d0, 0x5607843939c0, undef:i64
try.c: 0x5607843939c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5607843bc400: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56078438ebf0: i64 = undef
try.c: 0x560784406050: 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: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: i32 = Constant<0>
try.c: 0x560784405f20: 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