Implementation notes: amd64, hydra5, crypto_kem/lac192

Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: lac192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
254950723842 18600 30039961 19548 1984T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
255273328109 18600 30044579 19556 1984T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
255467428109 18600 30044579 19556 1984T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
262109916917 18600 30031659 19540 1984T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
339695719006 18600 30034393 19548 1984T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
339831927815 18624 32444420 19540 2048T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
349167420579 18624 32435556 19540 2048T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
388139816698 18624 32431116 19532 2016T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
801560127205 0 6043459 948 1728T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
801588327205 0 6043459 948 1728T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
822894523210 0 6039097 940 1728T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
824956516129 0 6030635 932 1728T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1017673927790 0 6044180 908 1792T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1958754220637 0 6036324 908 1792T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
1983279317342 0 6032561 940 1728T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
2016196719417 0 6034172 908 1792T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625
2095523915654 0 6029876 900 1760T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070220240625

Checksum failure


ec0bf71001731dea9af39da465c1a4f2d5fb272bb2bff1017a23306198cbd7ea

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


bin-lwe.c: bin-lwe.c:91:10: error: always_inline function '_mm256_set_epi16' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:         tmp_one=_mm256_set_epi16(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
bin-lwe.c:                 ^
bin-lwe.c: bin-lwe.c:91:10: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:103:9: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:                 tmp2 =_mm256_setzero_si256();
bin-lwe.c:                       ^
bin-lwe.c: bin-lwe.c:103:9: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:106:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:                         tmp0 = _mm256_loadu_si256((__m256i *)(v_p+j));
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:106:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:107:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:                         tmp1 = _mm256_loadu_si256((__m256i *)(s+j));
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:107:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:108:11: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'avx2', but would be inlined into function 'poly_mul' that is compiled without support for 'avx2'
bin-lwe.c:                         tmp0 = _mm256_maddubs_epi16(tmp0, tmp1);
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:108:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:109:11: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'poly_mul' that is compiled without support for 'avx2'
bin-lwe.c:                         tmp2 = _mm256_add_epi16(tmp2, tmp0);
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:109:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:111:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


bin-lwe.c: bin-lwe.c: In function 'poly_mul':
bin-lwe.c: bin-lwe.c:91:16: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
bin-lwe.c:    91 |         tmp_one=_mm256_set_epi16(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
bin-lwe.c:       |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bin-lwe.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
bin-lwe.c:                  from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1273:1: error: inlining failed in call to 'always_inline' '_mm256_set_epi16': target specific option mismatch
bin-lwe.c:  1273 | _mm256_set_epi16 (short __q15, short __q14, short __q13, short __q12,
bin-lwe.c:       | ^~~~~~~~~~~~~~~~
bin-lwe.c: bin-lwe.c:91:17: note: called from here
bin-lwe.c:    91 |         tmp_one=_mm256_set_epi16(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
bin-lwe.c:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bin-lwe.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
bin-lwe.c:                  from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1242:1: error: inlining failed in call to 'always_inline' '_mm256_setzero_si256': target specific option mismatch
bin-lwe.c:  1242 | _mm256_setzero_si256 (void)
bin-lwe.c:       | ^~~~~~~~~~~~~~~~~~~~
bin-lwe.c: bin-lwe.c:103:23: note: called from here
bin-lwe.c:   103 |                 tmp2 =_mm256_setzero_si256();
bin-lwe.c:       |                       ^~~~~~~~~~~~~~~~~~~~~~
bin-lwe.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
bin-lwe.c:                  from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:112:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi16': target specific option mismatch
bin-lwe.c:   112 | _mm256_add_epi16 (__m256i __A, __m256i __B)
bin-lwe.c:       | ^~~~~~~~~~~~~~~~
bin-lwe.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)