Implementation notes: amd64, cryptothinkx, crypto_hash/bash256

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: bash256
TimeImplementationCompilerBenchmark dateSUPERCOP version
8682avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2017013020170105
8961avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013020170105
8964avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
8967avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017013020170105
9852avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017013020170105
9852avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017013020170105
9867avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2017013020170105
10116avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2017013020170105
10134avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017013020170105
10137avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017013020170105
10140avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017013020170105
10185avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2017013020170105
10206avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017013020170105
10386avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017013020170105
10413avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2017013020170105
10443avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017013020170105
15273refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017013020170105
15444refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017013020170105
15462refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2017013020170105
15750refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017013020170105
15753refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2017013020170105
15756refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017013020170105
15765refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2017013020170105
15981refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017013020170105
16836refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
16848refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017013020170105
16899refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017013020170105
16905refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017013020170105
17022refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017013020170105
17028refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017013020170105
17040refgcc -funroll-loops -O -fomit-frame-pointer2017013020170105
17040refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017013020170105
17064refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017013020170105
17070refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017013020170105
17079refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017013020170105
17097refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
17115refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017013020170105
17118refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017013020170105
17118refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017013020170105
17133refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017013020170105
17139refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
17142refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017013020170105
17259refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017013020170105
17262refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017013020170105
17268refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017013020170105
17274refgcc -funroll-loops -O3 -fomit-frame-pointer2017013020170105
17274refgcc -march=k8 -O -fomit-frame-pointer2017013020170105
17277refgcc -m64 -march=core2 -O -fomit-frame-pointer2017013020170105
17280refgcc -m64 -march=nocona -O -fomit-frame-pointer2017013020170105
17286refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017013020170105
17289refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017013020170105
17295refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017013020170105
17298refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017013020170105
17301refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017013020170105
17319refgcc -funroll-loops -O2 -fomit-frame-pointer2017013020170105
17370refgcc -fno-schedule-insns -O -fomit-frame-pointer2017013020170105
17373refgcc -m64 -O -fomit-frame-pointer2017013020170105
17388refgcc -O -fomit-frame-pointer2017013020170105
17481refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
17538refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
17544refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
17550refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
17553refgcc -march=barcelona -O -fomit-frame-pointer2017013020170105
17568refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017013020170105
17568refgcc -march=nocona -O3 -fomit-frame-pointer2017013020170105
17571refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017013020170105
17592refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
17604refclang -O3 -fomit-frame-pointer -Qunused-arguments2017013020170105
17604refgcc -march=nocona -O2 -fomit-frame-pointer2017013020170105
17607refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017013020170105
17706refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017013020170105
17754refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017013020170105
17766refgcc -O2 -fomit-frame-pointer2017013020170105
17778refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017013020170105
17781refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017013020170105
17784refgcc -m64 -O2 -fomit-frame-pointer2017013020170105
17784refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017013020170105
17790refgcc -m64 -O3 -fomit-frame-pointer2017013020170105
17796refgcc -march=nocona -O -fomit-frame-pointer2017013020170105
17799refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017013020170105
17802refgcc -O3 -fomit-frame-pointer2017013020170105
17808refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017013020170105
17817refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017013020170105
17817refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017013020170105
17820refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017013020170105
17820refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017013020170105
17823refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017013020170105
17844refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017013020170105
17853refgcc -m64 -march=k8 -O -fomit-frame-pointer2017013020170105
17859refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017013020170105
17871refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017013020170105
17880refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017013020170105
17886refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017013020170105
17886refgcc -march=k8 -O2 -fomit-frame-pointer2017013020170105
17904refgcc -march=k8 -O3 -fomit-frame-pointer2017013020170105
17910refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
17913refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
17916refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
17928refgcc -march=barcelona -O3 -fomit-frame-pointer2017013020170105
17937refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2017013020170105
18327refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
18399refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017013020170105
18441refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013020170105
18492refgcc -march=barcelona -O2 -fomit-frame-pointer2017013020170105
18513refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
18543refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017013020170105
18573refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2017013020170105
18603refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013020170105
24840refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017013020170105
26679refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017013020170105

Checksum failure

Implementation: crypto_hash/bash256/ref
Compiler: cc
e8496f7c0a80f87022012d0e76a2ba92f75dbac914504b74b4def5f0e9ec0be8
Number of similar (compiler,implementation) pairs: 29, namely:
CompilerImplementations
cc ref
gcc ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_hash/bash256/ref
Compiler: gcc -m64 -march=barcelona -Os -fomit-frame-pointer
e8496f7c0a80f87022012d0e76a2ba92f75dbac914504b74b4def5f0e9ec0be8 e8496f7c0a80f87022012d0e76a2ba92f75dbac914504b74b4def5f0e9ec0be8
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/bash256/avx2
Compiler: cc
bash_avx2.c: bash_avx2.c:70:2: error: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c: In function ‘bashavx2_F0’:
bash_avx2.c: bash_avx2.c:271:5: error: unknown type name ‘u256’
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:272:5: error: unknown type name ‘u256’
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c: ...
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:265:9: note: in expansion of macro ‘bashR1’
bash_avx2.c: bashR1(W0,W1,W2,W3,W4,W5,C23 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:279:5: note: in expansion of macro ‘bashFP’
bash_avx2.c: bashFP(W0,W1,W2,W3,W4,W5 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:281:5: warning: implicit declaration of function ‘STOREW’ [-Wimplicit-function-declaration]
bash_avx2.c: STOREW( S + 0, W0 );
bash_avx2.c: ^

Number of similar (compiler,implementation) pairs: 95, 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=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=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-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=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: crypto_hash/bash256/avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
bash_avx2.c: bash_avx2.c:70:2: error: "The compiler does not support AVX2 intrinsics."
bash_avx2.c: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:271:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:272:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:273:5: error: use of undeclared identifier 'u256'
bash_avx2.c: ...
bash_avx2.c: bashFP(W0,W1,W2,W3,W4,W5 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:279:52: error: use of undeclared identifier 'U2'
bash_avx2.c: bashFP(W0,W1,W2,W3,W4,W5 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:279:24: error: use of undeclared identifier 'W4'
bash_avx2.c: bashFP(W0,W1,W2,W3,W4,W5 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
bash_avx2.c: 2 warnings and 20 errors generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -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 -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: crypto_hash/bash256/avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
bash_avx2.c: bash_avx2.c:70:2: error: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c: In function ‘bashavx2_F0’:
bash_avx2.c: bash_avx2.c:271:5: error: unknown type name ‘u256’
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:272:5: error: unknown type name ‘u256’
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c: ...
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:265:9: note: in expansion of macro ‘bashR1’
bash_avx2.c: bashR1(W0,W1,W2,W3,W4,W5,C23 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:279:5: note: in expansion of macro ‘bashFP’
bash_avx2.c: bashFP(W0,W1,W2,W3,W4,W5 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:281:5: warning: implicit declaration of function ‘STOREW’ [-Wimplicit-function-declaration]
bash_avx2.c: STOREW( S + 0, W0 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:70:2: error: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c: In function ‘bashavx2_F0’:
bash_avx2.c: bash_avx2.c:271:5: error: unknown type name ‘u256’
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:272:5: error: unknown type name ‘u256’
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c: ...
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:265:9: note: in expansion of macro ‘bashR1’
bash_avx2.c: bashR1(W0,W1,W2,W3,W4,W5,C23 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:279:5: note: in expansion of macro ‘bashFP’
bash_avx2.c: bashFP(W0,W1,W2,W3,W4,W5 ,S1,S2,T0,T1,T2,U0,U1,U2);
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:281:5: warning: implicit declaration of function ‘STOREW’ [-Wimplicit-function-declaration]
bash_avx2.c: STOREW( S + 0, W0 );
bash_avx2.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