Implementation notes: armeabi, flops, crypto_hash/blake2b

Computer: flops
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20140622
Operation: crypto_hash
Primitive: blake2b
TimeImplementationCompilerBenchmark dateSUPERCOP version
64980regsgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
65047regsgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
66586regsgcc -Os -fomit-frame-pointer2014042820140425
66610regsgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
66640regsgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
66778regsgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
68492regsgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014042820140425
68989regsgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
69017regsgcc -funroll-loops -Os -fomit-frame-pointer2014042820140425
70256regsgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014042820140425
77386regsgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042820140425
77622regsgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042820140425
78618regsgcc -funroll-loops -O -fomit-frame-pointer2014042820140425
78625regsgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
80285regsgcc -mcpu=arm810 -Os -fomit-frame-pointer2014042820140425
80358regsgcc -mcpu=arm8 -Os -fomit-frame-pointer2014042820140425
80416regsgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014042820140425
80423regsgcc -mcpu=strongarm -Os -fomit-frame-pointer2014042820140425
80438regsgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014042820140425
80938regsgcc -O3 -fomit-frame-pointer2014042820140425
80939regsgcc -O2 -fomit-frame-pointer2014042820140425
81035regsgcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014042820140425
81098regsgcc -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
81100regsgcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014042820140425
81119regsgcc -O -fomit-frame-pointer2014042820140425
81926regsgcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014042820140425
82124regsgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014042820140425
82288regsgcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014042820140425
82382regsgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014042820140425
82671regsgcc -funroll-loops -O2 -fomit-frame-pointer2014042820140425
82785regsgcc -funroll-loops -O3 -fomit-frame-pointer2014042820140425
85691regsgcc -mcpu=strongarm110 -O -fomit-frame-pointer2014042820140425
85721regsgcc -mcpu=strongarm -O -fomit-frame-pointer2014042820140425
85761regsgcc -mcpu=arm8 -O -fomit-frame-pointer2014042820140425
85768regsgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014042820140425
86051regsgcc -mcpu=arm810 -O -fomit-frame-pointer2014042820140425
98704regsgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014042820140425
98948regsgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014042820140425
98987regsgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014042820140425
99023regsgcc -mcpu=arm8 -O2 -fomit-frame-pointer2014042820140425
99044regsgcc -mcpu=arm810 -O2 -fomit-frame-pointer2014042820140425
99176regsgcc -mcpu=strongarm -O2 -fomit-frame-pointer2014042820140425
99254regsgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014042820140425
99289regsgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014042820140425
99526regsgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014042820140425
99548regsgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014042820140425
107743regsgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042820140425
152298regsgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042820140425
153176regsgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042820140425
175521regsgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042820140425
176104regsgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042820140425
180765regsgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042820140425
204284regsgcc2014042820140425
204500regsgcc -funroll-loops2014042820140425
206389regscc2014042820140425

Compiler output

Implementation: crypto_hash/blake2b/xmm
Compiler: cc
blake2b.c: In file included from blake2b.c:6:0:
blake2b.c: blake2-config.h:68:2: error: #error "This code requires at least SSE2."
blake2b.c: blake2b.c:11:23: fatal error: immintrin.h: No such file or directory
blake2b.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 70, namely:
CompilerImplementations
cc xmm ymm
gcc xmm ymm
gcc -O2 -fomit-frame-pointer xmm ymm
gcc -O3 -fomit-frame-pointer xmm ymm
gcc -O -fomit-frame-pointer xmm ymm
gcc -Os -fomit-frame-pointer xmm ymm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer xmm ymm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer xmm ymm
gcc -fno-schedule-insns -O -fomit-frame-pointer xmm ymm
gcc -fno-schedule-insns -Os -fomit-frame-pointer xmm ymm
gcc -funroll-loops xmm ymm
gcc -funroll-loops -O2 -fomit-frame-pointer xmm ymm
gcc -funroll-loops -O3 -fomit-frame-pointer xmm ymm
gcc -funroll-loops -O -fomit-frame-pointer xmm ymm
gcc -funroll-loops -Os -fomit-frame-pointer xmm ymm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer xmm ymm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer xmm ymm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer xmm ymm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer xmm ymm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer xmm ymm

Compiler output

Implementation: crypto_hash/blake2b/avxicc
Compiler: cc
blake2b.s: blake2b.s: Assembler messages:
blake2b.s: blake2b.s:3: Error: unknown pseudo-op: `.intel_syntax'
blake2b.s: blake2b.s:7: Error: alignment too large: 15 assumed
blake2b.s: blake2b.s:14: Error: ARM register expected -- `sub rsp,552'
blake2b.s: blake2b.s:16: Error: bad instruction `xor r11d,r11d'
blake2b.s: blake2b.s:17: Error: bad instruction `xor ecx,ecx'
blake2b.s: blake2b.s:18: Error: immediate expression requires a # prefix -- `mov r9,rsi'
blake2b.s: blake2b.s:19: Error: bad instruction `vmovdqu xmm2,XMMWORD PTR .L_2il0floatpacket.13[rip]'
blake2b.s: blake2b.s:20: Error: bad instruction `xor eax,eax'
blake2b.s: blake2b.s:21: Error: bad instruction `vmovdqu xmm3,XMMWORD PTR .L_2il0floatpacket.14[rip]'
blake2b.s: blake2b.s:22: Error: immediate expression requires a # prefix -- `mov r8,rdx'
blake2b.s: blake2b.s:23: Error: bad instruction `vmovdqu xmm4,XMMWORD PTR .L_2il0floatpacket.15[rip]'
blake2b.s: blake2b.s:24: Error: bad instruction `xor r10d,r10d'
blake2b.s: blake2b.s:25: Error: bad instruction `vmovdqu xmm11,XMMWORD PTR .L_2il0floatpacket.16[rip]'
blake2b.s: blake2b.s:26: Error: bad instruction `vmovdqu xmm1,XMMWORD PTR .L_2il0floatpacket.11[rip]'
blake2b.s: blake2b.s:27: Error: bad instruction `vmovdqu xmm0,XMMWORD PTR .L_2il0floatpacket.12[rip]'
blake2b.s: blake2b.s:28: Error: bad instruction `vmovdqu XMMWORD PTR[448+rsp],xmm2'
blake2b.s: blake2b.s:29: Error: bad instruction `vmovdqu XMMWORD PTR[464+rsp],xmm3'
blake2b.s: blake2b.s:30: Error: bad instruction `vmovdqu XMMWORD PTR[496+rsp],xmm4'
blake2b.s: blake2b.s:31: Error: bad instruction `vmovdqu XMMWORD PTR[480+rsp],xmm11'
blake2b.s: blake2b.s:32: Error: bad instruction `vmovdqu xmm5,XMMWORD PTR .L_2il0floatpacket.17[rip]'
blake2b.s: blake2b.s:33: Error: ARM register expected -- `cmp rdx,128'
blake2b.s: blake2b.s:34: Error: bad instruction `jbe ..B1.5'
blake2b.s: blake2b.s:37: Error: ARM register expected -- `mov QWORD PTR[rsp],rbp'
blake2b.s: blake2b.s:38: Error: bad instruction `lea rsi,QWORD PTR[-1+rdx]'
blake2b.s: ...

Number of similar (compiler,implementation) pairs: 55, namely:
CompilerImplementations
cc avxicc
gcc avxicc
gcc -O2 -fomit-frame-pointer avxicc
gcc -O3 -fomit-frame-pointer avxicc
gcc -O -fomit-frame-pointer avxicc
gcc -Os -fomit-frame-pointer avxicc
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avxicc
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avxicc
gcc -fno-schedule-insns -O -fomit-frame-pointer avxicc
gcc -fno-schedule-insns -Os -fomit-frame-pointer avxicc
gcc -funroll-loops avxicc
gcc -funroll-loops -O2 -fomit-frame-pointer avxicc
gcc -funroll-loops -O3 -fomit-frame-pointer avxicc
gcc -funroll-loops -O -fomit-frame-pointer avxicc
gcc -funroll-loops -Os -fomit-frame-pointer avxicc
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avxicc
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avxicc
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avxicc
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avxicc
gcc -mcpu=arm810 -O2 -fomit-frame-pointer avxicc
gcc -mcpu=arm810 -O3 -fomit-frame-pointer avxicc
gcc -mcpu=arm810 -O -fomit-frame-pointer avxicc
gcc -mcpu=arm810 -Os -fomit-frame-pointer avxicc
gcc -mcpu=arm8 -O2 -fomit-frame-pointer avxicc
gcc -mcpu=arm8 -O3 -fomit-frame-pointer avxicc
gcc -mcpu=arm8 -O -fomit-frame-pointer avxicc
gcc -mcpu=arm8 -Os -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avxicc
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avxicc
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer avxicc
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer avxicc
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer avxicc
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer avxicc
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer avxicc
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer avxicc
gcc -mcpu=strongarm110 -O -fomit-frame-pointer avxicc
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer avxicc
gcc -mcpu=strongarm -O2 -fomit-frame-pointer avxicc
gcc -mcpu=strongarm -O3 -fomit-frame-pointer avxicc
gcc -mcpu=strongarm -O -fomit-frame-pointer avxicc
gcc -mcpu=strongarm -Os -fomit-frame-pointer avxicc

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: cc
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init0':
blake2b-ref.c: blake2b-ref.c:144:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: blake2b-ref.c:144:3: note: use option -std=c99 or -std=gnu99 to compile your code
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init_param':
blake2b-ref.c: blake2b-ref.c:156:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_final':
blake2b-ref.c: blake2b-ref.c:329:3: error: 'for' loop initial declarations are only allowed in C99 mode

Number of similar (compiler,implementation) pairs: 35, 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 -mcpu=cortex-a5 -O2 -fomit-frame-pointer ref
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer ref
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer ref
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer ref
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer ref
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer ref
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer ref
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/blake2b/avx2-1
Compiler: cc
blake2b.c: blake2b.c:11:23: fatal error: immintrin.h: No such file or directory
blake2b.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 35, namely:
CompilerImplementations
cc avx2-1
gcc avx2-1
gcc -O2 -fomit-frame-pointer avx2-1
gcc -O3 -fomit-frame-pointer avx2-1
gcc -O -fomit-frame-pointer avx2-1
gcc -Os -fomit-frame-pointer avx2-1
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2-1
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2-1
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2-1
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2-1
gcc -funroll-loops avx2-1
gcc -funroll-loops -O2 -fomit-frame-pointer avx2-1
gcc -funroll-loops -O3 -fomit-frame-pointer avx2-1
gcc -funroll-loops -O -fomit-frame-pointer avx2-1
gcc -funroll-loops -Os -fomit-frame-pointer avx2-1
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2-1
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2-1
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2-1
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avx2-1
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avx2-1

Compiler output

Implementation: crypto_hash/blake2b/avx2-2
Compiler: cc
blake2b.c: blake2b.c:12:23: fatal error: immintrin.h: No such file or directory
blake2b.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 70, namely:
CompilerImplementations
cc avx2-2 avx2-3
gcc avx2-2 avx2-3
gcc -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -O -fomit-frame-pointer avx2-2 avx2-3
gcc -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2-2 avx2-3
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops avx2-2 avx2-3
gcc -funroll-loops -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops -O -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2-2 avx2-3
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avx2-2 avx2-3

Compiler output

Implementation: crypto_hash/blake2b/xmm
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
blake2b.c: In file included from blake2b.c:6:0:
blake2b.c: blake2-config.h:68:2: error: #error "This code requires at least SSE2."
blake2b.c: blake2b.c:11:23: fatal error: immintrin.h: No such file or directory
blake2b.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 40, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=arm810 -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=arm810 -O -fomit-frame-pointer xmm ymm
gcc -mcpu=arm810 -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=arm8 -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=arm8 -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=arm8 -O -fomit-frame-pointer xmm ymm
gcc -mcpu=arm8 -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm110 -O -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm -O2 -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm -O3 -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm -O -fomit-frame-pointer xmm ymm
gcc -mcpu=strongarm -Os -fomit-frame-pointer xmm ymm

Compiler output

Implementation: crypto_hash/blake2b/regs
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
measure.c: measure.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
measure.c: measure-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer regs
gcc -mcpu=arm810 -O3 -fomit-frame-pointer regs
gcc -mcpu=arm810 -O -fomit-frame-pointer regs
gcc -mcpu=arm810 -Os -fomit-frame-pointer regs
gcc -mcpu=arm8 -O2 -fomit-frame-pointer regs
gcc -mcpu=arm8 -O3 -fomit-frame-pointer regs
gcc -mcpu=arm8 -O -fomit-frame-pointer regs
gcc -mcpu=arm8 -Os -fomit-frame-pointer regs
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer regs
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer regs
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer regs
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer regs
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer regs
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer regs
gcc -mcpu=strongarm110 -O -fomit-frame-pointer regs
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer regs
gcc -mcpu=strongarm -O2 -fomit-frame-pointer regs
gcc -mcpu=strongarm -O3 -fomit-frame-pointer regs
gcc -mcpu=strongarm -O -fomit-frame-pointer regs
gcc -mcpu=strongarm -Os -fomit-frame-pointer regs

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
blake2b-ref.c: blake2b-ref.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init0':
blake2b-ref.c: blake2b-ref.c:144:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: blake2b-ref.c:144:3: note: use option -std=c99 or -std=gnu99 to compile your code
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init_param':
blake2b-ref.c: blake2b-ref.c:156:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_final':
blake2b-ref.c: blake2b-ref.c:329:3: error: 'for' loop initial declarations are only allowed in C99 mode

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm810 -O3 -fomit-frame-pointer ref
gcc -mcpu=arm810 -O -fomit-frame-pointer ref
gcc -mcpu=arm810 -Os -fomit-frame-pointer ref
gcc -mcpu=arm8 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm8 -O3 -fomit-frame-pointer ref
gcc -mcpu=arm8 -O -fomit-frame-pointer ref
gcc -mcpu=arm8 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm -O -fomit-frame-pointer ref
gcc -mcpu=strongarm -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/blake2b/avx2-1
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
blake2b.c: blake2b.c:11:23: fatal error: immintrin.h: No such file or directory
blake2b.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=arm810 -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=arm810 -O -fomit-frame-pointer avx2-1
gcc -mcpu=arm810 -Os -fomit-frame-pointer avx2-1
gcc -mcpu=arm8 -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=arm8 -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=arm8 -O -fomit-frame-pointer avx2-1
gcc -mcpu=arm8 -Os -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm110 -O -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm -O2 -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm -O3 -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm -O -fomit-frame-pointer avx2-1
gcc -mcpu=strongarm -Os -fomit-frame-pointer avx2-1

Compiler output

Implementation: crypto_hash/blake2b/avx2-2
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
blake2b.c: blake2b.c:12:23: fatal error: immintrin.h: No such file or directory
blake2b.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 40, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=arm810 -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=arm810 -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=arm810 -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=arm8 -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=arm8 -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=arm8 -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=arm8 -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm110 -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm -O2 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm -O3 -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm -O -fomit-frame-pointer avx2-2 avx2-3
gcc -mcpu=strongarm -Os -fomit-frame-pointer avx2-2 avx2-3