Reenable unified instruction set logic (#33936)
authorDavid Wrighton <davidwr@microsoft.com>
Tue, 24 Mar 2020 16:34:05 +0000 (09:34 -0700)
committerGitHub <noreply@github.com>
Tue, 24 Mar 2020 16:34:05 +0000 (09:34 -0700)
commitd0c892d6c489b6de10296a877f661194ac2dad76
treee517b1c8343262ad32fe7996d2086b4c62334bca
parentaa0204c3dbee02968536cf227c67eb897a9a86d8
Reenable unified instruction set logic (#33936)

* Revert "Revert "Unify instruction set definition (#33730)""

This reverts commit 5a71f14da2c9c2f4ef4fc1dc85f40a70bbc10dc5.

* Ensure that 64 bit variants of instruction sets are handled correctly
- Make sure to enable them based on the related 32bit instruction sets before disabling instruction sets that are enabled but not compatible with the instruction set hierarchy the runtime is designed for.

* Update jit EE version interface as this revert changes the interface back to the pre-revert state.
32 files changed:
src/coreclr/src/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
src/coreclr/src/inc/corinfo.h
src/coreclr/src/inc/corinfoinstructionset.h [new file with mode: 0644]
src/coreclr/src/inc/corjitflags.h
src/coreclr/src/inc/readytoruninstructionset.h [new file with mode: 0644]
src/coreclr/src/jit/compiler.cpp
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/ee_il_dll.cpp
src/coreclr/src/jit/hwintrinsic.cpp
src/coreclr/src/jit/hwintrinsic.h
src/coreclr/src/jit/hwintrinsicarm64.cpp
src/coreclr/src/jit/hwintrinsiccodegenxarch.cpp
src/coreclr/src/jit/hwintrinsicxarch.cpp
src/coreclr/src/jit/instr.h
src/coreclr/src/jit/jitee.h
src/coreclr/src/jit/lsraarm64.cpp
src/coreclr/src/jit/lsraxarch.cpp
src/coreclr/src/jit/simdcodegenxarch.cpp
src/coreclr/src/pal/src/misc/jitsupport.cpp
src/coreclr/src/tools/Common/Internal/Runtime/ReadyToRunInstructionSet.cs [new file with mode: 0644]
src/coreclr/src/tools/Common/JitInterface/CorInfoImpl.cs
src/coreclr/src/tools/Common/JitInterface/CorInfoInstructionSet.cs [new file with mode: 0644]
src/coreclr/src/tools/Common/JitInterface/CorInfoTypes.cs
src/coreclr/src/tools/Common/JitInterface/ThunkGenerator/InstructionSetDesc.txt [new file with mode: 0644]
src/coreclr/src/tools/Common/JitInterface/ThunkGenerator/InstructionSetGenerator.cs [new file with mode: 0644]
src/coreclr/src/tools/Common/JitInterface/ThunkGenerator/Program.cs
src/coreclr/src/tools/Common/JitInterface/ThunkGenerator/gen.bat
src/coreclr/src/tools/Common/JitInterface/ThunkGenerator/gen.sh
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ILCompiler.ReadyToRun.csproj
src/coreclr/src/tools/crossgen2/jitinterface/jitwrapper.cpp
src/coreclr/src/vm/codeman.cpp
src/coreclr/src/zap/zapper.cpp