ieee_fpu.h File Reference

#include <builtins.h>
#include <ints.h>

Go to the source code of this file.

Data Structures

struct  fp_s_memory
struct  fp_f_memory
struct  fp_s_register
struct  fp_f_register
struct  fp_t_register
struct  fp_g_register
struct  fp_d_register
struct  fp_l_register
struct  fp_q_register
union  fp_register
union  excsum
union  ieee_fp_control_t
struct  a_reg_mask
struct  a_fp_control_req
struct  a_excsum

Defines

#define IEEE_PLUS_SIGN   0
#define IEEE_MINUS_SIGN   1
#define IEEE_PLUS_QUIET_NAN   0x7ff7ffffffffffffUL
#define IEEE_MINUS_QUIET_NAN   0xfff7ffffffffffffUL
#define IEEE_PLUS_SIGNALING_NAN   0x7fffffffffffffffUL
#define IEEE_MINUS_SIGNALING_NAN   0xffffffffffffffffUL
#define IEEE_PLUS_INFINITY   0x7ff0000000000000UL
#define IEEE_MINUS_INFINITY   0xfff0000000000000UL
#define IEEE_PLUS_LARGEST_NUMBER   0x7fefffffffffffffUL
#define IEEE_MINUS_LARGEST_NUMBER   0xffefffffffffffffUL
#define IEEE_PLUS_ZERO   0x0000000000000000UL
#define IEEE_MINUS_ZERO   0x8000000000000000UL
#define IEEE_PLUS_TWO   0x4000000000000000UL
#define IEEE_ZERO_EXPONENT   0
#define IEEE_ZERO_FRACTION   0
#define IEEE_DENORM_EXPONENT   0
#define IEEE_NAN_EXPONENT   0x7ff
#define IEEE_SIGNALING_NAN_MASK   0x0008000000000000UL
#define IEEE_FP_TRUE   IEEE_PLUS_TWO
#define IEEE_FP_FALSE   IEEE_PLUS_ZERO
#define IEEE_SIGN_BIT_MASK   (1UL<<63)
#define IEEE_S_FRACTION_SIZE   23
#define IEEE_S_EXPONENT_BIAS   127
#define IEEE_S_EXPONENT_MAX   254
#define IEEE_S_EXPONENT_SHIFT   3
#define IEEE_T_FRACTION_SIZE   52
#define IEEE_T_EXPONENT_BIAS   1023
#define IEEE_T_EXPONENT_MAX   2046
#define IEEE_T_FRACTION_HIGH_BIT   (1UL<<51)
#define IEEE_T_EXPONENT_SHIFT   0
#define VAX_F_FRACTION_SIZE   23
#define VAX_F_EXPONENT_BIAS   127
#define VAX_G_FRACTION_SIZE   52
#define VAX_G_EXPONENT_BIAS   1023
#define VAX_D_FRACTION_SIZE   55
#define VAX_D_EXPONENT_BIAS   -127
#define FPCR_INV   0x0010000000000000UL
#define FPCR_DZE   0x0020000000000000UL
#define FPCR_OVF   0x0040000000000000UL
#define FPCR_UNF   0x0080000000000000UL
#define FPCR_INE   0x0100000000000000UL
#define FPCR_IOV   0x0200000000000000UL
#define FPCR_DYN_MASK   0x0c00000000000000UL
#define FPCR_DYN_SHIFT   58
#define FPCR_DYN_CHOPPED   0x0000000000000000UL
#define FPCR_DYN_MINUS   0x0400000000000000UL
#define FPCR_DYN_NORMAL   0x0800000000000000UL
#define FPCR_DYN_PLUS   0x0c00000000000000UL
#define FPCR_SUM   0x8000000000000000UL
#define FE_TOWARDZERO   0
#define FE_DOWNWARD   1
#define FE_TONEAREST   2
#define FE_UPWARD   3
#define IEEE_ROUND_CHOPPED   FE_TOWARDZERO
#define IEEE_ROUND_TO_ZERO   IEEE_ROUND_CHOPPED
#define IEEE_ROUND_TO_MINUS_INFINITY   FE_DOWNWARD
#define IEEE_ROUND_NORMAL   FE_TONEAREST
#define IEEE_ROUND_TO_NEAREST   IEEE_ROUND_NORMAL
#define IEEE_ROUND_TO_PLUS_INFINITY   FE_UPWARD
#define EXCSUM_SWC   0x01
#define EXCSUM_INV   0x02
#define EXCSUM_DZE   0x04
#define EXCSUM_OVF   0x08
#define EXCSUM_UNF   0x10
#define EXCSUM_INE   0x20
#define EXCSUM_IOV   0x40
#define EXCSUM_MASK   0x7e
#define excsum_software_completion   0x01
#define excsum_invalid_operation   0x02
#define excsum_divide_by_zero   0x04
#define excsum_floating_overflow   0x08
#define excsum_floating_underflow   0x10
#define excsum_inexact_result   0x20
#define excsum_integer_overflow   0x40
#define excsum_mask   0x7e

Functions

void print_instruction (union alpha_instruction current_instruct)
unsigned set_my_status ()
int clear_ieee_status ()
int get_floating_control (uint64 *new_value)
int set_floating_control (uint64 *new_value)


Define Documentation

#define excsum_divide_by_zero   0x04

Definition at line 337 of file ieee_fpu.h.

#define EXCSUM_DZE   0x04

Definition at line 147 of file ieee_fpu.h.

#define excsum_floating_overflow   0x08

Definition at line 338 of file ieee_fpu.h.

#define excsum_floating_underflow   0x10

Definition at line 339 of file ieee_fpu.h.

#define EXCSUM_INE   0x20

Definition at line 150 of file ieee_fpu.h.

#define excsum_inexact_result   0x20

Definition at line 340 of file ieee_fpu.h.

#define excsum_integer_overflow   0x40

Definition at line 341 of file ieee_fpu.h.

#define EXCSUM_INV   0x02

Definition at line 146 of file ieee_fpu.h.

#define excsum_invalid_operation   0x02

Definition at line 336 of file ieee_fpu.h.

#define EXCSUM_IOV   0x40

Definition at line 151 of file ieee_fpu.h.

#define excsum_mask   0x7e

Definition at line 342 of file ieee_fpu.h.

#define EXCSUM_MASK   0x7e

Definition at line 152 of file ieee_fpu.h.

#define EXCSUM_OVF   0x08

Definition at line 148 of file ieee_fpu.h.

#define excsum_software_completion   0x01

Definition at line 335 of file ieee_fpu.h.

#define EXCSUM_SWC   0x01

Definition at line 145 of file ieee_fpu.h.

#define EXCSUM_UNF   0x10

Definition at line 149 of file ieee_fpu.h.

#define FE_DOWNWARD   1

Definition at line 132 of file ieee_fpu.h.

#define FE_TONEAREST   2

Definition at line 133 of file ieee_fpu.h.

#define FE_TOWARDZERO   0

Definition at line 131 of file ieee_fpu.h.

#define FE_UPWARD   3

Definition at line 134 of file ieee_fpu.h.

#define FPCR_DYN_CHOPPED   0x0000000000000000UL

Definition at line 119 of file ieee_fpu.h.

#define FPCR_DYN_MASK   0x0c00000000000000UL

Definition at line 117 of file ieee_fpu.h.

#define FPCR_DYN_MINUS   0x0400000000000000UL

Definition at line 120 of file ieee_fpu.h.

#define FPCR_DYN_NORMAL   0x0800000000000000UL

Definition at line 121 of file ieee_fpu.h.

#define FPCR_DYN_PLUS   0x0c00000000000000UL

Definition at line 122 of file ieee_fpu.h.

#define FPCR_DYN_SHIFT   58

Definition at line 118 of file ieee_fpu.h.

#define FPCR_DZE   0x0020000000000000UL

Definition at line 112 of file ieee_fpu.h.

#define FPCR_INE   0x0100000000000000UL

Definition at line 115 of file ieee_fpu.h.

#define FPCR_INV   0x0010000000000000UL

Definition at line 111 of file ieee_fpu.h.

#define FPCR_IOV   0x0200000000000000UL

Definition at line 116 of file ieee_fpu.h.

#define FPCR_OVF   0x0040000000000000UL

Definition at line 113 of file ieee_fpu.h.

#define FPCR_SUM   0x8000000000000000UL

Definition at line 123 of file ieee_fpu.h.

#define FPCR_UNF   0x0080000000000000UL

Definition at line 114 of file ieee_fpu.h.

#define IEEE_DENORM_EXPONENT   0

Definition at line 77 of file ieee_fpu.h.

#define IEEE_FP_FALSE   IEEE_PLUS_ZERO

Definition at line 82 of file ieee_fpu.h.

#define IEEE_FP_TRUE   IEEE_PLUS_TWO

Definition at line 81 of file ieee_fpu.h.

#define IEEE_MINUS_INFINITY   0xfff0000000000000UL

Definition at line 68 of file ieee_fpu.h.

#define IEEE_MINUS_LARGEST_NUMBER   0xffefffffffffffffUL

Definition at line 70 of file ieee_fpu.h.

#define IEEE_MINUS_QUIET_NAN   0xfff7ffffffffffffUL

Definition at line 64 of file ieee_fpu.h.

#define IEEE_MINUS_SIGN   1

Definition at line 59 of file ieee_fpu.h.

#define IEEE_MINUS_SIGNALING_NAN   0xffffffffffffffffUL

Definition at line 66 of file ieee_fpu.h.

#define IEEE_MINUS_ZERO   0x8000000000000000UL

Definition at line 72 of file ieee_fpu.h.

#define IEEE_NAN_EXPONENT   0x7ff

Definition at line 78 of file ieee_fpu.h.

#define IEEE_PLUS_INFINITY   0x7ff0000000000000UL

Definition at line 67 of file ieee_fpu.h.

#define IEEE_PLUS_LARGEST_NUMBER   0x7fefffffffffffffUL

Definition at line 69 of file ieee_fpu.h.

#define IEEE_PLUS_QUIET_NAN   0x7ff7ffffffffffffUL

Definition at line 63 of file ieee_fpu.h.

#define IEEE_PLUS_SIGN   0

Definition at line 58 of file ieee_fpu.h.

#define IEEE_PLUS_SIGNALING_NAN   0x7fffffffffffffffUL

Definition at line 65 of file ieee_fpu.h.

#define IEEE_PLUS_TWO   0x4000000000000000UL

Definition at line 73 of file ieee_fpu.h.

#define IEEE_PLUS_ZERO   0x0000000000000000UL

Definition at line 71 of file ieee_fpu.h.

#define IEEE_ROUND_CHOPPED   FE_TOWARDZERO

Definition at line 137 of file ieee_fpu.h.

#define IEEE_ROUND_NORMAL   FE_TONEAREST

Definition at line 140 of file ieee_fpu.h.

#define IEEE_ROUND_TO_MINUS_INFINITY   FE_DOWNWARD

Definition at line 139 of file ieee_fpu.h.

#define IEEE_ROUND_TO_NEAREST   IEEE_ROUND_NORMAL

Definition at line 141 of file ieee_fpu.h.

#define IEEE_ROUND_TO_PLUS_INFINITY   FE_UPWARD

Definition at line 142 of file ieee_fpu.h.

#define IEEE_ROUND_TO_ZERO   IEEE_ROUND_CHOPPED

Definition at line 138 of file ieee_fpu.h.

#define IEEE_S_EXPONENT_BIAS   127

Definition at line 87 of file ieee_fpu.h.

#define IEEE_S_EXPONENT_MAX   254

Definition at line 88 of file ieee_fpu.h.

#define IEEE_S_EXPONENT_SHIFT   3

Definition at line 89 of file ieee_fpu.h.

#define IEEE_S_FRACTION_SIZE   23

Definition at line 86 of file ieee_fpu.h.

#define IEEE_SIGN_BIT_MASK   (1UL<<63)

Definition at line 83 of file ieee_fpu.h.

#define IEEE_SIGNALING_NAN_MASK   0x0008000000000000UL

Definition at line 79 of file ieee_fpu.h.

#define IEEE_T_EXPONENT_BIAS   1023

Definition at line 93 of file ieee_fpu.h.

#define IEEE_T_EXPONENT_MAX   2046

Definition at line 94 of file ieee_fpu.h.

#define IEEE_T_EXPONENT_SHIFT   0

Definition at line 96 of file ieee_fpu.h.

#define IEEE_T_FRACTION_HIGH_BIT   (1UL<<51)

Definition at line 95 of file ieee_fpu.h.

#define IEEE_T_FRACTION_SIZE   52

Definition at line 92 of file ieee_fpu.h.

#define IEEE_ZERO_EXPONENT   0

Definition at line 75 of file ieee_fpu.h.

#define IEEE_ZERO_FRACTION   0

Definition at line 76 of file ieee_fpu.h.

#define VAX_D_EXPONENT_BIAS   -127

Definition at line 108 of file ieee_fpu.h.

#define VAX_D_FRACTION_SIZE   55

Definition at line 107 of file ieee_fpu.h.

#define VAX_F_EXPONENT_BIAS   127

Definition at line 100 of file ieee_fpu.h.

#define VAX_F_FRACTION_SIZE   23

Definition at line 99 of file ieee_fpu.h.

#define VAX_G_EXPONENT_BIAS   1023

Definition at line 104 of file ieee_fpu.h.

#define VAX_G_FRACTION_SIZE   52

Definition at line 103 of file ieee_fpu.h.


Function Documentation

int clear_ieee_status (  ) 

int get_floating_control ( uint64 *  new_value  ) 

void print_instruction ( union alpha_instruction  current_instruct  ) 

int set_floating_control ( uint64 *  new_value  ) 

unsigned set_my_status (  ) 


SourceForge.net Logo
Project space on SourceForge.net