target-i386: Define MMREG_UNION macro
This will simplify the definitions of ZMMReg and MMXReg. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
9253e1a792
commit
31d414d649
@ -725,23 +725,18 @@ typedef struct SegmentCache {
|
||||
uint32_t flags;
|
||||
} SegmentCache;
|
||||
|
||||
typedef union {
|
||||
uint8_t _b[64];
|
||||
uint16_t _w[32];
|
||||
uint32_t _l[16];
|
||||
uint64_t _q[8];
|
||||
float32 _s[16];
|
||||
float64 _d[8];
|
||||
} ZMMReg;
|
||||
#define MMREG_UNION(bits) \
|
||||
union { \
|
||||
uint8_t _b[(bits)/8]; \
|
||||
uint16_t _w[(bits)/16]; \
|
||||
uint32_t _l[(bits)/32]; \
|
||||
uint64_t _q[(bits)/64]; \
|
||||
float32 _s[(bits)/32]; \
|
||||
float64 _d[(bits)/64]; \
|
||||
}
|
||||
|
||||
typedef union {
|
||||
uint8_t _b[8];
|
||||
uint16_t _w[4];
|
||||
uint32_t _l[2];
|
||||
uint64_t _q[1];
|
||||
float32 _s[2];
|
||||
float64 _d[1];
|
||||
} MMXReg;
|
||||
typedef MMREG_UNION(512) ZMMReg;
|
||||
typedef MMREG_UNION(64) MMXReg;
|
||||
|
||||
typedef struct BNDReg {
|
||||
uint64_t lb;
|
||||
|
Loading…
Reference in New Issue
Block a user