Add lowering for As*() and dependent methods. (#83861)
authorDeepakRajendrakumaran <deepak.rajendrakumaran@intel.com>
Tue, 28 Mar 2023 23:38:05 +0000 (16:38 -0700)
committerGitHub <noreply@github.com>
Tue, 28 Mar 2023 23:38:05 +0000 (16:38 -0700)
commite467e59a7df8925bb849da240c140182c3447da4
treeccf6a77ba0c81c11b5cab970a22cea7feb51f17c
parentfd157a5fe90c1e9a3142a872176e2e81ea9f4e4f
Add lowering for As*() and dependent methods. (#83861)

* Add lowering for As*() and dependent methods.

This includes the following:
As(), AsByte(), AsDouble(), AsInt16(), AsInt32(), AsInt64(), AsNInt(), AsNUInt(), AsByte(), AsSingle(), AsUInt16(), AsUInt32(), AsUInt64(), AsVector(), AsVector512(), GetLower(), ToVector512()

* Handling xmm <-> zmm conversions.

* Addressing review comments.
src/coreclr/jit/fgbasic.cpp
src/coreclr/jit/hwintrinsiccodegenxarch.cpp
src/coreclr/jit/hwintrinsiclistxarch.h
src/coreclr/jit/hwintrinsicxarch.cpp
src/coreclr/jit/lsraxarch.cpp