ARM64 intrinsic support for Vector64.Create() and Vector128.Create() (#35590)
authorKunal Pathak <Kunal.Pathak@microsoft.com>
Tue, 5 May 2020 23:44:43 +0000 (16:44 -0700)
committerGitHub <noreply@github.com>
Tue, 5 May 2020 23:44:43 +0000 (16:44 -0700)
commitd23f1a2f7ce97375a1f54ecc566247c45f2393bc
treed818093755f68061e59481c5933cd9628ad99732
parent96268f3ef58674d66908ff90da0f32fc04c1f68f
ARM64 intrinsic support for Vector64.Create() and Vector128.Create() (#35590)

* Make Vector64.Create() that takes multiple arguments use ARM64 intrinsic
* Make Vector128.Create() that takes multiple arguments use ARM64 intrinsic
* Intrinsify Vector64.Create() that takes single argument
* Intrinsify Vector64.Create() that takes single argument
* Fix edge case where int.MaxValue was failing if used as immediate
src/coreclr/src/jit/codegenarm64.cpp
src/coreclr/src/jit/emitarm64.cpp
src/coreclr/src/jit/emitarm64.h
src/coreclr/src/jit/hwintrinsic.cpp
src/coreclr/src/jit/hwintrinsiccodegenarm64.cpp
src/coreclr/src/jit/hwintrinsiclistarm64.h
src/coreclr/src/jit/lowerarmarch.cpp
src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_35821/GitHub_35821.il [new file with mode: 0644]
src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_35821/GitHub_35821.ilproj [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Vector128.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Vector64.cs