Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / include / spix_sparc_amodes.h
CommitLineData
920dae64
AT
1/* %COPYRIGHT% */
2/* @(#)spix_sparc_amodes.h 1.7 */
3
4#ifndef spix_sparc_amodes_h_
5#define spix_sparc_amodes_h_
6
7
8/*
9 * amode : SPIX_SPARC_AM_CHAR char print single character "char"
10 * | field format print instruction "field" according to "format"
11 * | SPIX_SPARC_AM_I0 amode print "amode" if i==0 (register mode)
12 * | SPIX_SPARC_AM_I1 amode print "amode" if i==1 (immediate mode)
13 */
14
15#define SPIX_SPARC_AM_CHAR '\''
16
17#define SPIX_SPARC_AM_I0 ':'
18#define SPIX_SPARC_AM_I1 '?'
19
20/*
21 * fields
22 */
23#define SPIX_SPARC_AM_ASI 'a'
24#define SPIX_SPARC_AM_DISP22 'B'
25#define SPIX_SPARC_AM_DISP30 'C'
26#define SPIX_SPARC_AM_IMM22 'i'
27#define SPIX_SPARC_AM_RD 'd'
28#define SPIX_SPARC_AM_RS1 '1'
29#define SPIX_SPARC_AM_RS2 '2'
30#define SPIX_SPARC_AM_RS3 '3'
31#define SPIX_SPARC_AM_SIMM13 'S'
32#define SPIX_SPARC_AM_SHCNT32 '<'
33
34#define SPIX_SPARC_AM_DISP19 'b'
35#define SPIX_SPARC_AM_DISP2_14 'v'
36#define SPIX_SPARC_AM_CC12_11 '7'
37#define SPIX_SPARC_AM_CC21_20 '8'
38#define SPIX_SPARC_AM_CC26_25 '9'
39#define SPIX_SPARC_AM_SHCNT64 '>'
40#define SPIX_SPARC_AM_SIMM10 'm'
41#define SPIX_SPARC_AM_SIMM11 'M'
42
43/*
44 * formats
45 */
46#define SPIX_SPARC_AM_IMM 'u' /* unsigned immediate constant */
47#define SPIX_SPARC_AM_SIMM 's' /* signed immediate constant */
48#define SPIX_SPARC_AM_HI 'h' /* %hi immediate constant */
49#define SPIX_SPARC_AM_REG 'r' /* integer register # */
50#define SPIX_SPARC_AM_FREGS 'f' /* single fp register # */
51#define SPIX_SPARC_AM_FREGD 'd' /* double fp register # */
52#define SPIX_SPARC_AM_FREGQ 'q' /* quad fp register # */
53#define SPIX_SPARC_AM_PC '.' /* pc relative */
54#define SPIX_SPARC_AM_ASR 'a' /* ancillary state register # */
55
56#define SPIX_SPARC_AM_ICC 'I' /* integer condition code */
57#define SPIX_SPARC_AM_FCC 'F' /* fp condition code */
58#define SPIX_SPARC_AM_PR 'p' /* privileged register # */
59#define SPIX_SPARC_AM_HPR 'H' /* hyperprivileged register # */
60
61/*
62** Return string encoding address modes for given iop.
63*/
64const char *
65spix_sparc_iop_amode(spix_sparc_iop_t iop);
66
67/*
68** Auxiliary disassembling function
69*/
70size_t spix_sparc_sdasam (
71 char * pbuf,
72 spix_sparc_inst_t inst,
73 spix_addr64_t pc,
74 const char * am);
75
76
77#endif /*amodes_h_*/