Port SIMDIntrinsicGetItem and SIMDIntrinsicSetItem to be implemented via HWIntrinsics...
authorTanner Gooding <tagoo@outlook.com>
Tue, 18 May 2021 10:33:52 +0000 (03:33 -0700)
committerGitHub <noreply@github.com>
Tue, 18 May 2021 10:33:52 +0000 (03:33 -0700)
commita2b7648d3b23fa00442ebc24a12d255895a0945e
treee08a820c93e71977e3fb89b32f0b19e442d2a257
parent68ebecbc84197d76f2ab9863e39341dacf99c48f
Port SIMDIntrinsicGetItem and SIMDIntrinsicSetItem to be implemented via HWIntrinsics (#52288)

* Port SIMDIntrinsicGetItem and SIMDIntrinsicSetItem to be implemented using SimdAsHWIntrinsic

* Apply suggestions from code review

Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
* Resolving mismerge

* Added a comment explaining why we sometimes return and sometimes do containment checks

* Update src/coreclr/jit/lsraarm64.cpp

Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
31 files changed:
src/coreclr/jit/codegen.h
src/coreclr/jit/codegenarm64.cpp
src/coreclr/jit/compiler.h
src/coreclr/jit/decomposelongs.cpp
src/coreclr/jit/decomposelongs.h
src/coreclr/jit/emitxarch.cpp
src/coreclr/jit/gentree.cpp
src/coreclr/jit/hwintrinsic.cpp
src/coreclr/jit/hwintrinsicarm64.cpp
src/coreclr/jit/hwintrinsiccodegenarm64.cpp
src/coreclr/jit/hwintrinsiccodegenxarch.cpp
src/coreclr/jit/hwintrinsiclistarm64.h
src/coreclr/jit/hwintrinsiclistxarch.h
src/coreclr/jit/hwintrinsicxarch.cpp
src/coreclr/jit/lclmorph.cpp
src/coreclr/jit/lower.h
src/coreclr/jit/lowerarmarch.cpp
src/coreclr/jit/lowerxarch.cpp
src/coreclr/jit/lsraarm64.cpp
src/coreclr/jit/lsraxarch.cpp
src/coreclr/jit/morph.cpp
src/coreclr/jit/simd.cpp
src/coreclr/jit/simdashwintrinsic.cpp
src/coreclr/jit/simdashwintrinsic.h
src/coreclr/jit/simdashwintrinsiclistarm64.h
src/coreclr/jit/simdashwintrinsiclistxarch.h
src/coreclr/jit/simdcodegenxarch.cpp
src/coreclr/jit/simdintrinsiclist.h
src/libraries/System.Numerics.Vectors/tests/GenericVectorTests.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/Vector_1.cs
src/tests/JIT/SIMD/VectorGet.cs