Handle -m680[01234]0-wrs as specific vxworks68 targets. With -nfp,
[deliverable/binutils-gdb.git] / gdb / i860-opcode.h
1 /* Intel i860 opcode structures for GDB, the GNU debugger.
2 Copyright status of this module is unclear!!!
3 Copyright (C) 1992 Free Software Foundation, Inc.
4 SVR4 changes Contributed by Peggy Fieland (pfieland@stratus.com)
5
6 GDB is distributed in the hope that it will be useful, but WITHOUT ANY
7 WARRANTY. No author or distributor accepts responsibility to anyone
8 for the consequences of using it or for whether it serves any
9 particular purpose or works at all, unless he says so in writing.
10 Refer to the GDB General Public License for full details.
11
12 Everyone is granted permission to copy, modify and redistribute GDB,
13 but only under the conditions described in the GDB General Public
14 License. A copy of this license is supposed to have been given to you
15 along with GDB so you can know your rights and responsibilities. It
16 should be in a file named COPYING. Among other things, the copyright
17 notice and this notice must be preserved on all copies.
18
19 In other words, go ahead and share GDB, but don't try to stop
20 anyone else from sharing it farther. Help stamp out software hoarding!
21 */
22
23 #ifdef BIG_ENDIAN
24 struct gen_fmt
25 {
26 unsigned op1 : 6;
27 unsigned src2 : 5;
28 unsigned dest : 5;
29 unsigned src1 : 5;
30 unsigned offset : 11;
31 };
32
33 struct geni_fmt
34 {
35 unsigned op1 : 6;
36 unsigned src2 : 5;
37 unsigned dest : 5;
38 unsigned offset : 16;
39 };
40
41 struct esc_fmt
42 {
43 unsigned op1 : 6;
44 unsigned res1 : 10;
45 unsigned src1 : 5;
46 unsigned res2 : 6;
47 unsigned op2 : 5;
48 };
49 struct ctrl_fmt
50 {
51 unsigned op1 : 6;
52 unsigned int offset : 26;
53 };
54
55 struct fp_fmt
56 {
57 unsigned op1 : 6;
58 unsigned src2 : 5;
59 unsigned dest : 5;
60 unsigned src1 : 5;
61 unsigned p : 1;
62 unsigned d : 1;
63 unsigned s : 1;
64 unsigned r : 1;
65 unsigned op2 : 7;
66 };
67
68 union insn_fmt
69 {
70 struct gen_fmt gen;
71 struct geni_fmt geni;
72 struct esc_fmt esc;
73 struct ctrl_fmt ctrl;
74 struct fp_fmt fp;
75 long int_val;
76 };
77 #else
78 struct gen_fmt
79 {
80 unsigned offset : 11;
81 unsigned src1 : 5;
82 unsigned dest : 5;
83 unsigned src2 : 5;
84 unsigned op1 : 6;
85 };
86
87 struct geni_fmt
88 {
89 unsigned offset : 16;
90 unsigned dest : 5;
91 unsigned src2 : 5;
92 unsigned op1 : 6;
93 };
94
95 struct esc_fmt
96 {
97 unsigned op2 : 5;
98 unsigned res2 : 6;
99 unsigned src1 : 5;
100 unsigned res1 : 10;
101 unsigned op1 : 6;
102 };
103 struct ctrl_fmt
104 {
105 unsigned int offset : 26;
106 unsigned op1 : 6;
107 };
108
109 struct fp_fmt
110 {
111 unsigned op2 : 7;
112 unsigned r : 1;
113 unsigned s : 1;
114 unsigned d : 1;
115 unsigned p : 1;
116 unsigned src1 : 5;
117 unsigned dest : 5;
118 unsigned src2 : 5;
119 unsigned op1 : 6;
120 };
121
122 union insn_fmt
123 {
124 struct gen_fmt gen;
125 struct geni_fmt geni;
126 struct esc_fmt esc;
127 struct ctrl_fmt ctrl;
128 struct fp_fmt fp;
129 long int_val;
130 };
131 #endif
132
133 typedef enum
134 {
135 Error, not_branch, uncond, uncond_d, cond, cond_d
136 } branch_type;
137
138
This page took 0.031473 seconds and 4 git commands to generate.