Implement SIMD support for the Vector2/3/4 classes in System.Numerics. (#3765)
* [simd] Rename SimdIntrinsc->SimdIntrinsic.
* [ji] Add beginnings of support for the SIMD types in the System.Numerics assembly.
Add intrinsics for the methods marked [JitIntrinsic] in the System.Numerics.Vector2 class. Generalize some code in simd-intrinsic.c
so it works both with System.Numerics and Mono.Simd types.
* [jit] Add support for System.Numerics.Vector4.
* [jit] Add support for System.Numerics.Vector3.
* [jit] Add tests for the JIT intrinsics in System.Numerics.Vectors.
* [jit] Implement System.Numerics.Vector.IsHardwareAccelerated intrinsics.
* [jit] Fix the implementation of System.Numerics.Vector.IsHardwareAccelerated, it should return true.
* [jit] Implement some support for the SIMD intrinsics in System.Numerics.Vector<T>.
* [jit] Disable the usage of the Vector SIMD intrinsics when using r4fp until support for it is implemented.
* [jit] Fix llvm support for the Vector<T> intrinsics.
* [jit] Disable the Vector<T> tests since they don't compile yet.
* [jit] Add an optimization for the typeof(T)==typeof(<concrete type>) construct common in some generics code.
* [simd] Only return true from IsHardwareAccelerated () if simd_supported_versions is non-zero.
* [simd] Add support for add/sub/mul/div operations on Vector<T>.
16 files changed: