Implementation notes: amd64, gpu, crypto_kem/ntruhps2048677

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5361966? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019101220190816
5382282? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
5415669? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
5477133? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019101220190816
5582250? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
6417837? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019101220190816
6463566? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
6470568? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019101220190816
6598332? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
6602949? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101220190816
6624885? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
6635211? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101220190816
6768708? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019101220190816
7026468? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019101220190816
7052847? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019101220190816
7151802? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019101220190816
7160139? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
7252833? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019101220190816
7269201? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019101220190816
7366170? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019101220190816
7384632? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
744993358216 0 080362 824 1920refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019101220190816
7588134? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
7706922? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019101220190816
804063059164 0 082026 824 1920refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
821196959164 0 082026 824 1920refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019101220190816
8216388? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019101220190816
8231193? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
8244390? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019101220190816
8275809? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019101220190816
8278191? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019101220190816
8416800? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019101220190816
8418681? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
8584290? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101220190816
8649837? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019101220190816
8694981? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
8717292? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019101220190816
8930409? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019101220190816
9055503? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019101220190816
9071640? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019101220190816
9081675? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019101220190816
911318758216 0 080362 824 1920refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019101220190816
9118125? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
9155409? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019101220190816
919136734822 0 060090 824 1568refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
9193200? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019101220190816
926079934822 0 060090 824 1568refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
9287598? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019101220190816
9304833? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
930822935126 0 059066 824 1568refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019101220190816
9315642? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019101220190816
934418134822 0 060090 824 1568refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
9355890? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
9458820? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019101220190816
9466602? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019101220190816
9471861? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
9523032? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019101220190816
9719880? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019101220190816
9807003? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101220190816
9892917? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019101220190816
12565266? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019101220190816
12605835? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019101220190816
12629469? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
12631038? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019101220190816
12634512? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019101220190816
12637605? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019101220190816
12641079? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019101220190816
12647982? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019101220190816
12664692? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019101220190816
12691737? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019101220190816
12722520? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019101220190816
12728937? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019101220190816
12732951? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019101220190816
12747144? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019101220190816
12767982? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019101220190816
12783720? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019101220190816
12784059? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019101220190816
12806496? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019101220190816
12831390? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019101220190816
12869157? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
12877794? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019101220190816
12900981? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019101220190816
12962346? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019101220190816
13016001? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
13027911? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
13040859? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019101220190816
13507389? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019101220190816
13578951? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019101220190816
13582959? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
13641207? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019101220190816
13705368? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
13750971? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019101220190816
13755909? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019101220190816
13834101? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019101220190816
13846278? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019101220190816
13888764? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
13947291? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101220190816
13960530? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101220190816
14157258? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
14180628? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
14313888? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019101220190816
14442915? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019101220190816
14480520? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
14487627? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019101220190816
14518428? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
14526990? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019101220190816
14639898? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019101220190816
14776866? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019101220190816
14797506? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019101220190816
14930856? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
14981583? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019101220190816
15854250? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019101220190816
30485376? ? ?? ? ?refcc2019101220190816
31715238? ? ?? ? ?refgcc2019101220190816
33214842? ? ?? ? ?refgcc_-funroll-loops2019101220190816

Test failure

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_frombits':
poly_s3_inv.c: poly_s3_inv.c:39:12: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
poly_s3_inv.c: vec256 b0 = _mm256_loadu_si256((vec256 *) b); b += 32; /* 0,1,...,31 */
poly_s3_inv.c: ^~
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_swap':
poly_s3_inv.c: poly_s3_inv.c:187:20: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
poly_s3_inv.c: static inline void vec256_swap(vec256 *f,vec256 *g,int len,vec256 mask)
poly_s3_inv.c: ^~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_bit0mask':
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1459:1: error: inlining failed in call to always_inline '_mm256_castsi256_si128': target specific option mismatch
poly_s3_inv.c: _mm256_castsi256_si128 (__m256i __A)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:239:12: note: called from here
poly_s3_inv.c: return -(_mm_cvtsi128_si32(_mm256_castsi256_si128(f[0])) & 1);
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc avx2
gcc avx2
gcc -funroll-loops avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
poly_s3_inv.c: poly_s3_inv.c:371:28: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:371:39: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:371:50: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:371:61: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:371:72: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:371:83: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:371:94: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:371:105: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:372:28: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
poly_s3_inv.c: poly_s3_inv.c: In function '__poly_S3_inv':
poly_s3_inv.c: poly_s3_inv.c:371:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_swap':
poly_s3_inv.c: poly_s3_inv.c:187:20: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
poly_s3_inv.c: static inline void vec256_swap(vec256 *f,vec256 *g,int len,vec256 mask)
poly_s3_inv.c: ^~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_frombits':
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:597:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi32': target specific option mismatch
poly_s3_inv.c: _mm256_shuffle_epi32 (__m256i __A, const int __mask)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:78:7: note: called from here
poly_s3_inv.c: h = _mm256_shuffle_epi32(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
poly_s3_inv.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:77:7: note: called from here
poly_s3_inv.c: h = _mm256_permute4x64_epi64(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: ...

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx2
gcc -m64 -O2 -fomit-frame-pointer avx2
gcc -m64 -O3 -fomit-frame-pointer avx2
gcc -m64 -O -fomit-frame-pointer avx2
gcc -m64 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -march=barcelona -O -fomit-frame-pointer avx2
gcc -march=barcelona -Os -fomit-frame-pointer avx2
gcc -march=k8 -O2 -fomit-frame-pointer avx2
gcc -march=k8 -O3 -fomit-frame-pointer avx2
gcc -march=k8 -O -fomit-frame-pointer avx2
gcc -march=k8 -Os -fomit-frame-pointer avx2
gcc -march=nocona -O2 -fomit-frame-pointer avx2
gcc -march=nocona -O3 -fomit-frame-pointer avx2
gcc -march=nocona -O -fomit-frame-pointer avx2
gcc -march=nocona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
poly_s3_inv.c: poly_s3_inv.c: In function '__poly_S3_inv':
poly_s3_inv.c: poly_s3_inv.c:371:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_swap':
poly_s3_inv.c: poly_s3_inv.c:187:20: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
poly_s3_inv.c: static inline void vec256_swap(vec256 *f,vec256 *g,int len,vec256 mask)
poly_s3_inv.c: ^~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_frombits':
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:597:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi32': target specific option mismatch
poly_s3_inv.c: _mm256_shuffle_epi32 (__m256i __A, const int __mask)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:78:7: note: called from here
poly_s3_inv.c: h = _mm256_shuffle_epi32(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
poly_s3_inv.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:77:7: note: called from here
poly_s3_inv.c: h = _mm256_permute4x64_epi64(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: ...
poly_s3_inv.c: poly_s3_inv.c: In function '__poly_S3_inv':
poly_s3_inv.c: poly_s3_inv.c:371:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_swap':
poly_s3_inv.c: poly_s3_inv.c:187:20: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
poly_s3_inv.c: static inline void vec256_swap(vec256 *f,vec256 *g,int len,vec256 mask)
poly_s3_inv.c: ^~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_frombits':
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:597:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi32': target specific option mismatch
poly_s3_inv.c: _mm256_shuffle_epi32 (__m256i __A, const int __mask)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:78:7: note: called from here
poly_s3_inv.c: h = _mm256_shuffle_epi32(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
poly_s3_inv.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:77:7: note: called from here
poly_s3_inv.c: h = _mm256_permute4x64_epi64(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: poly_s3_inv.c: In function 'vec256_frombits':
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:597:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi32': target specific option mismatch
poly_s3_inv.c: _mm256_shuffle_epi32 (__m256i __A, const int __mask)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:78:7: note: called from here
poly_s3_inv.c: h = _mm256_shuffle_epi32(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
poly_s3_inv.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:77:7: note: called from here
poly_s3_inv.c: h = _mm256_permute4x64_epi64(h,0xd8);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
poly_s3_inv.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:76:7: note: called from here
poly_s3_inv.c: h = _mm256_shuffle_epi8(h,TRANSPOSE);
poly_s3_inv.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 103, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref