Handle MovRelocatableImmediate on ARM32 as a special case (IF_T2_N3) (dotnet/coreclr...
authorEgor Chesakov <Egor.Chesakov@microsoft.com>
Fri, 3 Aug 2018 19:35:33 +0000 (12:35 -0700)
committerGitHub <noreply@github.com>
Fri, 3 Aug 2018 19:35:33 +0000 (12:35 -0700)
commit979d7df1f7d4483d8fa8d0fc3db446dae626b4cc
treedbb68d8ab08dd352c700d6978b0496ea4b6446e9
parentb8bc9d7b51e08aed339a40e5bce4af25343ececf
Handle MovRelocatableImmediate on ARM32 as a special case (IF_T2_N3) (dotnet/coreclr#19013)

* Add IF_T2_N3 instruction form and make this a specific case of IF_T2_N when EA_IS_RELOC(attr) is true
* Move "movw/movt reg,relocatableImm" case to function emitIns_MovRelocatableImmediate
* Introduce new instruction descriptor instrDescReloc
* Delete unused CnsVal from ARM32 and ARM64 emitters
* Introduce target_ssize_t and use this type for non-relocatable constants

Commit migrated from https://github.com/dotnet/coreclr/commit/f6e2b9c3b311f58497ccfc337e5925a95a2d008a
12 files changed:
src/coreclr/src/jit/codegen.h
src/coreclr/src/jit/codegenarm.cpp
src/coreclr/src/jit/codegencommon.cpp
src/coreclr/src/jit/emit.cpp
src/coreclr/src/jit/emit.h
src/coreclr/src/jit/emitarm.cpp
src/coreclr/src/jit/emitarm.h
src/coreclr/src/jit/emitarm64.cpp
src/coreclr/src/jit/emitarm64.h
src/coreclr/src/jit/emitfmtsarm.h
src/coreclr/src/jit/instrsarm.h
src/coreclr/src/jit/target.h