SimdAsHWIntrinsic improvements and cleanup (#80134)
* Merge common code paths in simdashwintrinsic.cpp
* Fixing a bug in the WithElement node for CreateFromVector
* Ensure simdashwintrinsic paths consistently use the gtNewSimd*Node helpers where one path was already
* Ensure remaining simdashwintrinsic paths use the gtNewSimd*Node helpers
* Consistently use fgMakeMultiUse in the gtNewSimd*Node APIs
* Applying formatting patch
* Ensure isSimdAsHWIntrinsic gets passed through
* Revert "Consistently use fgMakeMultiUse in the gtNewSimd*Node APIs"
This reverts commit
edb2ce8aa64c123f9407bd2a2f44c08900c54295.
* Handle SN_op_UnaryNegation for Vector2/3/4 on Mono
* Ensure short, ushort, float, and double don't assert for Vector128_Dot on downlevel hardware