md.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft Corporation and contributors. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. #pragma once
  6. //
  7. // Machine dependent constants.
  8. //
  9. const int MachInt = 4;
  10. const int MachRegInt = 4;
  11. __declspec(selectany) const int MachPtr = 4;
  12. const int MachDouble = 8;
  13. const int MachRegDouble = 8;
  14. const int MachMaxInstrSize = 11;
  15. const int MachArgsSlotOffset = MachPtr;
  16. const int MachStackAlignment = MachDouble;
  17. const unsigned int MachSignBit = 0x80000000;
  18. const int MachSimd128 = 16;
  19. const int PAGESIZE = 0x1000;
  20. const IRType TyMachReg = TyInt32;
  21. const IRType TyMachPtr = TyUint32;
  22. const IRType TyMachDouble = TyFloat64;
  23. const IRType TyMachSimd128F4 = TySimd128F4;
  24. const IRType TyMachSimd128I4 = TySimd128I4;
  25. const IRType TyMachSimd128I8 = TySimd128I8;
  26. const IRType TyMachSimd128I16 = TySimd128I16;
  27. const IRType TyMachSimd128U4 = TySimd128U4;
  28. const IRType TyMachSimd128U8 = TySimd128U8;
  29. const IRType TyMachSimd128U16 = TySimd128U16;
  30. const IRType TyMachSimd128B4 = TySimd128B4;
  31. const IRType TyMachSimd128B8 = TySimd128B8;
  32. const IRType TyMachSimd128B16 = TySimd128B16;
  33. const IRType TyMachSimd128D2 = TySimd128D2;
  34. const DWORD EMIT_BUFFER_ALIGNMENT = 16;
  35. const DWORD INSTR_ALIGNMENT = 1;