Fix an overflow if MONO_ZERO_LEN_ARRAY is not 0. Fixes #13233.
Don't try to match lifted equality operators on same reference types
Nested partial type inside generic class can have base type defined later than current type inflation happens. Fixes #13289
Add nested partial types inside nested partial types to AST. Fixes #13316
Simplify emit_write_barrier().

We have two ways of passing in the value - by MonoInst* and by register.
Remove the second and always pass a MonoInst*.
Avoid calling mono_domain_free () in a cross-compiler, it causes a GC, and the unwind infrastructure is not properly set up when cross-compiling.
Make all Mini back ends use mono-hwcap for CPU feature detection.

Also some related cleanup as a result of this.
Check for sys/auxv.h and only use it if available.
Remove the JIT-ed CPUID hack from mono-hwcap-x86.

A proper workaround for the 32-bit PIC issue exists: Using xchg to
unclobber EBX which is used by the compiler. This means we can just
use inline assembly to issue the instruction, eliminating the hack
where we JIT-compiled a function to do the CPUID.

This patch also makes it so that we use MSVC's __cpuid intrinsic
on both 32-bit and 64-bit x86 since it's available on both.
Remove now-unneeded mono_aot_only guard around mono_hwcap_init ().

We no longer use the code manager in any of the hwcap implementations,
so we don't need to disable the hwcap infrastructure in full-aot mode.
Add a MONO_VERBOSE_HWCAP environment variable.

This causes detected hardware features to be printed to stdout.