Implementation notes: amd64, wooden, crypto_encode/857xfreeze3
Computer: wooden
Microarchitecture: amd64; Goldmont (506c9)
Architecture: amd64
CPU ID: GenuineIntel-000506c9-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_encode
Primitive: 857xfreeze3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
1286 | 1390 0 0 | 12605 752 800 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
1392 | 344 0 0 | 11313 784 728 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
1392 | 344 0 0 | 13617 784 728 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
1868 | 535 0 0 | 12425 784 728 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
4406 | 96 0 0 | 9223 776 728 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
4954 | 95 0 0 | 8816 728 768 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
5050 | 109 0 0 | 9764 744 800 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
5236 | 113 0 0 | 10189 752 800 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
6068 | 191 0 0 | 9831 776 728 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
Compiler output
encode.c: encode.c:15:19: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_encode_857xfreeze3_avx_constbranchindex' that is compiled without support for 'avx'
encode.c: __m256i x = _mm256_loadu_si256((__m256i *) r);
encode.c: ^
encode.c: encode.c:15:19: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encode.c: encode.c:16:41: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'crypto_encode_857xfreeze3_avx_constbranchindex' that is compiled without support for 'avx'
encode.c: __m256i y = _mm256_mulhrs_epi16(x,_mm256_set1_epi16(10923));
encode.c: ^
encode.c: encode.c:16:41: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encode.c: encode.c:16:19: error: always_inline function '_mm256_mulhrs_epi16' requires target feature 'avx2', but would be inlined into function 'crypto_encode_857xfreeze3_avx_constbranchindex' that is compiled without support for 'avx2'
encode.c: __m256i y = _mm256_mulhrs_epi16(x,_mm256_set1_epi16(10923));
encode.c: ^
encode.c: encode.c:16:19: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encode.c: encode.c:17:11: error: always_inline function '_mm256_sub_epi16' requires target feature 'avx2', but would be inlined into function 'crypto_encode_857xfreeze3_avx_constbranchindex' that is compiled without support for 'avx2'
encode.c: x = _mm256_sub_epi16(x,y);
encode.c: ^
encode.c: encode.c:17:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encode.c: encode.c:18:11: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'crypto_encode_857xfreeze3_avx_constbranchindex' that is compiled without support for 'avx2'
encode.c: y = _mm256_add_epi16(y,y);
encode.c: ^
encode.c: encode.c:18:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encode.c: encode.c:19:11: error: always_inline function '_mm256_sub_epi16' requires target feature 'avx2', but would be inlined into function 'crypto_encode_857xfreeze3_avx_constbranchindex' that is compiled without support for 'avx2'
encode.c: x = _mm256_sub_epi16(x,y);
encode.c: ^
encode.c: encode.c:19:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encode.c: encode.c:20:20: error: '__builtin_ia32_vextractf128_si256' needs target feature avx
encode.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encode.c: encode.c: In function 'crypto_encode_857xfreeze3_avx_constbranchindex':
encode.c: encode.c:15:15: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encode.c: 15 | __m256i x = _mm256_loadu_si256((__m256i *) r);
encode.c: | ^
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:523:1: error: inlining failed in call to 'always_inline' '_mm256_extractf128_si256': target specific option mismatch
encode.c: 523 | _mm256_extractf128_si256 (__m256i __X, const int __N)
encode.c: | ^~~~~~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:21:20: note: called from here
encode.c: 21 | __m128i x1 = _mm256_extractf128_si256(x,1);
encode.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:523:1: error: inlining failed in call to 'always_inline' '_mm256_extractf128_si256': target specific option mismatch
encode.c: 523 | _mm256_extractf128_si256 (__m256i __X, const int __N)
encode.c: | ^~~~~~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:20:20: note: called from here
encode.c: 20 | __m128i x0 = _mm256_extractf128_si256(x,0);
encode.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:808:1: error: inlining failed in call to 'always_inline' '_mm256_sub_epi16': target specific option mismatch
encode.c: 808 | _mm256_sub_epi16 (__m256i __A, __m256i __B)
encode.c: | ^~~~~~~~~~~~~~~~
encode.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |