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:
Eduardo Habkost 2015-12-02 13:51:53 -02:00
parent 9253e1a792
commit 31d414d649
1 changed files with 11 additions and 16 deletions

View File

@ -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;