Moving various Vector128/256 helper method to be implemented using other intrinsics...
authorTanner Gooding <tagoo@outlook.com>
Fri, 7 Dec 2018 23:01:23 +0000 (15:01 -0800)
committerGitHub <noreply@github.com>
Fri, 7 Dec 2018 23:01:23 +0000 (15:01 -0800)
commit615a321f5226e0d9389741f4fcec9b6944e319cb
tree465f3a6f5f3d8fb426c074d3764571cf2b4c0054
parent139bdfd2b9378a7370e8d771811c330488d29ea2
Moving various Vector128/256 helper method to be implemented using other intrinsics (#21432)

* Updating Vector128.CreateScalar and Vector256.CreateScalar to be implemented using other intrinsics

* Updating Vector128.Equals and Vector256.Equals to be implemented using other intrinsics

* Updating Vector256.WithLower, Vector256.GetUpper, and Vector256.WithUpper to be implemented using other intrinsics

* Updating Vector128.Create(T) and Vector256.Create(T) to be implemented using other intrinsics

* Fixing the `NI_Base_Vector256_As` intrinsics to only fold the cast if AVX is supported and add a clarifying comment to the Vector128/256.Equals code

* Changing the various `*Software()` local functions in Vector128/256 to be `SoftwareFallback()`
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/Vector128.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/Vector128_1.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/Vector256.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/Vector256_1.cs
src/jit/importer.cpp