[mono][jit] Adding more arm64 SIMD operations, SIMD codegen with instruction table...
authorJan Dupej <109523496+jandupej@users.noreply.github.com>
Mon, 13 Mar 2023 12:41:39 +0000 (13:41 +0100)
committerGitHub <noreply@github.com>
Mon, 13 Mar 2023 12:41:39 +0000 (13:41 +0100)
commit02a7695eaf2b28d3d561b1dc4118ff62232e50e7
treee64211b76acd3650e0c2de4f014df99b6111b3cc
parent7e3bf878c105ea6114e56d3e6e3014c5480cb060
[mono][jit] Adding more arm64 SIMD operations, SIMD codegen with instruction table. (#83094)

* [mono][jit] Handling vector operations on arm64, comparisions and a few others, tabular approach to instruciton specs.

* [mono][jit] Adding compare vector operations, not, neg. Mono IR to machine code transformation is now table-generated for select operations. Fixing issues.

* YAGNI on a macro.

* [mono][jit] Table-driven code SIMD generation on arm64 is now restricted to exclude certain operations that are easily implemented manually.

* [mono][jit] Code cleanup.

* Temporarily disable SIMD on arm64. Fix indentation. Comments.
src/mono/mono/arch/arm64/arm64-codegen.h
src/mono/mono/arch/arm64/codegen-test.c
src/mono/mono/mini/cpu-arm64.mdesc
src/mono/mono/mini/mini-arm64.c
src/mono/mono/mini/simd-arm64.h [new file with mode: 0644]
src/mono/mono/mini/simd-intrinsics.c