BackEndOpCodeList.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. //
  6. // NOTE: This file is intended to be "#include" multiple times. The call site must define the macro
  7. // "MACRO" to be executed for each entry.
  8. //
  9. #if !defined(DEF_OP)
  10. #error DEF_OP must be defined before including this file
  11. #endif
  12. // -----------------------------------------------------------------------------------------------
  13. // Additional machine independent opcode used byte backend
  14. #define MACRO_BACKEND_ONLY(opcode, layout, attr) \
  15. DEF_OP(opcode, layout, OpBackEndOnly|attr)
  16. #include "ByteCode\OpCodes.h"
  17. DEF_OP(MDStart, Empty, None)
  18. #define MACRO DEF_OP
  19. #ifdef _M_AMD64
  20. #include "..\..\BackEnd\amd64\MdOpcodes.h"
  21. #elif defined(_M_IX86)
  22. #include "..\..\BackEnd\i386\MdOpcodes.h"
  23. #elif defined(_M_ARM)
  24. #include "..\..\BackEnd\arm\MdOpcodes.h"
  25. #elif defined(_M_ARM64)
  26. #include "..\..\BackEnd\arm64\MdOpcodes.h"
  27. #endif
  28. #undef MACRO