osprey/common/com/x8664/targ_sim.h File Reference

#include "targ_sim_core.h"

Include dependency graph for targ_sim.h:

Go to the source code of this file.

Defines

#define Int_Preg_Min_Offset   1
#define Int_Preg_Max_Offset   16
#define Float_Preg_Min_Offset   17
#define Float_Preg_Max_Offset   32
#define X87_Preg_Min_Offset   33
#define X87_Preg_Max_Offset   40
#define MMX_Preg_Min_Offset   41
#define MMX_Preg_Max_Offset   48
#define Last_Dedicated_Preg_Offset   MMX_Preg_Max_Offset
#define First_Int_Preg_Return_Offset   RAX
#define Last_Int_Preg_Return_Offset   RDX
#define First_Float_Preg_Return_Offset   XMM0
#define Last_Float_Preg_Return_Offset   XMM1
#define Stack_Pointer_Preg_Offset   RSP
#define Frame_Pointer_Preg_Offset   RBP
#define First_Int_Preg_Param_Offset   RDI
#define Last_Int_Preg_Param_Offset   R9
#define First_Float_Preg_Param_Offset   XMM0
#define Last_Float_Preg_Param_Offset   XMM7
#define First_X87_Preg_Return_Offset   ST0
#define Last_X87_Preg_Return_Offset   ST1
#define First_MMX_Preg_Return_Offset   MM0
#define Last_MMX_Preg_Return_Offset   MM1
#define Static_Link_Preg_Offset   ( Is_Target_64bit() ? R10 : RCX )
#define MAX_NUMBER_OF_REGISTERS_FOR_RETURN   2
#define MAX_NUMBER_OF_REGISTER_PARAMETERS   14
#define MAX_NUMBER_OF_INT_REGISTER_PARAMETERS   ( Is_Target_64bit() ? 6 : 0 )
#define MAX_NUMBER_OF_FLOAT_REGISTER_PARAMETERS   ( Is_Target_64bit() ? 8 : 0 )
#define PUSH_RETURN_ADDRESS_ON_STACK   TRUE
#define PUSH_FRAME_POINTER_ON_STACK   TRUE
#define USE_HIGH_LEVEL_PROCEDURE_EXIT   TRUE
#define MAX_CLASSES   2

Enumerations

enum  {
  RAX = 1, RBX, RBP, RSP,
  RDI, RSI, RDX, RCX,
  R8, R9, R10, R11,
  R12, R13, R14, R15,
  XMM0, XMM1, XMM2, XMM3,
  XMM4, XMM5, XMM6, XMM7,
  XMM8, XMM9, XMM10, XMM11,
  XMM12, XMM13, XMM14, XMM15,
  ST0, ST1, ST2, ST3,
  ST4, ST5, ST6, ST7,
  MM0, MM1, MM2, MM3,
  MM4, MM5, MM6, MM7
}
enum  X86_64_PARM_CLASS {
  X86_64_NO_CLASS, X86_64_INTEGER_CLASS, X86_64_SSE_CLASS, X86_64_MEMORY_CLASS,
  X86_64_X87_CLASS, X86_64_X87UP_CLASS, X86_64_SSEUP_CLASS
}

Functions/Subroutines

INT Classify_Aggregate (const TY_IDX ty, enum X86_64_PARM_CLASS classes[MAX_CLASSES])


Define Documentation

#define First_Float_Preg_Param_Offset   XMM0

Definition at line 78 of file targ_sim.h.

#define First_Float_Preg_Return_Offset   XMM0

Definition at line 72 of file targ_sim.h.

#define First_Int_Preg_Param_Offset   RDI

Definition at line 76 of file targ_sim.h.

#define First_Int_Preg_Return_Offset   RAX

Definition at line 70 of file targ_sim.h.

#define First_MMX_Preg_Return_Offset   MM0

Definition at line 82 of file targ_sim.h.

Referenced by Is_Formal_Preg(), and Is_Return_Preg().

#define First_X87_Preg_Return_Offset   ST0

Definition at line 80 of file targ_sim.h.

Referenced by Get_Return_Info(), Is_Return_Preg(), lower_bit_field_id(), and lower_return_ldid().

#define Float_Preg_Max_Offset   32

Definition at line 54 of file targ_sim.h.

#define Float_Preg_Min_Offset   17

Definition at line 53 of file targ_sim.h.

#define Frame_Pointer_Preg_Offset   RBP

Definition at line 75 of file targ_sim.h.

#define Int_Preg_Max_Offset   16

Definition at line 52 of file targ_sim.h.

#define Int_Preg_Min_Offset   1

Definition at line 51 of file targ_sim.h.

#define Last_Dedicated_Preg_Offset   MMX_Preg_Max_Offset

Definition at line 59 of file targ_sim.h.

#define Last_Float_Preg_Param_Offset   XMM7

Definition at line 79 of file targ_sim.h.

Referenced by Is_Formal_Preg().

#define Last_Float_Preg_Return_Offset   XMM1

Definition at line 73 of file targ_sim.h.

#define Last_Int_Preg_Param_Offset   R9

Definition at line 77 of file targ_sim.h.

Referenced by Is_Formal_Preg().

#define Last_Int_Preg_Return_Offset   RDX

Definition at line 71 of file targ_sim.h.

#define Last_MMX_Preg_Return_Offset   MM1

Definition at line 83 of file targ_sim.h.

Referenced by Is_Formal_Preg(), and Is_Return_Preg().

#define Last_X87_Preg_Return_Offset   ST1

Definition at line 81 of file targ_sim.h.

Referenced by Get_Return_Info(), and Is_Return_Preg().

#define MAX_CLASSES   2

#define MAX_NUMBER_OF_FLOAT_REGISTER_PARAMETERS   ( Is_Target_64bit() ? 8 : 0 )

Definition at line 90 of file targ_sim.h.

#define MAX_NUMBER_OF_INT_REGISTER_PARAMETERS   ( Is_Target_64bit() ? 6 : 0 )

Definition at line 88 of file targ_sim.h.

#define MAX_NUMBER_OF_REGISTER_PARAMETERS   14

Definition at line 87 of file targ_sim.h.

#define MAX_NUMBER_OF_REGISTERS_FOR_RETURN   2

Definition at line 86 of file targ_sim.h.

#define MMX_Preg_Max_Offset   48

Definition at line 58 of file targ_sim.h.

#define MMX_Preg_Min_Offset   41

Definition at line 57 of file targ_sim.h.

Referenced by CGTARG_Preg_Register_And_Class().

#define PUSH_FRAME_POINTER_ON_STACK   TRUE

Definition at line 94 of file targ_sim.h.

#define PUSH_RETURN_ADDRESS_ON_STACK   TRUE

Definition at line 93 of file targ_sim.h.

#define Stack_Pointer_Preg_Offset   RSP

Definition at line 74 of file targ_sim.h.

#define Static_Link_Preg_Offset   ( Is_Target_64bit() ? R10 : RCX )

Definition at line 84 of file targ_sim.h.

#define USE_HIGH_LEVEL_PROCEDURE_EXIT   TRUE

Definition at line 95 of file targ_sim.h.

#define X87_Preg_Max_Offset   40

Definition at line 56 of file targ_sim.h.

#define X87_Preg_Min_Offset   33

Definition at line 55 of file targ_sim.h.

Referenced by CGTARG_Preg_Register_And_Class(), and ir_put_wn().


Enumeration Type Documentation

anonymous enum

Enumerator:
RAX 
RBX 
RBP 
RSP 
RDI 
RSI 
RDX 
RCX 
R8 
R9 
R10 
R11 
R12 
R13 
R14 
R15 
XMM0 
XMM1 
XMM2 
XMM3 
XMM4 
XMM5 
XMM6 
XMM7 
XMM8 
XMM9 
XMM10 
XMM11 
XMM12 
XMM13 
XMM14 
XMM15 
ST0 
ST1 
ST2 
ST3 
ST4 
ST5 
ST6 
ST7 
MM0 
MM1 
MM2 
MM3 
MM4 
MM5 
MM6 
MM7 

Definition at line 62 of file targ_sim.h.

Enumerator:
X86_64_NO_CLASS 
X86_64_INTEGER_CLASS 
X86_64_SSE_CLASS 
X86_64_MEMORY_CLASS 
X86_64_X87_CLASS 
X86_64_X87UP_CLASS 
X86_64_SSEUP_CLASS 

Definition at line 101 of file targ_sim.h.


Function Documentation

INT Classify_Aggregate ( const TY_IDX  ty,
enum X86_64_PARM_CLASS  classes[MAX_CLASSES] 
)


Generated on Wed Apr 8 14:39:27 2009 for Open64 by  doxygen 1.5.6