Implementation notes: aarch64, gcc185, crypto_core/invhrss701

Computer: gcc185
Microarchitecture: aarch64; Skylark (503f0002)
Architecture: aarch64
CPU ID: 503f0002
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: invhrss701
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
48963752740 0 017772 808 776simplerclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
48964502280 0 015636 808 760simplerclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
48976502740 0 017772 808 776simplerclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
75927754576 0 017904 816 784simplergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
156438754324 0 017574 808 784refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
190606505752 0 020706 800 776refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
190614005752 0 020706 800 776refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
190887004584 0 017866 800 760refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
29069025748 0 012452 808 760simplerclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
31468050720 0 012198 800 760simplerclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
35955675672 0 011837 784 760simplergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
38543550780 0 012837 800 768simplergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
41747025820 0 012845 800 768simplergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
453303001160 0 012770 800 760refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
459276001164 0 012564 792 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
577515001256 0 013293 800 768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
619896751236 0 013309 800 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
628473001108 0 012261 784 760refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: faster
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: In file included from core.c:4:
core.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"
core.c: 14 | #error "This header is only meant to be used on x86 and x64 architecture"
core.c: | ^
core.c: In file included from core.c:4:
core.c: In file included from /usr/bin/../lib/clang/17/include/immintrin.h:17:
core.c: In file included from /usr/bin/../lib/clang/17/include/x86gprintrin.h:15:
core.c: /usr/bin/../lib/clang/17/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
core.c: 42 | __asm__ ("hreset $0" :: "a"(__eax));
core.c: | ^
core.c: In file included from core.c:4:
core.c: In file included from /usr/bin/../lib/clang/17/include/immintrin.h:21:
core.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"
core.c: 14 | #error "This header is only meant to be used on x86 and x64 architecture"
core.c: | ^
core.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
core.c: 54 | return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.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
core.c: 133 | return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.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
core.c: 163 | return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.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
core.c: ...

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

Compiler output

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

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

Compiler output

Implementation: faster921
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.S: core.S:9:8: error: unknown token in expression
core.S: pushq %rbp
core.S: ^
core.S: core.S:9:8: error: invalid operand
core.S: pushq %rbp
core.S: ^
core.S: core.S:12:7: error: unknown token in expression
core.S: xorl %ecx, %ecx
core.S: ^
core.S: core.S:12:7: error: invalid operand
core.S: xorl %ecx, %ecx
core.S: ^
core.S: core.S:13:11: error: unknown token in expression
core.S: vpcmpeqd %ymm4, %ymm4, %ymm4
core.S: ^
core.S: core.S:13:11: error: invalid operand
core.S: vpcmpeqd %ymm4, %ymm4, %ymm4
core.S: ^
core.S: core.S:14:7: error: unknown token in expression
core.S: movq %rsp, %rbp
core.S: ^
core.S: core.S:14:7: error: invalid operand
core.S: movq %rsp, %rbp
core.S: ^
core.S: core.S:16:8: error: unknown token in expression
core.S: ...

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

Compiler output

Implementation: faster921
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
core.S: core.c: Assembler messages:
core.S: core.c:9: Error: unknown mnemonic `pushq' -- `pushq %rbp'
core.S: core.c:12: Error: unknown mnemonic `xorl' -- `xorl %ecx,%ecx'
core.S: core.c:13: Error: unknown mnemonic `vpcmpeqd' -- `vpcmpeqd %ymm4,%ymm4,%ymm4'
core.S: core.c:14: Error: unknown mnemonic `movq' -- `movq %rsp,%rbp'
core.S: core.c:16: Error: unknown mnemonic `pushq' -- `pushq %r13'
core.S: core.c:17: Error: unknown mnemonic `pushq' -- `pushq %r12'
core.S: core.c:18: Error: unknown mnemonic `pushq' -- `pushq %rbx'
core.S: core.c:22: Error: unknown mnemonic `movq' -- `movq %rdi,%rbx'
core.S: core.c:23: Error: unknown mnemonic `andq' -- `andq $-32,%rsp'
core.S: core.c:24: Error: unknown mnemonic `subq' -- `subq $5568,%rsp'
core.S: core.c:25: Error: unknown mnemonic `movzbl' -- `movzbl 1400(%rsi),%eax'
core.S: core.c:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa .LC2(%rip),%ymm1'
core.S: core.c:27: Error: unknown mnemonic `vmovdqa' -- `vmovdqa .LC3(%rip),%ymm3'
core.S: core.c:28: Error: unknown mnemonic `vmovdqa' -- `vmovdqa .LC4(%rip),%ymm5'
core.S: core.c:29: Error: unknown mnemonic `leaq' -- `leaq 864(%rsp),%rdi'
core.S: core.c:30: Error: unknown mnemonic `notl' -- `notl %eax'
core.S: core.c:31: Error: unknown mnemonic `movl' -- `movl %eax,%r8d'
core.S: core.c:32: Error: unknown mnemonic `andl' -- `andl $3,%eax'
core.S: core.c:33: Error: unknown mnemonic `leal' -- `leal -3(%rax),%edx'
core.S: core.c:34: Error: unknown mnemonic `andl' -- `andl $3,%r8d'
core.S: core.c:35: Error: unknown mnemonic `movl' -- `movl %edx,%eax'
core.S: core.c:36: Error: unknown mnemonic `sarl' -- `sarl $5,%eax'
core.S: core.c:37: Error: unknown mnemonic `andl' -- `andl %r8d,%eax'
core.S: core.c:38: Error: unknown mnemonic `leal' -- `leal 1(%rax),%r8d'
core.S: ...

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