Implementation notes: armeabi, berry2, crypto_core/invhrss701

Computer: berry2
Microarchitecture: armeabi; Cortex-A7 (410fc075)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: invhrss701
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
179395264916 0 025053 384 768simplerclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
400003354740 0 024873 384 768refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
50941119800 0 011646 384 752simplergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
57132741820 0 09747 376 752simplergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
62932612820 0 09751 376 752simplergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
739530081900 0 012692 380 752refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
86450450752 0 09099 368 752simplergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
955546451336 0 010259 376 752refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
975717901232 0 010159 376 752refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
1013829061244 0 09587 368 752refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107

Compiler output

Implementation: faster
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: In file included from core.c:4:
core.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
core.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
core.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
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 -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.S: core.S:5:59: error: expected STT_<TYPE_IN_UPPER_CASE>, '#<type>', '%<type>' or "<type>"
core.S: .type crypto_core_invhrss701_faster921_constbranchindex, @function
core.S: ^
core.S: core.S:9:8: error: unexpected token in operand
core.S: pushq %rbp
core.S: ^
core.S: core.S:12:7: error: unexpected token in operand
core.S: xorl %ecx, %ecx
core.S: ^
core.S: core.S:13:11: error: unexpected token in operand
core.S: vpcmpeqd %ymm4, %ymm4, %ymm4
core.S: ^
core.S: core.S:14:7: error: unexpected token in operand
core.S: movq %rsp, %rbp
core.S: ^
core.S: core.S:16:8: error: unexpected token in operand
core.S: pushq %r13
core.S: ^
core.S: core.S:17:8: error: unexpected token in operand
core.S: pushq %r12
core.S: ^
core.S: core.S:18:8: error: unexpected token in operand
core.S: pushq %rbx
core.S: ^
core.S: core.S:22:7: error: unexpected token in operand
core.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
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:5: Error: unrecognized symbol type ""
core.S: core.c:9: Error: bad instruction `pushq %rbp'
core.S: core.c:12: Error: bad instruction `xorl %ecx,%ecx'
core.S: core.c:13: Error: bad instruction `vpcmpeqd %ymm4,%ymm4,%ymm4'
core.S: core.c:14: Error: bad instruction `movq %rsp,%rbp'
core.S: core.c:16: Error: bad instruction `pushq %r13'
core.S: core.c:17: Error: bad instruction `pushq %r12'
core.S: core.c:18: Error: bad instruction `pushq %rbx'
core.S: core.c:22: Error: bad instruction `movq %rdi,%rbx'
core.S: core.c:23: Error: bad instruction `andq $-32,%rsp'
core.S: core.c:24: Error: bad instruction `subq $5568,%rsp'
core.S: core.c:25: Error: bad instruction `movzbl 1400(%rsi),%eax'
core.S: core.c:26: Error: bad instruction `vmovdqa .LC2(%rip),%ymm1'
core.S: core.c:27: Error: bad instruction `vmovdqa .LC3(%rip),%ymm3'
core.S: core.c:28: Error: bad instruction `vmovdqa .LC4(%rip),%ymm5'
core.S: core.c:29: Error: bad instruction `leaq 864(%rsp),%rdi'
core.S: core.c:30: Error: bad instruction `notl %eax'
core.S: core.c:31: Error: bad instruction `movl %eax,%r8d'
core.S: core.c:32: Error: bad instruction `andl $3,%eax'
core.S: core.c:33: Error: bad instruction `leal -3(%rax),%edx'
core.S: core.c:34: Error: bad instruction `andl $3,%r8d'
core.S: core.c:35: Error: bad instruction `movl %edx,%eax'
core.S: core.c:36: Error: bad instruction `sarl $5,%eax'
core.S: core.c:37: Error: bad instruction `andl %r8d,%eax'
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