Ensure that SIMD fields are correctly typed (dotnet/coreclr#24377)
authorCarol Eidt <carol.eidt@microsoft.com>
Thu, 16 May 2019 16:25:00 +0000 (09:25 -0700)
committerGitHub <noreply@github.com>
Thu, 16 May 2019 16:25:00 +0000 (09:25 -0700)
commite6f9b00db4449682ce8ac73a17ff72eb2b513a7b
tree9627b4320148896b51056d25b6967d9dbbdcf106
parent402bf98b0886a900708ddef0ff47f28abf525e70
Ensure that SIMD fields are correctly typed (dotnet/coreclr#24377)

When a struct field is imported, its type needs to be normalized.
Also, the LHS of a struct init, even if a SIMD type, should not be transformed to a non-block node,
except in the case of a SIMD local, in which case it must be transformed to a simple assignment.
Also, add an assert to catch this kind of bug in liveness.

Fix dotnet/coreclr#24336

Commit migrated from https://github.com/dotnet/coreclr/commit/fb2aa6725dd7e5610c5589bc464f9a67470faaf9
src/coreclr/src/jit/codegenxarch.cpp
src/coreclr/src/jit/compiler.hpp
src/coreclr/src/jit/gentree.cpp
src/coreclr/src/jit/liveness.cpp
src/coreclr/src/jit/morph.cpp
src/coreclr/src/jit/rationalize.cpp