Revision 826461bb

b/target-i386/cpu.h
339 339
    uint32_t flags;
340 340
} SegmentCache;
341 341

  
342
typedef struct {
343
    union {
344
        uint8_t b[16];
345
        uint16_t w[8];
346
        uint32_t l[4];
347
        uint64_t q[2];
348
    } u;
342
typedef union {
343
        uint8_t _b[16];
344
        uint16_t _w[8];
345
        uint32_t _l[4];
346
        uint64_t _q[2];
349 347
} XMMReg;
350 348

  
349
typedef union {
350
    uint8_t _b[8];
351
    uint16_t _w[2];
352
    uint32_t _l[1];
353
    uint64_t q;
354
} MMXReg;
355

  
356
#ifdef WORDS_BIGENDIAN
357
#define XMM_B(n) _b[15 - (n)]
358
#define XMM_W(n) _w[7 - (n)]
359
#define XMM_L(n) _l[3 - (n)]
360
#define XMM_Q(n) _q[1 - (n)]
361

  
362
#define MMX_B(n) _b[7 - (n)]
363
#define MMX_W(n) _w[3 - (n)]
364
#define MMX_L(n) _l[1 - (n)]
365
#else
366
#define XMM_B(n) _b[n]
367
#define XMM_W(n) _w[n]
368
#define XMM_L(n) _l[n]
369
#define XMM_Q(n) _q[n]
370

  
371
#define MMX_B(n) _b[n]
372
#define MMX_W(n) _w[n]
373
#define MMX_L(n) _l[n]
374
#endif
375

  
351 376
#ifdef TARGET_X86_64
352 377
#define CPU_NB_REGS 16
353 378
#else
......
425 450
    int exception_index;
426 451
    int error_code;
427 452
    int exception_is_int;
428
    int exception_next_eip;
453
    target_ulong exception_next_eip;
429 454
    struct TranslationBlock *current_tb; /* currently executing TB */
430 455
    target_ulong cr[5]; /* NOTE: cr1 is unused */
431 456
    target_ulong dr[8]; /* debug registers */

Also available in: Unified diff