cpu_fp_branch.h File Reference


Detailed Description

Contains code macros for the processor floating-point branch instructions.

Based on ARM chapter 4.9.

Id
cpu_fp_branch.h,v 1.13 2008/03/14 15:30:52 iamcamiel Exp

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

X-1.11 Brian Wheeler 27-FEB-2008 Avoid compiler warnings.

X-1.10 Camiel Vanderhoeven 06-FEB-2008 Check for FPEN in old floating point code.

X-1.9 Camiel Vanderhoeven 05-FEB-2008 Only use new floating-point code when HAVE_NEW_FP has been defined.

X-1.8 Camiel Vanderhoeven 30-JAN-2008 Always use set_pc or add_pc to change the program counter.

X-1.7 Camiel Vanderhoeven 30-JAN-2008 Remember number of instructions left in current memory page, so that the translation-buffer doens't need to be consulted on every instruction fetch when the Icache is disabled.

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

X-1.5 Camiel Vanderhoeven 22-JAN-2008 Implement new floating-point code.

X-1.4 Camiel Vanderhoeven 11-APR-2007 Moved all data that should be saved to a state file to a structure "state".

X-1.3 Camiel Vanderhoeven 30-MAR-2007 Added old changelog comments.

X-1.2 Camiel Vanderhoeven 13-MAR-2007 Basic floating point support added.

X-1.1 Camiel Vanderhoeven 18-FEB-2007 File created. Contains code previously found in AlphaCPU.h

Definition in file cpu_fp_branch.h.

Go to the source code of this file.

Defines

#define DO_FBEQ
#define DO_FBGE
#define DO_FBGT
#define DO_FBLE
#define DO_FBLT
#define DO_FBNE


Define Documentation

#define DO_FBEQ

Value:

FPSTART;                        \
  if(state.f[FREG_1] == U64(0x0000000000000000) \
   || state.f[FREG_1] == U64(0x8000000000000000)) add_pc(DISP_21 * 4);

Definition at line 103 of file cpu_fp_branch.h.

#define DO_FBGE

Value:

FPSTART;                          \
  if(!(state.f[FREG_1] & U64(0x8000000000000000)) \
   || state.f[FREG_1] == U64(0x8000000000000000)) add_pc(DISP_21 * 4);

Definition at line 106 of file cpu_fp_branch.h.

#define DO_FBGT

Value:

FPSTART;                          \
  if(!(state.f[FREG_1] & U64(0x8000000000000000)) \
   && state.f[FREG_1] != U64(0x0000000000000000)) add_pc(DISP_21 * 4);

Definition at line 109 of file cpu_fp_branch.h.

#define DO_FBLE

Value:

FPSTART;                         \
  if((state.f[FREG_1] & U64(0x8000000000000000)) \
   || state.f[FREG_1] == U64(0x0000000000000000)) add_pc(DISP_21 * 4);

Definition at line 112 of file cpu_fp_branch.h.

#define DO_FBLT

Value:

FPSTART;                         \
  if((state.f[FREG_1] & U64(0x8000000000000000)) \
   && state.f[FREG_1] != U64(0x8000000000000000)) add_pc(DISP_21 * 4);

Definition at line 115 of file cpu_fp_branch.h.

#define DO_FBNE

Value:

FPSTART;                        \
  if(state.f[FREG_1] != U64(0x0000000000000000) \
   && state.f[FREG_1] != U64(0x8000000000000000)) add_pc(DISP_21 * 4);

Definition at line 118 of file cpu_fp_branch.h.


SourceForge.net Logo
Project space on SourceForge.net