Scalar Types
Although the access of data can stem from any alignment, it is recommended that data be aligned on its natural boundary to avoid performance loss (or a multiple thereof). Enums are constant integers and are treated as 32-bit integers. The following table describes the type definition and recommended storage for it as it pertains to alignment using the following alignment values:
Byte – 8 bits
Word – 16 bits
Double Word – 32 bits
Quad Word – 64 bits
Octa Word – 128 bits
Scalar Type |
C Data Type |
Storage Size (in bytes) |
Recommended Alignment |
INT8 |
char |
1 |
Byte |
UINT8 |
unsigned char |
1 |
Byte |
INT16 |
short |
2 |
Word |
UINT16 |
unsigned short |
2 |
Word |
INT32 |
int, long |
4 |
Doubleword |
UINT32 |
unsigned int, unsigned long |
4 |
Doubleword |
INT64 |
__int64 |
8 |
Quadword |
UINT64 |
unsigned __int64 |
8 |
Quadword |
FP32 (single precision) |
float |
4 |
Doubleword |
FP64 (double precision) |
double |
8 |
Quadword |
POINTER |
* |
8 |
Quadword |
__m64 |
struct __m64 |
8 |
Quadword |
__m128 |
struct __m128 |
16 |
Octaword |