Revision 8443effb target-alpha/cpu.h
b/target-alpha/cpu.h | ||
---|---|---|
145 | 145 |
#define FPCR_UNFD (1ULL << 61) |
146 | 146 |
#define FPCR_UNDZ (1ULL << 60) |
147 | 147 |
#define FPCR_DYN_SHIFT 58 |
148 |
#define FPCR_DYN_CHOPPED (0ULL << FPCR_DYN_SHIFT) |
|
149 |
#define FPCR_DYN_MINUS (1ULL << FPCR_DYN_SHIFT) |
|
150 |
#define FPCR_DYN_NORMAL (2ULL << FPCR_DYN_SHIFT) |
|
151 |
#define FPCR_DYN_PLUS (3ULL << FPCR_DYN_SHIFT) |
|
148 | 152 |
#define FPCR_DYN_MASK (3ULL << FPCR_DYN_SHIFT) |
149 | 153 |
#define FPCR_IOV (1ULL << 57) |
150 | 154 |
#define FPCR_INE (1ULL << 56) |
... | ... | |
341 | 345 |
|
342 | 346 |
struct CPUAlphaState { |
343 | 347 |
uint64_t ir[31]; |
344 |
float64 fir[31]; |
|
345 |
float_status fp_status; |
|
346 |
uint64_t fpcr; |
|
348 |
float64 fir[31]; |
|
347 | 349 |
uint64_t pc; |
348 | 350 |
uint64_t lock; |
349 | 351 |
uint32_t pcc[2]; |
350 | 352 |
uint64_t ipr[IPR_LAST]; |
351 | 353 |
uint64_t ps; |
352 | 354 |
uint64_t unique; |
353 |
int saved_mode; /* Used for HW_LD / HW_ST */ |
|
354 |
int intr_flag; /* For RC and RS */ |
|
355 |
float_status fp_status; |
|
356 |
/* The following fields make up the FPCR, but in FP_STATUS format. */ |
|
357 |
uint8_t fpcr_exc_status; |
|
358 |
uint8_t fpcr_exc_mask; |
|
359 |
uint8_t fpcr_dyn_round; |
|
360 |
uint8_t fpcr_flush_to_zero; |
|
361 |
uint8_t fpcr_dnz; |
|
362 |
uint8_t fpcr_dnod; |
|
363 |
uint8_t fpcr_undz; |
|
364 |
|
|
365 |
/* Used for HW_LD / HW_ST */ |
|
366 |
uint8_t saved_mode; |
|
367 |
/* For RC and RS */ |
|
368 |
uint8_t intr_flag; |
|
355 | 369 |
|
356 | 370 |
#if TARGET_LONG_BITS > HOST_LONG_BITS |
357 | 371 |
/* temporary fixed-point registers |
Also available in: Unified diff