Test results for amd64, bolero, crypto_hashblocks/sha256
[Page version: 20260312 22:56:39]
Measurements for amd64, bolero, crypto_hashblocks
Test results for amd64, bolero, crypto_hashblocks
Test results for crypto_hashblocks/sha256
Computer: bolero
Microarchitecture: amd64; Broadwell+AES (406f1)
Architecture: amd64
CPU ID: GenuineIntel-000406f1-1fc9cbf5
SUPERCOP version: 20260217
Operation: crypto_hashblocks
Primitive: sha256
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 18228 | 11558 0 0 | 35957 1224 1576 | inplace | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 18251 | 11484 0 0 | 35861 1224 1576 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 18277 | 11484 0 0 | 33381 1224 1576 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19438 | 11213 0 0 | 32572 1248 1544 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19504 | 11196 0 0 | 32764 1216 1576 | ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19520 | 11216 0 0 | 35426 1256 1544 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19520 | 11216 0 0 | 35682 1256 1544 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19537 | 11182 0 0 | 32540 1248 1544 | inplace | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19548 | 11216 0 0 | 31826 1256 1480 | ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19563 | 11187 0 0 | 35394 1256 1544 | inplace | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19595 | 11187 0 0 | 35650 1256 1544 | inplace | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19725 | 11187 0 0 | 31794 1256 1480 | inplace | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 19824 | 11197 0 0 | 32796 1216 1576 | inplace | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 22695 | 11541 0 0 | 32032 1200 1544 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 23172 | 11374 0 0 | 31856 1200 1544 | inplace | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 23835 | 11558 0 0 | 33477 1224 1576 | inplace | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 25702 | 11305 0 0 | 34658 1256 1480 | ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
| 26079 | 11286 0 0 | 34626 1256 1480 | inplace | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260303 | 20260217 |
Compiler output
blocks.c: blocks.c:176:3: error: always_inline function '_mm_sha256rnds2_epu32' requires target feature 'sha', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'sha'
blocks.c: 176 | DO16ROUNDS(i0, i1, i2, i3, c0, c1, c2, c3);
blocks.c: | ^
blocks.c: blocks.c:129:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: 129 | x1 = _mm_sha256rnds2_epu32(s1, s0, h0); \
blocks.c: | ^
blocks.c: blocks.c:176:3: error: always_inline function '_mm_sha256rnds2_epu32' requires target feature 'sha', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'sha'
blocks.c: blocks.c:131:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: 131 | x0 = _mm_sha256rnds2_epu32(s0, x1, h0); \
blocks.c: | ^
blocks.c: blocks.c:176:3: error: always_inline function '_mm_sha256rnds2_epu32' requires target feature 'sha', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'sha'
blocks.c: blocks.c:134:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: 134 | s1 = _mm_sha256rnds2_epu32(x1, x0, h1); \
blocks.c: | ^
blocks.c: blocks.c:176:3: error: always_inline function '_mm_sha256rnds2_epu32' requires target feature 'sha', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'sha'
blocks.c: blocks.c:136:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: 136 | s0 = _mm_sha256rnds2_epu32(x0, s1, h1); \
blocks.c: | ^
blocks.c: blocks.c:176:3: error: always_inline function '_mm_sha256rnds2_epu32' requires target feature 'sha', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'sha'
blocks.c: blocks.c:139:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: 139 | x1 = _mm_sha256rnds2_epu32(s1, s0, h0); \
blocks.c: | ^
blocks.c: blocks.c:176:3: error: always_inline function '_mm_sha256rnds2_epu32' requires target feature 'sha', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'sha'
blocks.c: blocks.c:141:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: 141 | x0 = _mm_sha256rnds2_epu32(s0, x1, h0); \
blocks.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| dolbeau/amd64-sha | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| dolbeau/amd64-sha | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| dolbeau/amd64-sha | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| dolbeau/amd64-sha | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
Compiler output
blocks.c: blocks.c:85:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'ssse3'
blocks.c: 85 | d0 = _mm_shuffle_epi8(d0, vperm);
blocks.c: | ^
blocks.c: blocks.c:86:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'ssse3'
blocks.c: 86 | d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: | ^
blocks.c: blocks.c:97:7: error: '__builtin_ia32_palignr128' needs target feature ssse3
blocks.c: 97 | d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: | ^
blocks.c: /usr/lib/llvm-18/lib/clang/18/include/tmmintrin.h:157:13: note: expanded from macro '_mm_alignr_epi8'
blocks.c: 157 | ((__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
blocks.c: | ^
blocks.c: blocks.c:98:7: error: '__builtin_ia32_pblendw128' needs target feature sse4.1
blocks.c: 98 | d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: | ^
blocks.c: /usr/lib/llvm-18/lib/clang/18/include/smmintrin.h:522:13: note: expanded from macro '_mm_blend_epi16'
blocks.c: 522 | ((__m128i)__builtin_ia32_pblendw128((__v8hi)(__m128i)(V1), \
blocks.c: | ^
blocks.c: blocks.c:113:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'ssse3'
blocks.c: 113 | i0 = _mm_shuffle_epi8(i0, vperm);
blocks.c: | ^
blocks.c: blocks.c:114:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'ssse3'
blocks.c: 114 | i1 = _mm_shuffle_epi8(i1, vperm);
blocks.c: | ^
blocks.c: blocks.c:115:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex' that is compiled without support for 'ssse3'
blocks.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| dolbeau/amd64-sha | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
Compiler output
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:107,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/shaintrin.h: In function 'crypto_hashblocks_sha256_dolbeau_amd64_sha_constbranchindex':
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/shaintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_sha256rnds2_epu32': target specific option mismatch
blocks.c: 87 | _mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C)
blocks.c: | ^~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:146:22: note: called from here
blocks.c: 146 | s0 = _mm_sha256rnds2_epu32(x0, s1, h1)
blocks.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:188:17: note: in expansion of macro 'DO16ROUNDS'
blocks.c: 188 | DO16ROUNDS(j0, j1, j2, j3, cc, cd, ce, cf);
blocks.c: | ^~~~~~~~~~
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/shaintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_sha256rnds2_epu32': target specific option mismatch
blocks.c: 87 | _mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C)
blocks.c: | ^~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:144:22: note: called from here
blocks.c: 144 | s1 = _mm_sha256rnds2_epu32(x1, x0, h1); \
blocks.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:188:17: note: in expansion of macro 'DO16ROUNDS'
blocks.c: 188 | DO16ROUNDS(j0, j1, j2, j3, cc, cd, ce, cf);
blocks.c: | ^~~~~~~~~~
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/shaintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_sha256rnds2_epu32': target specific option mismatch
blocks.c: 87 | _mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C)
blocks.c: | ^~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:141:22: note: called from here
blocks.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| dolbeau/amd64-sha | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| dolbeau/amd64-sha | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| dolbeau/amd64-sha | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| dolbeau/amd64-sha | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 18, namely:
| Implementation | Compiler |
| inplace | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| inplace | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| inplace | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| inplace | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| inplace | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| inplace | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| inplace | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| inplace | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| inplace | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |