Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / include / spix_sparc_amodes.h
/* %COPYRIGHT% */
/* @(#)spix_sparc_amodes.h 1.7 */
#ifndef spix_sparc_amodes_h_
#define spix_sparc_amodes_h_
/*
* amode : SPIX_SPARC_AM_CHAR char print single character "char"
* | field format print instruction "field" according to "format"
* | SPIX_SPARC_AM_I0 amode print "amode" if i==0 (register mode)
* | SPIX_SPARC_AM_I1 amode print "amode" if i==1 (immediate mode)
*/
#define SPIX_SPARC_AM_CHAR '\''
#define SPIX_SPARC_AM_I0 ':'
#define SPIX_SPARC_AM_I1 '?'
/*
* fields
*/
#define SPIX_SPARC_AM_ASI 'a'
#define SPIX_SPARC_AM_DISP22 'B'
#define SPIX_SPARC_AM_DISP30 'C'
#define SPIX_SPARC_AM_IMM22 'i'
#define SPIX_SPARC_AM_RD 'd'
#define SPIX_SPARC_AM_RS1 '1'
#define SPIX_SPARC_AM_RS2 '2'
#define SPIX_SPARC_AM_RS3 '3'
#define SPIX_SPARC_AM_SIMM13 'S'
#define SPIX_SPARC_AM_SHCNT32 '<'
#define SPIX_SPARC_AM_DISP19 'b'
#define SPIX_SPARC_AM_DISP2_14 'v'
#define SPIX_SPARC_AM_CC12_11 '7'
#define SPIX_SPARC_AM_CC21_20 '8'
#define SPIX_SPARC_AM_CC26_25 '9'
#define SPIX_SPARC_AM_SHCNT64 '>'
#define SPIX_SPARC_AM_SIMM10 'm'
#define SPIX_SPARC_AM_SIMM11 'M'
/*
* formats
*/
#define SPIX_SPARC_AM_IMM 'u' /* unsigned immediate constant */
#define SPIX_SPARC_AM_SIMM 's' /* signed immediate constant */
#define SPIX_SPARC_AM_HI 'h' /* %hi immediate constant */
#define SPIX_SPARC_AM_REG 'r' /* integer register # */
#define SPIX_SPARC_AM_FREGS 'f' /* single fp register # */
#define SPIX_SPARC_AM_FREGD 'd' /* double fp register # */
#define SPIX_SPARC_AM_FREGQ 'q' /* quad fp register # */
#define SPIX_SPARC_AM_PC '.' /* pc relative */
#define SPIX_SPARC_AM_ASR 'a' /* ancillary state register # */
#define SPIX_SPARC_AM_ICC 'I' /* integer condition code */
#define SPIX_SPARC_AM_FCC 'F' /* fp condition code */
#define SPIX_SPARC_AM_PR 'p' /* privileged register # */
#define SPIX_SPARC_AM_HPR 'H' /* hyperprivileged register # */
/*
** Return string encoding address modes for given iop.
*/
const char *
spix_sparc_iop_amode(spix_sparc_iop_t iop);
/*
** Auxiliary disassembling function
*/
size_t spix_sparc_sdasam (
char * pbuf,
spix_sparc_inst_t inst,
spix_addr64_t pc,
const char * am);
#endif /*amodes_h_*/