-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding basic support for recognizing and handling SIMD intrinsics as …
…HW intrinsics (#35421) * Adding basic support for recognizing and handling SIMD intrinsics as HW intrinsics * Applying formatting patch * Fixing a preprocessor concatenation for non windows * Add a default case to workaround a compiler warning on FreeBSD * Fixing a noway_assert to include GT_HWINTRINSIC * Fixing some asserts that were being triggered * Use getSIMDVectorRegisterByteLength * Applying formatting patch * Fixing ARM64 to use the actual type size * Removing the [Intrinsic] attribute from some Vector2/3/4 methods which aren't intrinsic * Updating SSE/SSE2 CompareGreaterThan and related functions to be table driven * Fixing the SimdAsHWIntrinsic relational operations to match the GT_SIMD behavior * Ensure that GT_HWINTRINSIC fixes the type for certain TYP_SIMD8 * Fixing the SimdAsHWIntrinsic Vector<int>.op_Multiply support to match the GT_SIMD behavior * Fixing the SimdAsHWIntrinsic Vector2/3 Division to match the GT_SIMD behavior * Porting Abs, Min, and Max to use the SimdAsHWIntrinsic support * Minor fixups to the SSE2 codepath * Applying formatting patch * Fixing a check in lowering * Mark SimdAsHWIntrinsic nodes so we can lookup the correct handle * Adding the 3 operand overload for gtNewSimdAsHWIntrinsicNode * Fixing BuildHWIntrinsic to properly take RMW into account * Fixing the rationalize handling of GT_HWINTRINSIC to account for SIMD vs non-SIMD nodes * Fixing the importer to not create SIMD nodes if featureSIMD is disabled * Fixing the SSE4.2 implementation of CompareLessThan<long> * Preserve the base type for subtraction/addition operations * Applying formatting patch * Responding to PR feedback * Fixing a copy/paste error under reinterpret cast * Fixing abs to expect 1 argument * Adding method comment headers that were missing * Removing unused table entries from SimdAsHWIntrinsic for Vector2/3/4 * Ensure we catch intrinsics from the Vector static class * Fixing SSSE3_Abs and AVX2_Abs to get the base type from the first argument * Ensure we adjust the class handle used for intrinsics from the Vector static class * Ensure we populate the handle cache for clsHnd even if it isn't used * Fix where we grab the base type from for the static Vector class * Fixing ConditionalSelect and improving the messages used for impCloneExpr in SimdAsHWIntrinsic * Ensure we clone the constVectorDup before using it * Applying formatting patch
- Loading branch information
1 parent
2b3de4f
commit 56518a7
Showing
26 changed files
with
1,824 additions
and
301 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.