Implementation notes: amd64, scw1b63b1, crypto_decode/857x1723

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_decode
Primitive: 857x1723
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
161482256 0 011155 776 728int16clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
165724148 0 016156 808 800int16gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
166042407 0 013049 784 728int16clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
166202407 0 012225 784 728int16clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
166242407 0 012225 784 728int16clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
171342269 0 012115 800 800int16gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
172442402 0 013121 784 728int16clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
176642237 0 011931 800 800int16gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
180462203 0 010975 784 768int16gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
228765603 0 017612 808 800portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
238142845 0 012683 800 800portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
262803131 0 012953 784 728portableclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
262803131 0 013777 784 728portableclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
262803131 0 012953 784 728portableclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
262922778 0 011683 776 728portableclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
271543130 0 013849 784 728portableclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
535681369 0 013396 808 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
554841368 0 011217 784 728refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
555101368 0 012041 784 728refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
555301368 0 011217 784 728refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
567561262 0 011115 800 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
575261633 0 010455 784 768portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
578861783 0 011499 800 800portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
584521166 0 010059 776 728refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
587361368 0 012113 784 728refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
669061058 0 09807 784 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
677501259 0 010939 800 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
decode.c: decode.c:248:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'xsave'
decode.c: A2 = A0 = _mm256_loadu_si256((__m256i *) &R5[i]);
decode.c: ^
decode.c: decode.c:249:10: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'xsave'
decode.c: S0 = _mm256_loadu_si256((__m256i *) (s+2*i));
decode.c: ^
decode.c: decode.c:250:10: error: always_inline function '_mm256_srli_epi16' requires target feature 'xsave', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'xsave'
decode.c: S1 = _mm256_srli_epi16(S0,8);
decode.c: ^
decode.c: decode.c:251:11: error: always_inline function '_mm256_set1_epi16' requires target feature 'xsave', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'xsave'
decode.c: ...
decode.c: _mm256_storeu_si256((__m256i *) (16+&R3[2*i]),C1);
decode.c: ^
decode.c: decode.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'xsave'
decode.c: A2 = A0 = _mm256_loadu_si256((__m256i *) &R3[i]);
decode.c: ^
decode.c: decode.c:332:10: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'xsave'
decode.c: S0 = _mm256_loadu_si256((__m256i *) (s+2*i));
decode.c: ^
decode.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
decode.c: 20 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
decode.c: decode.c:248:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'sse4.2'
decode.c: A2 = A0 = _mm256_loadu_si256((__m256i *) &R5[i]);
decode.c: ^
decode.c: decode.c:249:10: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'sse4.2'
decode.c: S0 = _mm256_loadu_si256((__m256i *) (s+2*i));
decode.c: ^
decode.c: decode.c:250:10: error: always_inline function '_mm256_srli_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'sse4.2'
decode.c: S1 = _mm256_srli_epi16(S0,8);
decode.c: ^
decode.c: decode.c:251:11: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'sse4.2'
decode.c: ...
decode.c: _mm256_storeu_si256((__m256i *) (16+&R3[2*i]),C1);
decode.c: ^
decode.c: decode.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'sse4.2'
decode.c: A2 = A0 = _mm256_loadu_si256((__m256i *) &R3[i]);
decode.c: ^
decode.c: decode.c:332:10: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_decode_857x1723_avx' that is compiled without support for 'sse4.2'
decode.c: S0 = _mm256_loadu_si256((__m256i *) (s+2*i));
decode.c: ^
decode.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
decode.c: 20 errors generated.

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
decode.c: decode.c: In function ‘add’:
decode.c: decode.c:21:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
decode.c: {
decode.c: ^
decode.c: decode.c: In function ‘signedshiftrightconst’:
decode.c: decode.c:35:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
decode.c: static inline __m256i signedshiftrightconst(__m256i x,int16 y)
decode.c: ^~~~~~~~~~~~~~~~~~~~~
decode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:43:0,
decode.c: from decode.c:3:
decode.c: decode.c: In function ‘add’:
decode.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx2intrin.h:112:1: error: inlining failed in call to always_inline ‘_mm256_add_epi16’: target specific option mismatch
decode.c: _mm256_add_epi16 (__m256i __A, __m256i __B)
decode.c: ^~~~~~~~~~~~~~~~
decode.c: decode.c:22:10: note: called from here
decode.c: return _mm256_add_epi16(x,y);
decode.c: ^~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx