diff --git a/src/coreclr/src/jit/compiler.hpp b/src/coreclr/src/jit/compiler.hpp index 6bf7c48f8e231..d8ec1aca75369 100644 --- a/src/coreclr/src/jit/compiler.hpp +++ b/src/coreclr/src/jit/compiler.hpp @@ -752,27 +752,27 @@ unsigned __int8 getU1LittleEndian(const BYTE * ptr) inline unsigned __int16 getU2LittleEndian(const BYTE * ptr) -{ return *(UNALIGNED unsigned __int16 *)ptr; } +{ return GET_UNALIGNED_VAL16(ptr); } inline unsigned __int32 getU4LittleEndian(const BYTE * ptr) -{ return *(UNALIGNED unsigned __int32*)ptr; } +{ return GET_UNALIGNED_VAL32(ptr); } inline signed __int8 getI1LittleEndian(const BYTE * ptr) -{ return * (UNALIGNED signed __int8 *)ptr; } +{ return *(UNALIGNED signed __int8 *)ptr; } inline signed __int16 getI2LittleEndian(const BYTE * ptr) -{ return * (UNALIGNED signed __int16 *)ptr; } +{ return GET_UNALIGNED_VAL16(ptr); } inline signed __int32 getI4LittleEndian(const BYTE * ptr) -{ return *(UNALIGNED signed __int32*)ptr; } +{ return GET_UNALIGNED_VAL32(ptr); } inline signed __int64 getI8LittleEndian(const BYTE * ptr) -{ return *(UNALIGNED signed __int64*)ptr; } +{ return GET_UNALIGNED_VAL64(ptr); } inline float getR4LittleEndian(const BYTE * ptr) diff --git a/src/coreclr/src/pal/inc/pal_endian.h b/src/coreclr/src/pal/inc/pal_endian.h index 8a9032301dc31..50b9e767657f7 100644 --- a/src/coreclr/src/pal/inc/pal_endian.h +++ b/src/coreclr/src/pal/inc/pal_endian.h @@ -98,8 +98,12 @@ inline void SwapGuid(GUID *pGuid) #define VALPTR(x) VAL32(x) #endif -#if defined(ALIGN_ACCESS) && !defined(_MSC_VER) +#ifdef _ARM_ +#define LOG2_PTRSIZE 2 +#define ALIGN_ACCESS ((1<