Adding support for Vector512 `Equals`, `EqualsAny`, `op_Equality`, and `op_Inequality...
authoranthonycanino <anthony.canino@intel.com>
Mon, 10 Apr 2023 23:27:23 +0000 (16:27 -0700)
committerGitHub <noreply@github.com>
Mon, 10 Apr 2023 23:27:23 +0000 (16:27 -0700)
commitf2119844cf453df504cae4211dd889aca18e674f
treef5f2666166292b35d1686599cd5d015d30f2b4fc
parent02e5b5833c984888fa248d39e66559605156f88c
Adding support for Vector512 `Equals`, `EqualsAny`, `op_Equality`, and `op_Inequality`. (#83470)

* Implement `Vector512.Equals` by way of special `AVX512` intrinsic.

* Add Vector512 `Equals`, `EqualsAll/op_Equality` `op_Inequality`.

* Fix `vpmovm2x` instructions for `MoveMaskToVectorSpecial`.

* Move `Vector512` Equals into `gtNewSimdCmpOpNode`.

* Adds `EqualsAny`.

* Fix `kortestq` and `kortestd` opcode gen (W bit).

* Fix merge and update instr flags.

* Addressing review comments.

* Removing unnecessary files.

* Addressing review comments.

* Fixing bug.

* Fixing k reg display on x86.

* Setting Resets_ZF to right value.

* Fixing extract.

---------

Co-authored-by: Deepak Rajendrakumaran <deepak.rajendrakumaran@intel.com>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
src/coreclr/jit/emitxarch.cpp
src/coreclr/jit/emitxarch.h
src/coreclr/jit/gentree.cpp
src/coreclr/jit/hwintrinsiccodegenxarch.cpp
src/coreclr/jit/hwintrinsiclistxarch.h
src/coreclr/jit/hwintrinsicxarch.cpp
src/coreclr/jit/instr.h
src/coreclr/jit/instrsxarch.h
src/coreclr/jit/lowerxarch.cpp
src/coreclr/jit/targetx86.h