Implementation notes: amd64, gpu, crypto_sign/rainbow3c

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_sign
Primitive: rainbow3c
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
25424184? ? ?? ? ?portablegcc_-O_-fomit-frame-pointer2019091120190816
25646399? ? ?? ? ?portablegcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019091120190816
2584315857663 0 104862880529 864 1050232portableclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
25974684? ? ?? ? ?portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
26132601? ? ?? ? ?portablegcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019091120190816
26259615? ? ?? ? ?portablegcc_-m64_-march=k8_-O_-fomit-frame-pointer2019091120190816
26519771? ? ?? ? ?portablegcc_-march=nocona_-O2_-fomit-frame-pointer2019091120190816
26941359? ? ?? ? ?portablegcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
26994264? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019091120190816
27015716? ? ?? ? ?portablegcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
27061405? ? ?? ? ?portablegcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019091120190816
27065634? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019091120190816
27084265? ? ?? ? ?portablegcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019091120190816
27139017? ? ?? ? ?portablegcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
27246459? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019091120190816
27559962? ? ?? ? ?portablegcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019091120190816
27687948? ? ?? ? ?portablegcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019091120190816
2778256564690 0 104862886129 864 1050584portableclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
27789268? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019091120190816
27990753? ? ?? ? ?portablegcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
28030800? ? ?? ? ?portablegcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
28048168? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019091120190816
28062750? ? ?? ? ?portablegcc_-march=k8_-O2_-fomit-frame-pointer2019091120190816
28068768? ? ?? ? ?portablegcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019091120190816
28079744? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
28288242? ? ?? ? ?portablegcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
28293433? ? ?? ? ?portablegcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019091120190816
28428234? ? ?? ? ?portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
28452335? ? ?? ? ?portablegcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
28594557? ? ?? ? ?portablegcc_-m64_-O_-fomit-frame-pointer2019091120190816
28609728? ? ?? ? ?portablegcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019091120190816
28612728? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
28665558? ? ?? ? ?portablegcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
28864815? ? ?? ? ?portablegcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019091120190816
28893084? ? ?? ? ?portablegcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019091120190816
28928706? ? ?? ? ?portablegcc_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
2896783857663 0 104862881873 864 1050232portableclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
29079168? ? ?? ? ?portablegcc_-march=nocona_-O_-fomit-frame-pointer2019091120190816
29093274? ? ?? ? ?portablegcc_-O2_-fomit-frame-pointer2019091120190816
29094106? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019091120190816
29124270? ? ?? ? ?portablegcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019091120190816
29255015? ? ?? ? ?portablegcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019091120190816
29267346? ? ?? ? ?portablegcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
29333640? ? ?? ? ?portablegcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019091120190816
29456685? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019091120190816
2948104557663 0 104862881873 864 1050232portableclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
29553536? ? ?? ? ?portablegcc_-march=k8_-O_-fomit-frame-pointer2019091120190816
29564979? ? ?? ? ?portablegcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
2956563964690 0 104862886129 864 1050584portableclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019091120190816
29580338? ? ?? ? ?portablegcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019091120190816
29618976? ? ?? ? ?portablegcc_-m64_-O2_-fomit-frame-pointer2019091120190816
29657382? ? ?? ? ?portablegcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019091120190816
29732140? ? ?? ? ?portablegcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019091120190816
29759562? ? ?? ? ?portablegcc_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
3001206357663 0 104862881873 864 1050232portableclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
30040652? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019091120190816
30334044? ? ?? ? ?portablegcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019091120190816
3064593960498 0 104862881105 864 1050584portableclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3085440660498 0 104862881105 864 1050584portableclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
33087612? ? ?? ? ?portablegcc_-m64_-march=core2_-O_-fomit-frame-pointer2019091120190816

Test failure

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

Number of similar (compiler,implementation) pairs: 33, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer portable
gcc -fno-schedule-insns -O3 -fomit-frame-pointer portable
gcc -funroll-loops -O3 -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer portable
gcc -m64 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer portable
gcc -m64 -march=core2 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer portable
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer portable
gcc -m64 -march=k8 -O3 -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer portable
gcc -m64 -march=nocona -O3 -fomit-frame-pointer portable
gcc -march=barcelona -O3 -fomit-frame-pointer portable
gcc -march=k8 -O3 -fomit-frame-pointer portable
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv portable
gcc -march=nocona -O3 -fomit-frame-pointer portable
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

Test failure

Implementation: portable
Security model: unknown
Compiler: cc
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 139, namely:
CompilerImplementations
cc portable
gcc portable
gcc -Os -fomit-frame-pointer portable
gcc -fno-schedule-insns -Os -fomit-frame-pointer portable
gcc -funroll-loops portable
gcc -funroll-loops -Os -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer portable
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer portable
gcc -m64 -Os -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer portable
gcc -m64 -march=core2 -Os -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer portable
gcc -m64 -march=corei7 -Os -fomit-frame-pointer portable
gcc -m64 -march=k8 -Os -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer portable
gcc -m64 -march=nocona -Os -fomit-frame-pointer portable
gcc -march=barcelona -Os -fomit-frame-pointer portable
gcc -march=k8 -Os -fomit-frame-pointer portable
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv portable
gcc -march=nocona -Os -fomit-frame-pointer portable
cc ref
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments 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

Test failure

Implementation: portable
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
error 111
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer portable

Test failure

Implementation: portable
Security model: unknown
Compiler: gcc -m64 -march=barcelona -Os -fomit-frame-pointer
error 142
Alarm clock
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
gcc -m64 -march=barcelona -Os -fomit-frame-pointer portable
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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
blas.c: In file included from blas_avx2.h:11:0,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
blas.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: {
blas.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
rainbow.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: {
rainbow.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf16_log':
rainbow.c: gf16_avx2.h:70:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: static inline __m256i tbl32_gf16_log( __m256i a )
rainbow.c: ^~~~~~~~~~~~~~
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_sse.h: In function 'tbl_gf16_squ_x8':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
rainbow.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc avx2
gcc avx2
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 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=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: clang -O3 -fomit-frame-pointer -Qunused-arguments
rainbow.c: In file included from rainbow.c:4:
rainbow.c: In file included from ./rainbow.h:7:
rainbow.c: In file included from ./blas.h:21:
rainbow.c: In file included from ./blas_avx2.h:13:
rainbow.c: ./blas_sse.h:661:24: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function '_gf256mat_gauss_elim_sse' that is compiled without support for 'ssse3'
rainbow.c: __m128i madd_mask = _mm_shuffle_epi8( is_madd , _mm_set1_epi8(i_r) );
rainbow.c: ^
rainbow.c: In file included from rainbow.c:4:
rainbow.c: In file included from ./rainbow.h:7:
rainbow.c: In file included from ./blas.h:21:
rainbow.c: In file included from ./blas_avx2.h:11:
rainbow.c: In file included from ./gf16_avx2.h:8:
rainbow.c: ./gf16_sse.h:78:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tbl_gf16_squ_x8' that is compiled without support for 'ssse3'
rainbow.c: return _mm_shuffle_epi8(tab_l,a);
rainbow.c: ^
rainbow.c: ./gf16_sse.h:118:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tbl_gf16_mul' that is compiled without support for 'ssse3'
rainbow.c: __m128i la = _mm_shuffle_epi8(log_16,a);
rainbow.c: ^
rainbow.c: ./gf16_sse.h:119:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tbl_gf16_mul' that is compiled without support for 'ssse3'
rainbow.c: __m128i lb = _mm_shuffle_epi8(log_16,b);
rainbow.c: ^
rainbow.c: ./gf16_sse.h:122:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tbl_gf16_mul' that is compiled without support for 'ssse3'
rainbow.c: __m128i r0 = _mm_shuffle_epi8(exp_16, _mm_sub_epi8(la_lb, mask_f&_mm_cmpgt_epi8(la_lb,mask_f) ) );
rainbow.c: ^
rainbow.c: ./gf16_sse.h:85:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tbl_gf16_inv' that is compiled without support for 'ssse3'
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -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: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
rainbow.c: In file included from rainbow.c:4:
rainbow.c: In file included from ./rainbow.h:7:
rainbow.c: In file included from ./blas.h:21:
rainbow.c: ./blas_avx2.h:208:16: error: '__builtin_ia32_permti256' needs target feature avx2
rainbow.c: __m256i ml = _mm256_permute2x128_si256(mt,mt,0x00 );
rainbow.c: ^
rainbow.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/avx2intrin.h:975:12: note: expanded from macro '_mm256_permute2x128_si256'
rainbow.c: (__m256i)__builtin_ia32_permti256((__m256i)(V1), (__m256i)(V2), (M)); })
rainbow.c: ^
rainbow.c: In file included from rainbow.c:4:
rainbow.c: In file included from ./rainbow.h:7:
rainbow.c: In file included from ./blas.h:21:
rainbow.c: ./blas_avx2.h:209:16: error: '__builtin_ia32_permti256' needs target feature avx2
rainbow.c: __m256i mh = _mm256_permute2x128_si256(mt,mt,0x11 );
rainbow.c: ^
rainbow.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/avx2intrin.h:975:12: note: expanded from macro '_mm256_permute2x128_si256'
rainbow.c: (__m256i)__builtin_ia32_permti256((__m256i)(V1), (__m256i)(V2), (M)); })
rainbow.c: ^
rainbow.c: In file included from rainbow.c:4:
rainbow.c: In file included from ./rainbow.h:7:
rainbow.c: In file included from ./blas.h:21:
rainbow.c: ./blas_avx2.h:212:12: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'gf256mat_prod_multab_avx2' that is compiled without support for 'avx2'
rainbow.c: r[j] ^= _mm256_shuffle_epi8( ml , inp&mask_f );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:213:12: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'gf256mat_prod_multab_avx2' that is compiled without support for 'avx2'
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
blas.c: In file included from blas_avx2.h:11:0,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
blas.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: {
blas.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
rainbow.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: {
rainbow.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf16_log':
rainbow.c: gf16_avx2.h:70:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: static inline __m256i tbl32_gf16_log( __m256i a )
rainbow.c: ^~~~~~~~~~~~~~
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_sse.h: In function 'tbl_gf16_squ_x8':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
rainbow.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.c: ...
blas.c: In file included from blas_avx2.h:11:0,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
blas.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: {
blas.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
rainbow.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: {
rainbow.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf16_log':
rainbow.c: gf16_avx2.h:70:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: static inline __m256i tbl32_gf16_log( __m256i a )
rainbow.c: ^~~~~~~~~~~~~~
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_sse.h: In function 'tbl_gf16_squ_x8':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
rainbow.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.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
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf16_log':
rainbow.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
rainbow.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h:73:9: note: called from here
rainbow.c: return _mm256_shuffle_epi8(tab_l,a);
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.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
rainbow.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.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: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
rainbow.c: In file included from blas_avx2.h:13:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: rainbow.c: In function 'rainbow_verify':
rainbow.c: blas_sse.h:560:47: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) a[st_idx+i] = temp[i];
rainbow.c: ~^~
rainbow.c: blas_sse.h:560:3: note: within this loop
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) a[st_idx+i] = temp[i];
rainbow.c: ^~~
rainbow.c: blas_sse.h:547:47: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) temp[i] = a[i+st_idx];
rainbow.c: ~^~
rainbow.c: blas_sse.h:547:3: note: within this loop
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) temp[i] = a[i+st_idx];
rainbow.c: ^~~
rainbow.c: blas_sse.h:547:47: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) temp[i] = a[i+st_idx];
rainbow.c: ~^~
rainbow.c: blas_sse.h:547:3: note: within this loop
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) temp[i] = a[i+st_idx];
rainbow.c: ^~~
rainbow.c: blas_sse.h:560:47: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) a[st_idx+i] = temp[i];
rainbow.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer
rainbow.c: In file included from blas_avx2.h:13:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_sse.h: In function 'gf256v_madd_sse.constprop':
rainbow.c: blas_sse.h:560:47: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) a[st_idx+i] = temp[i];
rainbow.c: ~^~
rainbow.c: blas_sse.h:560:3: note: within this loop
rainbow.c: for(int i=((int)(_num_byte-st_idx))-1;i>=0;i--) a[st_idx+i] = temp[i];
rainbow.c: ^~~

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
blas.c: In file included from blas_avx2.h:11:0,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
blas.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: {
blas.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
rainbow.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: {
rainbow.c: ^
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf16_avx2.h: In function 'tbl32_gf16_log':
rainbow.c: gf16_avx2.h:70:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: static inline __m256i tbl32_gf16_log( __m256i a )
rainbow.c: ^~~~~~~~~~~~~~
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:21,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.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
rainbow.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from blas_avx2.h:11:0,
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
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

Compiler output

Implementation: portable
Security model: unknown
Compiler: gcc -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

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

Compiler output

Implementation: portable
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: 2, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer portable
gcc -m64 -march=barcelona -O -fomit-frame-pointer portable