• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/elements/genericProc/FE/fuClasses.h

00001 // Copyright 2007 Sandia Corporation. Under the terms
00002 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
00003 // Government retains certain rights in this software.
00004 // 
00005 // Copyright (c) 2007, Sandia Corporation
00006 // All rights reserved.
00007 // 
00008 // This file is part of the SST software package. For license
00009 // information, see the LICENSE file in the top level directory of the
00010 // distribution.
00011 
00012 
00013 #ifndef FUCLASSES_H
00014 #define FUCLASSES_H
00015 
00016 /* function unit classes, update md_fu2name in individual front-ends if you update this definition */
00017 enum md_fu_class {
00018   FUClass_NA = 0,       /* inst does not use a functional unit */
00019   IntALU=0x1,           /* integer ALU */
00020   IntMULT=0x2,          /* integer multiplier */
00021   IntDIV=0x4,           /* integer divider */
00022   FloatADD=0x8,         /* floating point adder/subtractor */
00023   FloatCMP=0x10,                /* floating point comparator */
00024   FloatCVT=0x20,                /* floating point<->integer converter */
00025   FloatMULT=0x40,               /* floating point multiplier */
00026   FloatDIV=0x80,                /* floating point divider */
00027   FloatSQRT=0x100,              /* floating point square root */
00028   RdPort=0x200,         /* memory read port */
00029   WrPort=0x400,         /* memory write port */
00030   NUM_FU_CLASSES=0x800  /* total functional unit classes */
00031 };
00032 
00033 #define F_ICOMP         0x00000001      /* integer computation */
00034 #define F_FCOMP         0x00000002      /* FP computation */
00035 #define F_CTRL          0x00000004      /* control inst */
00036 #define F_UNCOND        0x00000008      /*   unconditional change */
00037 #define F_COND          0x00000010      /*   conditional change */
00038 #define F_MEM           0x00000020      /* memory access inst */
00039 #define F_LOAD          0x00000040      /*   load inst */
00040 #define F_STORE         0x00000080      /*   store inst */
00041 #define F_DISP          0x00000100      /*   displaced (R+C) addr mode */
00042 #define F_RR            0x00000200      /*   R+R addr mode */
00043 #define F_DIRECT        0x00000400      /*   direct addressing mode */
00044 #define F_TRAP          0x00000800      /* traping inst */
00045 #define F_LONGLAT       0x00001000      /* long latency inst (for sched) */
00046 #define F_DIRJMP        0x00002000      /* direct jump */
00047 #define F_INDIRJMP      0x00004000      /* indirect jump */
00048 #define F_CALL          0x00008000      /* function call */
00049 #define F_FPCOND        0x00010000      /* FP conditional branch */
00050 #define F_IMM           0x00020000      /* instruction has immediate operand */
00051 #define F_VEC           0x00040000      /* Vector */
00052 #define F_SYNC          0x00080000      /* PPC-style Sync instruction */
00053 #define F_WACILOAD      0x00100000      /* WACI Load */
00054 
00055 #endif

Generated on Fri Oct 22 2010 11:02:21 for SST by  doxygen 1.7.1