Implementation notes: aarch64, gcc185, crypto_hashblocks/sha512

Computer: gcc185
Microarchitecture: aarch64; Skylark (503f0002)
Architecture: aarch64
CPU ID: 503f0002
SUPERCOP version: 20240107
Operation: crypto_hashblocks
Primitive: sha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
174753832 0 017770 800 744compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
174753832 0 017770 800 744compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
174752432 0 014586 800 736wflipclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
175502432 0 016338 800 744wflipclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
175502448 0 012970 800 736wflipclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
175502428 0 012652 792 736wflipclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
175502432 0 016338 800 744wflipclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
176254216 0 016558 816 760compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
176252632 0 012741 792 736wflipgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
177003600 0 015778 800 736compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
179252616 0 013725 808 744wflipgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
179252592 0 014894 816 760wflipgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
180753352 0 013914 800 736compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
186753380 0 013644 792 736compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
186753648 0 014797 808 744compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1867511052 0 023390 816 760inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1882511036 0 023358 816 760refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1890010960 0 024882 800 744inplaceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1890010968 0 021498 800 736inplaceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1890010960 0 024882 800 744inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1890010972 0 023130 800 736refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1897510968 0 023130 800 736inplaceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1897510972 0 021498 800 736refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1897510960 0 024882 800 744refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
190503516 0 013661 792 736compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1905010960 0 024882 800 744refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1920010884 0 021013 792 736inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1927511244 0 022381 808 744inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1927511264 0 022389 808 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1927510888 0 021029 792 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
195002640 0 013589 808 744wflipgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1965011224 0 021468 792 736refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1972511196 0 021436 792 736inplaceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
209253648 0 014645 808 744compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2122511192 0 022181 808 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
216001696 0 015610 800 744compact4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
216001696 0 015610 800 744compact4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2182511192 0 022173 808 744inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
225001512 0 013666 800 736compact4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
231001152 0 011690 800 736compact4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
235501268 0 011500 792 736compact4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
251251352 0 012493 808 744compact4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
252751208 0 011341 792 736compact4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
295501388 0 012365 808 744compact4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
298502060 0 014398 816 760compact4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
320251728 0 015650 800 744compact3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
320251728 0 015650 800 744compact3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
321751416 0 013578 800 736compact3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
322501224 0 011754 800 736compact3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
324002164 0 014494 816 760compact3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
333751308 0 011540 792 736compact3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
344251480 0 011740 792 736compact2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
365252992 0 016914 800 744compact2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
365252992 0 016914 800 744compact2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
366001968 0 014138 800 736compact2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
369751760 0 012314 800 736compact2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
377251520 0 012653 808 744compact3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
378002320 0 014662 816 760compact2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
386251752 0 012901 808 744compact2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
406501688 0 012677 808 744compact2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
423001568 0 011717 792 736compact2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
434251348 0 011485 792 736compact3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
435001560 0 012549 808 744compact3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner.c: In file included from inner.c:1:
inner.c: /usr/bin/../lib/clang/17/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
inner.c: 14 | #error "This header is only meant to be used on x86 and x64 architecture"
inner.c: | ^
inner.c: In file included from inner.c:1:
inner.c: In file included from /usr/bin/../lib/clang/17/include/immintrin.h:17:
inner.c: In file included from /usr/bin/../lib/clang/17/include/x86gprintrin.h:15:
inner.c: /usr/bin/../lib/clang/17/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
inner.c: 42 | __asm__ ("hreset $0" :: "a"(__eax));
inner.c: | ^
inner.c: In file included from inner.c:1:
inner.c: In file included from /usr/bin/../lib/clang/17/include/immintrin.h:21:
inner.c: /usr/bin/../lib/clang/17/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
inner.c: 14 | #error "This header is only meant to be used on x86 and x64 architecture"
inner.c: | ^
inner.c: /usr/bin/../lib/clang/17/include/mmintrin.h:54:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: 54 | return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
inner.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/bin/../lib/clang/17/include/mmintrin.h:133:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: 133 | return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
inner.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/bin/../lib/clang/17/include/mmintrin.h:163:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: 163 | return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
inner.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/bin/../lib/clang/17/include/mmintrin.h:193:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner.c: inner.c:1:10: fatal error: immintrin.h: No such file or directory
inner.c: #include <immintrin.h>
inner.c: ^~~~~~~~~~~~~
inner.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner.S: inner.S:422:5: error: unknown token in expression
inner.S: mov %rsp,%r11
inner.S: ^
inner.S: inner.S:422:5: error: invalid operand
inner.S: mov %rsp,%r11
inner.S: ^
inner.S: inner.S:423:10: error: unknown token in expression
inner.S: and $511,%r11
inner.S: ^
inner.S: inner.S:423:10: error: invalid operand
inner.S: and $511,%r11
inner.S: ^
inner.S: inner.S:424:10: error: unknown token in expression
inner.S: add $416,%r11
inner.S: ^
inner.S: inner.S:424:10: error: invalid operand
inner.S: add $416,%r11
inner.S: ^
inner.S: inner.S:425:5: error: unknown token in expression
inner.S: sub %r11,%rsp
inner.S: ^
inner.S: inner.S:425:5: error: invalid operand
inner.S: sub %r11,%rsp
inner.S: ^
inner.S: inner.S:430:5: error: unknown token in expression
inner.S: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner.S: inner.S: Assembler messages:
inner.S: inner.S:422: Error: operand 1 must be an integer register -- `mov %rsp,%r11'
inner.S: inner.S:423: Error: operand 1 must be an integer or stack pointer register -- `and $511,%r11'
inner.S: inner.S:424: Error: operand 1 must be an integer or stack pointer register -- `add $416,%r11'
inner.S: inner.S:425: Error: operand 1 must be an integer or stack pointer register -- `sub %r11,%rsp'
inner.S: inner.S:430: Error: operand 1 must be an integer register -- `mov %rcx,%r8'
inner.S: inner.S:435: Error: unknown mnemonic `vmovupd' -- `vmovupd 640(%rcx),%ymm0'
inner.S: inner.S:440: Error: unknown mnemonic `vmovupd' -- `vmovupd 0(%rdi),%ymm1'
inner.S: inner.S:445: Error: operand 1 must be an integer register -- `mov %rdi,%rcx'
inner.S: inner.S:450: Error: unknown mnemonic `vmovupd' -- `vmovupd 32(%rdi),%ymm2'
inner.S: inner.S:455: Error: unknown mnemonic `vpshufb' -- `vpshufb %ymm0,%ymm1,%ymm1'
inner.S: inner.S:460: Error: unknown mnemonic `vpshufb' -- `vpshufb %ymm0,%ymm2,%ymm2'
inner.S: inner.S:465: Error: unknown mnemonic `vmovapd' -- `vmovapd %ymm1,0(%rsp)'
inner.S: inner.S:470: Error: unknown mnemonic `movq' -- `movq %r11,320(%rsp)'
inner.S: inner.S:475: Error: unknown mnemonic `vmovapd' -- `vmovapd %ymm2,32(%rsp)'
inner.S: inner.S:480: Error: unknown mnemonic `movq' -- `movq %r13,328(%rsp)'
inner.S: inner.S:485: Error: unknown mnemonic `movq' -- `movq %r12,336(%rsp)'
inner.S: inner.S:490: Error: unknown mnemonic `movq' -- `movq %r14,344(%rsp)'
inner.S: inner.S:495: Error: unknown mnemonic `movq' -- `movq %rbx,352(%rsp)'
inner.S: inner.S:500: Error: unknown mnemonic `movq' -- `movq %r15,360(%rsp)'
inner.S: inner.S:505: Error: unknown mnemonic `movq' -- `movq %rbp,368(%rsp)'
inner.S: inner.S:510: Error: unknown mnemonic `movq' -- `movq %rdx,376(%rsp)'
inner.S: inner.S:515: Error: operand 1 must be an integer register -- `mov %rsi,%rdi'
inner.S: inner.S:520: Error: unknown mnemonic `movq' -- `movq %rcx,384(%rsp)'
inner.S: inner.S:525: Error: unknown mnemonic `movq' -- `movq 0(%rsp),%rsi'
inner.S: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2