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