AlphaCPU_ieeefloat.cpp File Reference


Detailed Description

Contains IEEE floating point code for the Alpha CPU.

Id
AlphaCPU_ieeefloat.cpp,v 1.9 2008/04/02 13:29:02 iamcamiel Exp

X-1.8 Camiel Vanderhoeven 02-APR-2008 Fixed pointless comparison of U64 value against zero.

X-1.7 Camiel Vanderhoeven 14-MAR-2008 1. More meaningful exceptions replace throwing (int) 1. 2. U64 macro replaces X64 macro.

X-1.6 Camiel Vanderhoeven 29-JAN-2008 Comments.

X-1.5 Camiel Vanderhoeven 28-JAN-2008 Better floating-point exception handling.

X-1.4 Camiel Vanderhoeven 27-JAN-2008 Comments.

X-1.3 Camiel Vanderhoeven 27-JAN-2008 Minor floating-point improvements.

X-1.2 Camiel Vanderhoeven 27-JAN-2008 Bugfix in ieee_sts.

X-1.1 Camiel Vanderhoeven 21-JAN-2008 File created. Contains code based upon the SIMH Alpha pre- implementation, which is Copyright (c) 2003, Robert M Supnik.

Definition in file AlphaCPU_ieeefloat.cpp.

#include "StdAfx.h"
#include "AlphaCPU.h"
#include "cpu_debug.h"

Go to the source code of this file.

Defines

#define QNAN   U64(0x0008000000000000)
#define CQNAN   U64(0xFFF8000000000000)
#define FPZERO   U64(0x0000000000000000)
#define FMZERO   U64(0x8000000000000000)
#define FPINF   U64(0x7FF0000000000000)
#define FMINF   U64(0xFFF0000000000000)
#define FPMAX   U64(0x7FFFFFFFFFFFFFFF)
#define FMMAX   U64(0xFFFFFFFFFFFFFFFF)
#define IPMAX   U64(0x7FFFFFFFFFFFFFFF)
#define IMMAX   U64(0x8000000000000000)
#define UF_SRND   U64(0x0000008000000000)
#define UF_SINF   U64(0x000000FFFFFFFFFF)
#define UF_TRND   U64(0x0000000000000400)
#define UF_TINF   U64(0x00000000000007FF)


Define Documentation

#define CQNAN   U64(0xFFF8000000000000)

#define FMINF   U64(0xFFF0000000000000)

#define FMMAX   U64(0xFFFFFFFFFFFFFFFF)

Definition at line 152 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_rpack().

#define FMZERO   U64(0x8000000000000000)

Definition at line 148 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_fdiv(), and CAlphaCPU::ieee_fmul().

#define FPINF   U64(0x7FF0000000000000)

#define FPMAX   U64(0x7FFFFFFFFFFFFFFF)

Definition at line 151 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_rpack().

#define FPZERO   U64(0x0000000000000000)

Definition at line 147 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_fdiv(), and CAlphaCPU::ieee_fmul().

#define IMMAX   U64(0x8000000000000000)

Definition at line 154 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_cvtfi(), and CAlphaCPU::vax_cvtfi().

#define IPMAX   U64(0x7FFFFFFFFFFFFFFF)

Definition at line 153 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_cvtfi(), and CAlphaCPU::vax_cvtfi().

#define QNAN   U64(0x0008000000000000)

#define UF_SINF   U64(0x000000FFFFFFFFFF)

Definition at line 158 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_rpack().

#define UF_SRND   U64(0x0000008000000000)

Definition at line 157 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_rpack().

#define UF_TINF   U64(0x00000000000007FF)

Definition at line 160 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_rpack().

#define UF_TRND   U64(0x0000000000000400)

Definition at line 159 of file AlphaCPU_ieeefloat.cpp.

Referenced by CAlphaCPU::ieee_rpack().


SourceForge.net Logo
Project space on SourceForge.net